Nick Clifton
e7c3341679
include/elf/
...
* common.h (STT_IFUNC): Define.
elfcpp/
* elfcpp.h (enum STT): Add STT_IFUNC.
bfd/
* syms.c (struct bfd_symbol): Add new flag BSF_INDIRECT_FUNCTION.
Remove redundant flag BFD_FORT_COMM_DEFAULT_VALUE. Renumber flags
to remove gaps.
(bfd_print_symbol_vandf): Return 'i' for BSF_INDIRECT_FUNCTION.
(bfd_decode_symclass): Likewise.
* elf.c (swap_out_syms): Translate BSF_INDIRECT_FUNCTION into
STT_IFUNC.
(elf_find_function): Treat STT_IFUNC in the same way as STT_FUNC.
(_bfd_elf_is_function_type): Likewise.
* elf32-arm.c (arm_elf_find_function): Likewise.
(elf32_arm_adjust_dynamic_symbol): Likewise.
(elf32_arm_swap_symbol_in): Likewise.
(elf32_arm_additional_program_headers): Likewise.
* elf32-i386.c (is_indirect_symbol): New function.
(elf_i386_check_relocs): Also generate dynamic relocs for
relocations against STT_IFUNC symbols.
(allocate_dynrelocs): Likewise.
(elf_i386_relocate_section): Likewise.
* elf64-x86-64.c (is_indirect_symbol): New function.
(elf64_x86_64_check_relocs): Also generate dynamic relocs for
relocations against STT_IFUNC symbols.
(allocate_dynrelocs): Likewise.
(elf64_x86_64_relocate_section): Likewise.
* elfcode.h (elf_slurp_symbol_table): Translate STT_IFUNC into
BSF_INDIRECT_FUNCTION.
* elflink.c (_bfd_elf_adjust_dynamic_reloc_section): Add support
for STT_IFUNC symbols.
(get_ifunc_reloc_section_name): New function.
(_bfd_elf_make_ifunc_reloc_section): New function.
* elf-bfd.h (struct bfd_elf_section_data): Add indirect_relocs field.
* bfd-in2.h: Regenerate.
gas/
* config/obj-elf.c (obj_elf_type): Add support for STT_IFUNC type.
* doc/as.texinfo: Document new feature.
* NEWS: Mention new feature.
gas/testsuite/
* gas/elf/type.s: Add test of STT_IFUNC symbol type.
* gas/elf/type.e: Update expected disassembly.
* gas/elf/elf.exp: Update grep of symbol types.
ld/
* NEWS: Mention new feature.
* pe-dll.c (process_def_file): Replace use of redundant
BFD_FORT_COMM_DEFAULT_VALUE with 0.
* scripttempl/elf.sc: Add .rel.ifunc.dyn and .rela.ifunc.dyn
sections.
ld/testsuite/
* ld-mips-elf/reloc-1-n32.d: Updated expected output for reloc
descriptions.
* ld-mips-elf/reloc-1-n64.d: Likewise.
* ld-i386/ifunc.d: New test.
* ld-i386/ifunc.s: Source file for the new test.
* ld-i386/i386.exp: Run the new test.
2008-12-03 14:51:00 +00:00
..
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-11-17 13:38:57 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-11-17 13:38:57 +00:00
2007-11-17 13:38:57 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-11-17 13:38:57 +00:00
2007-11-17 13:38:57 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-11-17 13:38:57 +00:00
2007-11-17 13:38:57 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-06-29 16:41:32 +00:00
2007-11-17 13:38:57 +00:00
2007-11-17 13:38:57 +00:00
2007-11-17 13:38:57 +00:00
2007-11-17 13:38:57 +00:00
2007-11-17 13:38:57 +00:00
2007-11-17 13:38:57 +00:00
2007-11-17 13:38:57 +00:00
2007-11-17 13:38:57 +00:00
2007-11-17 13:38:57 +00:00
2006-10-16 21:34:25 +00:00
2008-03-21 16:29:26 +00:00
2008-03-21 16:29:26 +00:00
2008-03-21 16:29:26 +00:00
2008-10-06 16:27:35 +00:00
2008-10-06 16:27:35 +00:00
2005-01-31 20:39:11 +00:00
2005-01-31 20:39:11 +00:00
2008-10-06 16:27:35 +00:00
2008-10-06 16:27:35 +00:00
2008-10-06 16:27:35 +00:00
2008-10-06 16:27:35 +00:00
2006-10-18 07:13:47 +00:00
2008-03-20 10:52:14 +00:00
2008-03-20 10:52:14 +00:00
2006-10-18 07:13:47 +00:00
2008-03-20 10:52:14 +00:00
2008-03-20 10:52:14 +00:00
2006-03-14 07:47:49 +00:00
2006-03-14 07:47:49 +00:00
2006-03-14 07:47:49 +00:00
2006-03-14 07:47:49 +00:00
2008-08-07 20:01:14 +00:00
2008-03-20 10:53:11 +00:00
2008-03-20 10:53:11 +00:00
2008-08-07 20:01:14 +00:00
2008-03-20 10:53:11 +00:00
2008-03-20 10:53:11 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2008-08-07 19:58:38 +00:00
2008-08-07 19:58:38 +00:00
2008-08-07 19:58:38 +00:00
2008-08-07 19:58:38 +00:00
2008-08-07 19:58:38 +00:00
2008-08-07 19:58:38 +00:00
2006-07-29 08:48:15 +00:00
2006-07-29 08:48:15 +00:00
2006-07-29 08:48:15 +00:00
2006-07-29 08:48:15 +00:00
2006-10-16 21:34:25 +00:00
2004-12-09 07:14:53 +00:00
2006-10-16 21:34:25 +00:00
2004-12-14 09:48:20 +00:00
2006-07-20 16:46:30 +00:00
2006-07-25 16:45:55 +00:00
2006-07-25 16:45:55 +00:00
2006-07-25 16:45:55 +00:00
2005-02-15 19:57:54 +00:00
2005-02-15 19:57:54 +00:00
2005-02-15 19:57:54 +00:00
2005-02-15 19:57:54 +00:00
2006-11-02 15:20:31 +00:00
2006-11-02 15:20:31 +00:00
2008-08-06 19:44:47 +00:00
2008-08-06 19:44:47 +00:00
2007-06-25 10:13:57 +00:00
2008-08-06 19:44:47 +00:00
2008-08-06 19:44:47 +00:00
2008-08-06 19:44:47 +00:00
2008-08-06 19:44:47 +00:00
2008-08-06 19:44:47 +00:00
2008-08-06 19:44:47 +00:00
2008-08-06 19:44:47 +00:00
2008-08-06 19:44:47 +00:00
2008-08-07 20:01:14 +00:00
2008-08-07 20:01:14 +00:00
2008-08-07 20:01:14 +00:00
2008-08-07 20:01:14 +00:00
2008-08-06 19:44:47 +00:00
2008-08-06 19:44:47 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-18 18:14:05 +00:00
2008-08-18 18:14:05 +00:00
2008-08-18 18:14:05 +00:00
2008-08-18 18:14:05 +00:00
2008-08-18 18:14:05 +00:00
2008-08-18 18:14:05 +00:00
2008-08-18 18:14:05 +00:00
2008-08-18 18:14:05 +00:00
2005-03-02 21:22:57 +00:00
2007-07-06 14:09:45 +00:00
2008-08-18 18:14:05 +00:00
2005-03-02 21:22:57 +00:00
2007-11-14 20:46:15 +00:00
2007-10-12 17:07:04 +00:00
2007-10-12 17:07:04 +00:00
2007-10-12 17:07:04 +00:00
2007-10-12 17:07:04 +00:00
2005-03-05 00:01:44 +00:00
2005-03-05 00:01:44 +00:00
2007-11-14 20:46:15 +00:00
2008-07-10 19:06:54 +00:00
2008-07-10 19:06:54 +00:00
2008-07-10 19:06:54 +00:00
2008-07-10 19:06:54 +00:00
2008-07-10 19:06:54 +00:00
2008-07-10 19:06:54 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2008-08-08 19:24:49 +00:00
2006-10-20 07:57:03 +00:00
2006-10-20 07:57:03 +00:00
2006-10-20 07:57:03 +00:00
2008-08-06 19:49:06 +00:00
2008-08-06 19:49:06 +00:00
2008-12-03 14:51:00 +00:00
2008-12-03 14:51:00 +00:00
2006-10-16 21:34:25 +00:00
2006-10-16 21:34:25 +00:00
2007-08-01 17:41:30 +00:00
2007-08-01 17:41:30 +00:00
2007-08-01 17:41:30 +00:00
2007-08-01 17:41:30 +00:00
2008-09-20 09:47:43 +00:00
2008-08-07 19:50:05 +00:00
2008-08-07 19:50:05 +00:00
2008-08-07 19:50:05 +00:00
2005-02-22 23:54:41 +00:00
2006-06-11 08:33:27 +00:00
2006-06-11 08:33:27 +00:00
2006-06-11 08:33:27 +00:00
2006-06-11 08:33:27 +00:00
2006-06-11 08:33:27 +00:00
2006-06-11 08:33:27 +00:00
2006-06-11 08:33:27 +00:00
2006-10-19 13:42:17 +00:00
2005-03-24 01:30:47 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2006-02-04 08:29:58 +00:00
2006-02-04 08:29:58 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2008-08-06 19:49:06 +00:00
2007-11-14 20:46:15 +00:00
2006-03-27 11:30:54 +00:00
2006-03-27 11:30:54 +00:00
2008-08-07 20:01:14 +00:00
2008-08-07 20:01:14 +00:00
2006-03-27 11:30:54 +00:00
2006-03-27 11:30:54 +00:00
2005-03-02 21:22:57 +00:00
2005-03-02 21:22:57 +00:00
2007-11-14 20:46:15 +00:00
2008-08-06 19:49:06 +00:00
2008-08-06 19:49:06 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2005-03-02 21:22:57 +00:00
2008-08-06 19:49:06 +00:00
2007-11-14 20:46:15 +00:00
2008-08-07 19:57:28 +00:00
2008-08-07 19:57:28 +00:00
2005-03-02 21:22:57 +00:00
2008-08-07 19:57:28 +00:00
2008-08-07 19:57:28 +00:00
2008-08-06 19:49:06 +00:00
2007-11-14 20:46:15 +00:00
2005-03-02 21:22:57 +00:00
2005-03-02 21:22:57 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2007-11-14 20:46:15 +00:00
2005-03-02 21:22:57 +00:00
2005-03-02 21:22:57 +00:00
2007-08-13 21:16:39 +00:00
2006-03-22 09:28:15 +00:00
2007-08-13 21:16:39 +00:00
2006-03-22 09:28:15 +00:00
2007-04-12 19:26:09 +00:00
2007-08-17 13:22:44 +00:00
2006-03-22 09:28:15 +00:00
2007-05-15 12:22:34 +00:00
2007-05-15 12:22:34 +00:00
2006-03-22 09:28:15 +00:00
2006-03-22 09:28:15 +00:00
2006-03-22 09:28:15 +00:00
2006-03-22 09:28:15 +00:00
2007-08-13 21:16:39 +00:00
2007-08-13 21:16:39 +00:00
2007-08-13 21:16:39 +00:00