bfd:
commitb21fa8b27f23807da9d685e2fa61355626594779
authorJoseph Myers <joseph@codesourcery.com>
Tue, 20 Apr 2010 22:02:56 +0000 (20 22:02 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 20 Apr 2010 22:02:56 +0000 (20 22:02 +0000)
tree6e5e9d0225924ad74de5a44e036b3e4a628603ae
parentcef4bab630e9a9d4580d8b07bc08accdc402d01c
bfd:
* elf32-tic6x.h: New.
* elf-bfd.h (enum elf_target_id): Define TIC6X_ELF_DATA.
* elf32-tic6x.c (struct elf32_tic6x_obj_tdata, elf32_tic6x_tdata,
elf32_tic6x_howto_table_rel, elf32_tic6x_info_to_howto_rel,
elf32_tic6x_set_use_rela_p, elf32_tic6x_mkobject,
elf32_tic6x_new_section_hook, elf32_tic6x_rel_relocation_p,
bfd_elf32_mkobject, bfd_elf32_new_section_hook): New.
(elf32_tic6x_reloc_type_lookup, elf32_tic6x_reloc_name_lookup,
elf32_tic6x_relocate_section): Handle REL relocations.
(elf_info_to_howto_rel): Define to elf32_tic6x_info_to_howto_rel.

gas:
* config/tc-tic6x.c (OPTION_MGENERATE_REL): New.
(md_longopts): Add -mgenerate-rel.
(tic6x_generate_rela): New.
(md_parse_option): Handle -mgenerate-rel.
(md_show_usage): Add comment that -mgenerate-rel is undocumented.
(tic6x_init_after_args): New.
(md_apply_fix): Correct shift calculations for SB-relative
relocations.
(md_pcrel_from): Change to tic6x_pcrel_from_section.  Do not
adjust addresses for relocations referencing symbols in other
sections.
(tc_gen_reloc): Adjust addend calculations for REL relocations.
* config/tc-tic6x.h (MD_PCREL_FROM_SECTION,
tic6x_pcrel_from_section, tc_init_after_args,
tic6x_init_after_args): New.

ld/testsuite:
* ld-tic6x/data-reloc-global-rel.d,
ld-tic6x/data-reloc-global-rel.s,
ld-tic6x/data-reloc-local-r-rel.d,
ld-tic6x/data-reloc-local-rel.d, ld-tic6x/mvk-reloc-global-rel.d,
ld-tic6x/mvk-reloc-global-rel.s, ld-tic6x/mvk-reloc-local-1-rel.s,
ld-tic6x/mvk-reloc-local-2-rel.s,
ld-tic6x/mvk-reloc-local-r-rel.d, ld-tic6x/mvk-reloc-local-rel.d,
ld-tic6x/pcrel-reloc-global-rel.d,
ld-tic6x/pcrel-reloc-local-r-rel.d,
ld-tic6x/pcrel-reloc-local-rel.d, ld-tic6x/sbr-reloc-global-rel.d,
ld-tic6x/sbr-reloc-global-rel.s, ld-tic6x/sbr-reloc-local-1-rel.s,
ld-tic6x/sbr-reloc-local-2-rel.s,
ld-tic6x/sbr-reloc-local-r-rel.d, ld-tic6x/sbr-reloc-local-rel.d:
New.
27 files changed:
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf32-tic6x.c
bfd/elf32-tic6x.h [new file with mode: 0644]
gas/ChangeLog
gas/config/tc-tic6x.c
gas/config/tc-tic6x.h
ld/testsuite/ChangeLog
ld/testsuite/ld-tic6x/data-reloc-global-rel.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/data-reloc-global-rel.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/data-reloc-local-r-rel.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/data-reloc-local-rel.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/mvk-reloc-global-rel.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/mvk-reloc-global-rel.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/mvk-reloc-local-1-rel.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/mvk-reloc-local-2-rel.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/mvk-reloc-local-r-rel.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/mvk-reloc-local-rel.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/pcrel-reloc-global-rel.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/pcrel-reloc-local-r-rel.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/pcrel-reloc-local-rel.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/sbr-reloc-global-rel.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/sbr-reloc-global-rel.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/sbr-reloc-local-1-rel.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/sbr-reloc-local-2-rel.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/sbr-reloc-local-r-rel.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/sbr-reloc-local-rel.d [new file with mode: 0644]