* 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.
This commit is contained in:
Nick Clifton 2011-12-15 11:37:03 +00:00
parent dff55db0d2
commit 83c257caea
4 changed files with 20 additions and 2 deletions

View File

@ -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.

View File

@ -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";

View File

@ -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.

View File

@ -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;
}