diff options
author | Nick Clifton <nickc@redhat.com> | 2011-12-15 11:37:03 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2011-12-15 11:37:03 +0000 |
commit | 83c257caead076ef27f229968ad2c3173141c503 (patch) | |
tree | 660897f423b45c749ccee9c1a486b86d73b8b62c | |
parent | dff55db0d28380140e3702f6495498507b2ce0d7 (diff) | |
download | gdb-83c257caead076ef27f229968ad2c3173141c503.zip gdb-83c257caead076ef27f229968ad2c3173141c503.tar.gz gdb-83c257caead076ef27f229968ad2c3173141c503.tar.bz2 |
* readelf.c (get_symbol_type): Add ELFOSABI_FREEBSD to the
supported abi's.
* config/obj-elf.c (obj_elf_type): Add ELFOSABI_FREEBSD to the
supported abi's.
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/readelf.c | 9 | ||||
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/obj-elf.c | 3 |
4 files changed, 20 insertions, 2 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index aeab175..646dd83 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2011-12-15 Andreas Tobler <andreast@fgznet.ch> + + * readelf.c (get_symbol_type): Add ELFOSABI_FREEBSD to the + supported abi's. + 2011-12-13 Tristan Gingold <gingold@adacore.com> * od-macho.c: New file. diff --git a/binutils/readelf.c b/binutils/readelf.c index 70cf852..502c76e 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -6978,7 +6978,7 @@ decode_arm_unwind (struct arm_unw_aux_info * aux, if (elf_header.e_machine == EM_ARM && (word & 0x70000000)) - warn (_("Corrupt ARM compact model table entry (%08x)\n"), word); + warn (_("Corrupt ARM compact model table entry: %x \n"), word); per_index = (word >> 24) & 0x7f; printf (_(" Compact model index: %d\n"), per_index); @@ -7071,6 +7071,12 @@ dump_arm_unwind (struct arm_unw_aux_info *aux, Elf_Internal_Shdr *exidx_sec) return; } + /* ARM EHABI, Section 5: + An index table entry consists of 2 words. + The first word contains a prel31 offset to the start of a function, with bit 31 clear. */ + if (exidx_fn & 0x80000000) + warn (_("corrupt index table entry: %x\n"), exidx_fn); + fn = arm_expand_prel31 (exidx_fn, exidx_sec->sh_addr + 8 * i); arm_print_vma_and_name (aux, fn, fn_addr); @@ -8750,6 +8756,7 @@ get_symbol_type (unsigned int type) if (type == STT_GNU_IFUNC && (elf_header.e_ident[EI_OSABI] == ELFOSABI_GNU + || elf_header.e_ident[EI_OSABI] == ELFOSABI_FREEBSD /* GNU is still using the default value 0. */ || elf_header.e_ident[EI_OSABI] == ELFOSABI_NONE)) return "IFUNC"; diff --git a/gas/ChangeLog b/gas/ChangeLog index 2a996c2..9013449 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2011-12-15 Konstantin Belousov <kib@FreeBSD.org> + + * config/obj-elf.c (obj_elf_type): Add ELFOSABI_FREEBSD to the + supported abi's. + 2011-12-15 Iain Sandoe <iains@gcc.gnu.org> * config/obj-macho.c (obj_mach_o_subsections_by_symbols): New global. diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c index 6e16a62..287de6a 100644 --- a/gas/config/obj-elf.c +++ b/gas/config/obj-elf.c @@ -1702,9 +1702,10 @@ obj_elf_type (int ignore ATTRIBUTE_UNUSED) bed = get_elf_backend_data (stdoutput); if (!(bed->elf_osabi == ELFOSABI_GNU + || bed->elf_osabi == ELFOSABI_FREEBSD /* GNU is still using the default value 0. */ || bed->elf_osabi == ELFOSABI_NONE)) - as_bad (_("symbol type \"%s\" is supported only by GNU targets"), + as_bad (_("symbol type \"%s\" is supported only by GNU and FreeBSD targets"), type_name); type = BSF_FUNCTION | BSF_GNU_INDIRECT_FUNCTION; } |