summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Barth <cyrus@openwrt.org>2015-07-07 17:30:08 +0000
committerSteven Barth <cyrus@openwrt.org>2015-07-07 17:30:08 +0000
commite71141ef23fadccda68978ef58d459229e360e12 (patch)
tree68e39a744a4402e8388f9b08b779b87a18bab93e
parentd5352182303474edba37d84563e3733457ac8b85 (diff)
downloadmtk-20170518-e71141ef23fadccda68978ef58d459229e360e12.zip
mtk-20170518-e71141ef23fadccda68978ef58d459229e360e12.tar.gz
mtk-20170518-e71141ef23fadccda68978ef58d459229e360e12.tar.bz2
gdb: fix compilation for x86_64 with musl
Signed-off-by: Steven Barth <steven@midlink.org> SVN-Revision: 46249
-rw-r--r--package/devel/gdb/Makefile2
-rw-r--r--package/devel/gdb/patches/101-musl-fix-x86_64.patch64
2 files changed, 65 insertions, 1 deletions
diff --git a/package/devel/gdb/Makefile b/package/devel/gdb/Makefile
index 7d053a9..772d197 100644
--- a/package/devel/gdb/Makefile
+++ b/package/devel/gdb/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=gdb
PKG_VERSION:=7.8
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/gdb
diff --git a/package/devel/gdb/patches/101-musl-fix-x86_64.patch b/package/devel/gdb/patches/101-musl-fix-x86_64.patch
new file mode 100644
index 0000000..e7d380e
--- /dev/null
+++ b/package/devel/gdb/patches/101-musl-fix-x86_64.patch
@@ -0,0 +1,64 @@
+diff -u -r -N gdb-7.3.1-org//gdb/amd64-linux-nat.c gdb-7.3.1-patched//gdb/amd64-linux-nat.c
+--- gdb-7.3.1-org//gdb/amd64-linux-nat.c 1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.3.1-patched//gdb/amd64-linux-nat.c 2011-09-22 22:20:23.438841813 +0000
+@@ -32,7 +32,7 @@
+ #include "elf/common.h"
+ #include <sys/uio.h>
+ #include <sys/ptrace.h>
+-#include <sys/debugreg.h>
++#include "debugreg.h"
+ #include <sys/syscall.h>
+ #include <sys/procfs.h>
+ #include <asm/prctl.h>
+diff -u -r -N gdb-7.3.1-org//gdb/debugreg.h gdb-7.3.1-patched//gdb/debugreg.h
+--- gdb-7.3.1-org//gdb/debugreg.h 1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.3.1-patched//gdb/debugreg.h 2011-09-22 22:20:01.381841813 +0000
+@@ -0,0 +1,48 @@
++#ifndef SYS_DEBUGREG_H
++#define SYS_DEBUGREG_H
++
++#include <stdint.h>
++
++#define DR_FIRSTADDR 0
++#define DR_LASTADDR 3
++
++#define DR_STATUS 6
++#define DR_CONTROL 7
++
++#define DR_TRAP0 (0x1)
++#define DR_TRAP1 (0x2)
++#define DR_TRAP2 (0x4)
++#define DR_TRAP3 (0x8)
++
++#define DR_STEP (0x4000)
++#define DR_SWITCH (0x8000)
++
++#define DR_CONTROL_SHIFT 16
++#define DR_CONTROL_SIZE 4
++
++#define DR_RW_EXECUTE (0x0)
++#define DR_RW_WRITE (0x1)
++#define DR_RW_READ (0x3)
++
++#define DR_LEN_1 (0x0)
++#define DR_LEN_2 (0x4)
++#define DR_LEN_4 (0xC)
++#define DR_LEN_8 (0x8)
++
++#define DR_LOCAL_ENABLE_SHIFT 0
++#define DR_GLOBAL_ENABLE_SHIFT 1
++#define DR_ENABLE_SIZE 2
++
++#define DR_LOCAL_ENABLE_MASK (0x55)
++#define DR_GLOBAL_ENABLE_MASK (0xAA)
++
++
++#if SIZE_MAX > 4294967295
++# define DR_CONTROL_RESERVED (0xFFFFFFFF0000FC00UL)
++#else
++# define DR_CONTROL_RESERVED (0x00FC00U)
++#endif
++#define DR_LOCAL_SLOWDOWN (0x100)
++#define DR_GLOBAL_SLOWDOWN (0x200)
++
++#endif