diff --git a/repos/ports/ports/gdb.hash b/repos/ports/ports/gdb.hash index cf8653239..8798b2eb2 100644 --- a/repos/ports/ports/gdb.hash +++ b/repos/ports/ports/gdb.hash @@ -1 +1 @@ -3952072999371f80ec126fcf842ab167c19cad66 +ca63e9871478fe3c800d7be3a26a5c4093d38f69 diff --git a/tool/patches/gdb-7.3.1/series b/tool/patches/gdb-7.3.1/series index 33f20803b..232641c5e 100644 --- a/tool/patches/gdb-7.3.1/series +++ b/tool/patches/gdb-7.3.1/series @@ -1,2 +1,3 @@ shared_library.patch arm_single_step.patch +x86_64.patch diff --git a/tool/patches/gdb-7.3.1/x86_64.patch b/tool/patches/gdb-7.3.1/x86_64.patch new file mode 100644 index 000000000..272908920 --- /dev/null +++ b/tool/patches/gdb-7.3.1/x86_64.patch @@ -0,0 +1,80 @@ +gdb_x86_64.diff + +From: Christian Prochaska + + +--- + gdb/amd64-tdep.c | 5 +++++ + gdb/defs.h | 1 + + gdb/i386-tdep.c | 5 +++++ + gdb/osabi.c | 6 ++++++ + 4 files changed, 17 insertions(+) + +diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c +index db3821a..5f5e165 100644 +--- a/gdb/amd64-tdep.c ++++ b/gdb/amd64-tdep.c +@@ -2581,6 +2581,11 @@ void _initialize_amd64_tdep (void); + void + _initialize_amd64_tdep (void) + { ++ /* Genode */ ++ gdbarch_register_osabi(bfd_arch_i386, bfd_mach_x86_64, ++ GDB_OSABI_GENODE, amd64_init_abi); ++ /* /Genode */ ++ + initialize_tdesc_amd64 (); + initialize_tdesc_amd64_avx (); + } +diff --git a/gdb/defs.h b/gdb/defs.h +index 9531c5a..7c7258f 100644 +--- a/gdb/defs.h ++++ b/gdb/defs.h +@@ -996,6 +996,7 @@ enum gdb_osabi + GDB_OSABI_DICOS, + GDB_OSABI_DARWIN, + GDB_OSABI_SYMBIAN, ++ GDB_OSABI_GENODE, + + GDB_OSABI_INVALID /* keep this last */ + }; +diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c +index 3c13bea..3aaeec5 100644 +--- a/gdb/i386-tdep.c ++++ b/gdb/i386-tdep.c +@@ -7367,6 +7367,11 @@ is \"default\"."), + gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_GO32, + i386_go32_init_abi); + ++ /* Genode */ ++ gdbarch_register_osabi(bfd_arch_i386, 0, GDB_OSABI_GENODE, ++ i386_elf_init_abi); ++ /* /Genode */ ++ + /* Initialize the i386-specific register groups. */ + i386_init_reggroups (); + +diff --git a/gdb/osabi.c b/gdb/osabi.c +index a264924..c5e1775 100644 +--- a/gdb/osabi.c ++++ b/gdb/osabi.c +@@ -73,6 +73,7 @@ static const char * const gdb_osabi_names[] = + "DICOS", + "Darwin", + "Symbian", ++ "Genode", + + "" + }; +@@ -522,6 +523,11 @@ generic_elf_osabi_sniffer (bfd *abfd) + bfd_map_over_sections (abfd, + generic_elf_osabi_sniff_abi_tag_sections, + &osabi); ++/* Genode */ ++ if (osabi == GDB_OSABI_UNKNOWN) ++ osabi = GDB_OSABI_GENODE; ++/* /Genode */ ++ + break; + + case ELFOSABI_FREEBSD: diff --git a/tool/tool_chain b/tool/tool_chain index 83dc0e7cb..88e0fa999 100755 --- a/tool/tool_chain +++ b/tool/tool_chain @@ -156,8 +156,16 @@ AUTOGEN_OK = $(call check_nonempty_f,$(shell which autogen),\ GPG_OK = $(call check_nonempty_f,$(shell which gpg),\ Need to have 'gpg' installed.) +# +# Check if 'libexpat' is installed +# +EXPAT_OK = $(call check_equal_f,\ + $(shell $(LD) -lexpat -e0 -o /tmp/a.out && echo ok),ok,\ + Need to have 'libexpat' installed.) + + TOOLS_OK = $(AUTOCONF_OK) $(AUTOCONFINST_OK) $(CURSES_OK) \ - $(TEXINFO_OK) $(WGET_OK) $(AUTOGEN_OK) $(GPG_OK) + $(TEXINFO_OK) $(WGET_OK) $(AUTOGEN_OK) $(GPG_OK) $(EXPAT_OK) ifneq ($(strip $(TOOLS_OK)),) $(error Please install missing tools.)