summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2005-08-30 03:37:12 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2005-08-30 03:37:12 +0000
commit67cc4f3e6e8820f0e11078e513bc8ccb2dbdfef3 (patch)
treec1270d63d5cecf89291f45e0a5e02d2a7539ab5e
parent6b632ad624ca771a6d1fe2dede82e5fa69bb2028 (diff)
downloadbuildroot-novena-67cc4f3e6e8820f0e11078e513bc8ccb2dbdfef3.tar.gz
buildroot-novena-67cc4f3e6e8820f0e11078e513bc8ccb2dbdfef3.zip
Add in support for downloading and building the latest snapshot of GDB. If you want to debug NPTL binaries, you'll need the latest and greatest. Patches for 6.3 will be forward ported where applicable later this week.
-rw-r--r--toolchain/gdb/Config.in4
-rw-r--r--toolchain/gdb/gdb.mk22
-rw-r--r--toolchain/gdb/snapshot/400-mips32r2-rdhwr-disassemble-hack.patch12
3 files changed, 35 insertions, 3 deletions
diff --git a/toolchain/gdb/Config.in b/toolchain/gdb/Config.in
index 1e44dbde7..3ca91e97a 100644
--- a/toolchain/gdb/Config.in
+++ b/toolchain/gdb/Config.in
@@ -33,11 +33,15 @@ choice
config BR2_GDB_VERSION_6_3
bool "gdb 6.3"
+ config BR2_GDB_VERSION_SNAPSHOT
+ bool "gdb snapshot"
+
endchoice
config BR2_GDB_VERSION
string
default "6.2.1" if BR2_GDB_VERSION_6_2_1
default "6.3" if BR2_GDB_VERSION_6_3
+ default "snapshot" if BR2_GDB_VERSION_SNAPSHOT
diff --git a/toolchain/gdb/gdb.mk b/toolchain/gdb/gdb.mk
index 86264b583..6ae6fab36 100644
--- a/toolchain/gdb/gdb.mk
+++ b/toolchain/gdb/gdb.mk
@@ -6,17 +6,33 @@
GDB_VERSION:=$(strip $(subst ",, $(BR2_GDB_VERSION)))
#"
+ifeq ($(GDB_VERSION),snapshot)
+# Be aware that this changes daily....
+GDB_SITE:=ftp://sources.redhat.com/pub/gdb/snapshots/current
+GDB_SOURCE:=gdb.tar.bz2
+GDB_CAT:=bzcat
+GDB_DIR:=$(TOOL_BUILD_DIR)/gdb-$(GDB_VERSION)
+else
GDB_SITE:=http://ftp.gnu.org/gnu/gdb
GDB_SOURCE:=gdb-$(GDB_VERSION).tar.bz2
GDB_CAT:=bzcat
GDB_DIR:=$(TOOL_BUILD_DIR)/gdb-$(GDB_VERSION)
+# NOTE: This option should not be used with newer gdb versions.
+DISABLE_GDBMI:=--disable-gdbmi
+endif
+
$(DL_DIR)/$(GDB_SOURCE):
$(WGET) -P $(DL_DIR) $(GDB_SITE)/$(GDB_SOURCE)
$(GDB_DIR)/.unpacked: $(DL_DIR)/$(GDB_SOURCE)
$(GDB_CAT) $(DL_DIR)/$(GDB_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
+ifeq ($(GDB_VERSION),snapshot)
+ GDB_REAL_DIR=$(shell \
+ tar jtf $(DL_DIR)/$(GDB_SOURCE) | head -1 | cut -d"/" -f1)
+ ln -sf $(TOOL_BUILD_DIR)/$(shell tar jtf $(DL_DIR)/$(GDB_SOURCE) | head -1 | cut -d"/" -f1) $(GDB_DIR)
+endif
toolchain/patch-kernel.sh $(GDB_DIR) toolchain/gdb/$(GDB_VERSION) \*.patch
# Copy a config.sub from gcc. This is only necessary until
# gdb's config.sub supports <arch>-linux-uclibc tuples.
@@ -54,7 +70,7 @@ $(GDB_TARGET_DIR)/.configured: $(GDB_DIR)/.unpacked
--target=$(REAL_GNU_TARGET_NAME) \
--prefix=/usr \
$(DISABLE_NLS) \
- --without-uiout --disable-gdbmi \
+ --without-uiout $(DISABLE_GDBMI) \
--disable-tui --disable-gdbtk --without-x \
--disable-sim --enable-gdbserver \
--without-included-gettext \
@@ -111,7 +127,7 @@ $(GDB_SERVER_DIR)/.configured: $(GDB_DIR)/.unpacked
--infodir=/usr/info \
--includedir=$(STAGING_DIR)/include \
$(DISABLE_NLS) \
- --without-uiout --disable-gdbmi \
+ --without-uiout $(DISABLE_GDBMI) \
--disable-tui --disable-gdbtk --without-x \
--without-included-gettext \
);
@@ -155,7 +171,7 @@ $(GDB_CLIENT_DIR)/.configured: $(GDB_DIR)/.unpacked
--host=$(GNU_HOST_NAME) \
--target=$(REAL_GNU_TARGET_NAME) \
$(DISABLE_NLS) \
- --without-uiout --disable-gdbmi \
+ --without-uiout $(DISABLE_GDBMI) \
--disable-tui --disable-gdbtk --without-x \
--without-included-gettext \
--enable-threads \
diff --git a/toolchain/gdb/snapshot/400-mips32r2-rdhwr-disassemble-hack.patch b/toolchain/gdb/snapshot/400-mips32r2-rdhwr-disassemble-hack.patch
new file mode 100644
index 000000000..1d6be1b65
--- /dev/null
+++ b/toolchain/gdb/snapshot/400-mips32r2-rdhwr-disassemble-hack.patch
@@ -0,0 +1,12 @@
+diff -ur gdb-6.3.50.20050827/opcodes/mips-opc.c gdb-6.3.50.20050827-patched/opcodes/mips-opc.c
+--- gdb-6.3.50.20050827/opcodes/mips-opc.c 2005-08-25 13:12:43.000000000 -0500
++++ gdb-6.3.50.20050827-patched/opcodes/mips-opc.c 2005-08-29 17:48:10.000000000 -0500
+@@ -954,7 +954,7 @@
+ {"remu", "z,s,t", 0x0000001b, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, I1 },
+ {"remu", "d,v,t", 0, (int) M_REMU_3, INSN_MACRO, 0, I1 },
+ {"remu", "d,v,I", 0, (int) M_REMU_3I, INSN_MACRO, 0, I1 },
+-{"rdhwr", "t,K", 0x7c00003b, 0xffe007ff, WR_t, 0, I33 },
++{"rdhwr", "t,K", 0x7c00003b, 0xffe007ff, WR_t, 0, I33|I1 },
+ {"rdpgpr", "d,w", 0x41400000, 0xffe007ff, WR_d, 0, I33 },
+ {"rfe", "", 0x42000010, 0xffffffff, 0, 0, I1|T3 },
+ {"rnas.qh", "X,Q", 0x78200025, 0xfc20f83f, WR_D|RD_T|FP_D, RD_MACC, MX },