binutils-gdb/ld/testsuite
Nick Clifton 7fb9f789e3 Multi-GOT support for m68k.
bfd/

        * elf32-m68k.c (struct elf_m68k_link_hash_entry: got_entry_key,
        glist): New fields.
        (struct elf_m68k_got_entry_key, struct elf_m68k_got_entry,
        struct elf_m68k_got, struct elf_m68k_bfd2got_entry,
        struct elf_m68k_multi_got): New data structures.
        (struct elf_m68k_link_hash_table: local_gp_p, use_neg_got_offsets_p,
        allow_multigot_p, multi_got_): New fields.
        (elf_m68k_multi_got): New macro.
        (elf_m68k_link_hash_newfunc): Initialize new fields of
        struct elf_m68k_link_hash_entry.
        (elf_m68k_link_hash_table_create): Initialize new fields of
        struct elf_m68k_link_hash_table.
        (elf_m68k_link_hash_table_free): New static function implementing hook.
        (elf_m68k_init_got, elf_m68k_clear_got, elf_m68k_create_empty_got): New
        static functions for struct elf_m68k_got.
        (elf_m68k_init_got_entry_key, elf_m68k_got_entry_hash,
        elf_m68k_got_entry_eq): New static functions for
        struct elf_m68k_got_entry.
        (ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT,
        ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): New macros.
        (enum elf_m68k_get_entry_howto): New enum.
        (elf_m68k_get_got_entry, elf_m68k_update_got_entry_type,
        elf_m68k_remove_got_entry_type): New static functions for
        struct elf_m68k_got_entry.
        (elf_m68k_add_entry_to_got): New static function.
        (elf_m68k_bfd2got_entry_hash, elf_m68k_bfd2got_entry_eq,
        elf_m68k_bfd2got_entry_del, elf_m68k_get_bfd2got_entry): New static
        functions for struct elf_m68k_bfd2got_entry.
        (struct elf_m68k_can_merge_gots_arg, elf_m68k_can_merge_gots_1,
        elf_m68k_can_merge_gots): New traversal.
        (struct elf_m68k_merge_gots_arg, elf_m68k_merge_gots_1,
        elf_m68k_merge_gots): Ditto.
        (struct elf_m68k_finalize_got_offsets_arg,
        elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Ditto.
        (struct elf_m68k_partition_multi_got_arg,
        elf_m68k_partition_multi_got_1, elf_m68k_init_symndx2h_1,
        elf_m68k_partition_multi_got): Ditto.
        (elf_m68k_find_got_entry_ptr, elf_m68k_remove_got_entry): New static
        functions.
        (elf_m68k_copy_indirect_symbol): New static function implementing
        a hook.
        (elf_m68k_check_relocs): Update to add entries to multi-GOT.
        (elf_m68k_gc_sweep_hook): Update to remove entries from multi-GOT.
        (elf_m68k_always_size_sections): Assign BFDs to GOTs.
        (elf_m68k_relocate_section): Update to properly handle GOT relocations.
        (elf_m68k_finish_dynamic_symbol): Update to traverse all GOT entries
        of a global symbol.
        (bfd_elf_m68k_set_target_options): New function.
        (bfd_elf32_bfd_link_hash_table_free): Define hook.
        (bfd_elf32_bfd_final_link): Change expansion to bfd_elf_final_link
        to skip generic calculation of GOT offsets.
        (elf_backend_copy_indirect_symbol): Define hook.

        * bfd-in.h (bfd_elf_m68k_set_target_options): Declare function.
        * bfd-in2.h: Regenerate.

        ld/

        * configure.in (--enable-got): New option.  Handle it.
        * configure: Regenerate.
        * config.in: Regenerate.

        * emultempl/m68kelf.em: (got_handling_target_default): New shell
        variable.
        (GOT_HANDLING_TARGET_DEFAULT): New macro.
        (GOT_HANDLING_DEFAULT): New macro.  Initialize it from configure
        option if one was given.
        (got_handling): New static variable.
        (elf_m68k_create_output_section_statements): New static function
        implementing hook.
        (PARSE_AND_LIST_PROLOGUE): Define shell variable.
        (OPTION_GOT): New macro.
        (PARSE_AND_LIST_LONGOPTS): Define shell variable.  Specify
        --got option.
        (got): New linker option.
        (PARSE_AND_LIST_OPTIONS): Define shell variable.  Print help string
        for --got option.
        (PARSE_AND_LIST_ARGS_CASES): Define shell variable.  Handle --got
        option.

        * ld.texinfo: Document --got=<type> option.
        * gen-doc.texi: Add M68K.
        * NEWS: Mention the new feature.

        ld/testsuite/

        * ld-m68k/got-12.s: New file.
        * ld-m68k/got-13.s: New file.
        * ld-m68k/got-14.s: New file.
        * ld-m68k/got-15.s: New file.
        * ld-m68k/got-34.s: New file.
        * ld-m68k/got-35.s: New file.
        * ld-m68k/got-single-12-ok.d: New dump test.
        * ld-m68k/got-single-13-er.d: New dump test.
        * ld-m68k/got-negative-14-ok.d: New dump test.
        * ld-m68k/got-negative-15-er.d: New dump test.
        * ld-m68k/got-negative-12-13-14-34-ok.d: New dump test.
        * ld-m68k/got-negative-12-13-14-35-er.d: New dump test.
        * ld-m68k/got-multigot-14-ok.d: New dump test.
        * ld-m68k/got-multigot-15-er.d: New dump test.
        * ld-m68k/got-multigot-12-13-14-34-35-ok.d: New dump test.
        * ld-m68k/xgot-15.s: New source.
        * ld-m68k/got-xgot-15-ok.d: New test.
        * ld-m68k/got-xgot-12-13-14-15-34-35-ok.d: New test.
        * ld-m68k/m68k.exp: Run new tests.
2008-05-21 12:01:37 +00:00
..
config bfd: 2007-08-28 13:21:58 +00:00
ld-alpha 2007-09-29 Mike Frysinger <vapier@gentoo.org> 2007-09-30 01:33:15 +00:00
ld-arm bfd/ 2008-05-15 17:00:15 +00:00
ld-auto-import * ld-auto-import/auto-import.exp: Use $ld to link the dll for 2008-02-20 17:51:18 +00:00
ld-bootstrap Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-cdtest * ld-cdtest/cdtest-foo.cc (strncpy): Fix parameter name. 2007-07-25 21:30:59 +00:00
ld-checks bfd: 2007-08-28 13:21:58 +00:00
ld-cris * ld-cris/libdso-10.d: Adjust for change in objdump output. 2008-03-22 12:23:54 +00:00
ld-crx Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-cygwin Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-d10v Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-discard Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-elf missed from last commit 2008-05-07 04:52:35 +00:00
ld-elfcomm * ld-elfcomm/elfcomm.exp: Run $READELF not readelf. 2008-03-28 01:12:56 +00:00
ld-elfvers * ld-elfvers/vers.exp (test_ar): Sort the expected output so that 2008-01-28 16:41:05 +00:00
ld-elfvsb Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-elfweak Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-fastcall Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-frv Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-gc * ld-gc/gc.c: Make sure used_func is not inlined. 2008-01-23 16:05:45 +00:00
ld-h8300 Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-i386 bfd/ 2008-03-16 22:26:23 +00:00
ld-ia64 2007-09-29 Mike Frysinger <vapier@gentoo.org> 2007-09-30 01:33:15 +00:00
ld-libs Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-linkonce Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-m68hc11 Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-m68k Multi-GOT support for m68k. 2008-05-21 12:01:37 +00:00
ld-maxq Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-mep Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-mips-elf * ld-mips-elf/dyn-sec64.d, ld-mips-elf/dyn-sec64.s, 2008-03-21 16:29:26 +00:00
ld-mmix Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-mn10300 * ld-elf/flags1.d: Add xfails for ports for which the test will work. 2007-12-31 11:29:01 +00:00
ld-pe * ld-pe/pe.exp: Special diff file for x86_64-mingw target. 2007-08-06 14:41:51 +00:00
ld-pie Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-powerpc bfd/ 2008-03-01 06:52:52 +00:00
ld-s390 2007-09-29 Mike Frysinger <vapier@gentoo.org> 2007-09-30 01:33:15 +00:00
ld-scripts 2008-05-03 Mike Frysinger <vapier@gentoo.org> 2008-05-03 06:19:19 +00:00
ld-selective 2007-09-30 Mike Frysinger <vapier@gentoo.org> 2007-09-30 15:26:43 +00:00
ld-sh 2008-04-15 Andrew Stubbs <andrew.stubbs@st.com> 2008-04-15 15:53:26 +00:00
ld-shared 2008-02-14 H.J. Lu <hongjiu.lu@intel.com> 2008-02-14 20:23:27 +00:00
ld-sparc bfd/ 2008-04-16 08:51:18 +00:00
ld-spu bfd/ 2008-05-07 14:46:44 +00:00
ld-srec * ld-srec/srec.exp: Define __stack_chk_fail sym. 2007-10-12 04:38:29 +00:00
ld-undefined binutils/testsuite/ 2008-02-04 23:41:54 +00:00
ld-v850 Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-versados Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-vxworks bfd/ 2008-04-21 17:54:25 +00:00
ld-x86-64 bfd/ 2008-03-16 22:26:23 +00:00
ld-xc16x Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-xstormy16 Update sources to GPLv3 2007-07-06 14:09:45 +00:00
ld-xtensa 2008-01-31 Marc Gauthier <marc@tensilica.com> 2008-02-01 17:58:48 +00:00
lib * lib/ld-lib.exp (run_dump_test): Don't apply prune_warnings 2008-02-18 11:04:09 +00:00
ChangeLog Multi-GOT support for m68k. 2008-05-21 12:01:37 +00:00
ChangeLog-2004 split changelogs 2006-01-16 23:15:07 +00:00
ChangeLog-2005 split changelogs 2006-01-16 23:15:07 +00:00
ChangeLog-2006 Move 2006 ChangeLog entries to ChangeLog-2006. 2007-01-09 17:30:59 +00:00
ChangeLog-2007 bfd/ 2008-01-07 16:45:35 +00:00
ChangeLog-9303 Split ChangeLog files. 2004-01-02 11:16:21 +00:00