diff options
| 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 | 
| commit | 67cc4f3e6e8820f0e11078e513bc8ccb2dbdfef3 (patch) | |
| tree | c1270d63d5cecf89291f45e0a5e02d2a7539ab5e | |
| parent | 6b632ad624ca771a6d1fe2dede82e5fa69bb2028 (diff) | |
| download | buildroot-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.in | 4 | ||||
| -rw-r--r-- | toolchain/gdb/gdb.mk | 22 | ||||
| -rw-r--r-- | toolchain/gdb/snapshot/400-mips32r2-rdhwr-disassemble-hack.patch | 12 | 
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	}, | 
