aboutsummaryrefslogtreecommitdiff
path: root/include/elf
diff options
context:
space:
mode:
authorDenis Chertykov <chertykov@gmail.com>2014-04-10 19:50:33 +0400
committerDenis Chertykov <chertykov@gmail.com>2014-04-10 19:50:33 +0400
commite4ef1b6c3fee295ab41138bf77a82dff16f1d7c3 (patch)
tree4f6ad10afb271882fe8624a082ecb088a1db0feb /include/elf
parent9d497a19eabe25b3af1cdd50a957592ed22658e5 (diff)
downloadgdb-e4ef1b6c3fee295ab41138bf77a82dff16f1d7c3.zip
gdb-e4ef1b6c3fee295ab41138bf77a82dff16f1d7c3.tar.gz
gdb-e4ef1b6c3fee295ab41138bf77a82dff16f1d7c3.tar.bz2
bfd/ChangeLog
* elf32-avr.c: Add DIFF relocations for AVR. (avr_final_link_relocate): Handle the DIFF relocs. (bfd_elf_avr_diff_reloc): New. (elf32_avr_is_diff_reloc): New. (elf32_avr_adjust_diff_reloc_value): Reduce difference value. (elf32_avr_relax_delete_bytes): Recompute difference after deleting bytes. * reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations gas/ChangeLog * config/tc-avr.c: Add new flag mlink-relax. (md_show_usage): Add flag and help text. (md_parse_option): Record whether link relax is turned on. (relaxable_section): New. (avr_validate_fix_sub): New. (avr_force_relocation): New. (md_apply_fix): Generate DIFF reloc. (avr_allow_local_subtract): New. * config/tc-avr.h (TC_LINKRELAX_FIXUP): Define to 0. (TC_FORCE_RELOCATION): Define. (TC_FORCE_RELOCATION_SUB_SAME): Define. (TC_VALIDATE_FIX_SUB): Define. (avr_force_relocation): Declare. (avr_validate_fix_sub): Declare. (md_allow_local_subtract): Define. (avr_allow_local_subtract): Declare. gas/testsuite/ChangeLog * gas/avr/diffreloc_withrelax.d: New testcase. * gas/avr/noreloc_withoutrelax.d: Likewise. * gas/avr/relax.s: Likewise. include/ChangeLog * elf/avr.h: Add new DIFF relocs. ld/testsuite/ChangeLog * ld-avr/norelax_diff.d: New testcase. * ld-avr/relax_diff.d: Likewise. * ld-avr/relax.s: Likewise.
Diffstat (limited to 'include/elf')
-rw-r--r--include/elf/avr.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/elf/avr.h b/include/elf/avr.h
index 5480dd4..06a7f13 100644
--- a/include/elf/avr.h
+++ b/include/elf/avr.h
@@ -80,6 +80,9 @@ START_RELOC_NUMBERS (elf_avr_reloc_type)
RELOC_NUMBER (R_AVR_8_LO8, 27)
RELOC_NUMBER (R_AVR_8_HI8, 28)
RELOC_NUMBER (R_AVR_8_HLO8, 29)
+ RELOC_NUMBER (R_AVR_DIFF8, 30)
+ RELOC_NUMBER (R_AVR_DIFF16, 31)
+ RELOC_NUMBER (R_AVR_DIFF32, 32)
END_RELOC_NUMBERS (R_AVR_max)
#endif /* _ELF_AVR_H */