aboutsummaryrefslogtreecommitdiff
path: root/bfd/reloc.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2012-05-11 12:59:23 +0000
committerNick Clifton <nickc@redhat.com>2012-05-11 12:59:23 +0000
commit99700d6febe92cfcd0ce5b62cad8472020e6c248 (patch)
tree46b61fbed4f38c2cb1cbee18275c3c40b2966c24 /bfd/reloc.c
parentfd885f3a4d85dc33d794ca359ea91f31e3082717 (diff)
downloadgdb-99700d6febe92cfcd0ce5b62cad8472020e6c248.zip
gdb-99700d6febe92cfcd0ce5b62cad8472020e6c248.tar.gz
gdb-99700d6febe92cfcd0ce5b62cad8472020e6c248.tar.bz2
PR 13503
* reloc.c: Add new ENUM for BFD_RELOC_AVR_8_LO, BFD_RELOC_AVR_8_HI, BFD_RELOC_AVR_8_HHI. * bfd-in2.h: Regenerate. * libbfd.h: Regenrate. * elf32-avr.c (elf_avr_howto_table): Add entries for R_AVR_8_LO8, R_AVR_8_HI8, R_AVR_8_HHI8. (avr_reloc_map): Add RELOC mappings for R_AVR_8_LO8, R_AVR_8_HI8, R_AVR_8_HHI8. * config/tc-avr.c (exp_mod_pm): Remove variable. (exp_mod_data_t): New typedef. (pexp_mod_data, exp_mod_data): New variables. (avr_parse_cons_expression): Scan through exp_mod_data[] to find data expression modifiers "pm", "gs", "lo8", hi8", "hhi8", "hh8" and set pexp_mod_data accordingly to be used in avr_cons_fix_new. (avr_cons_fix_new): Handle new data expression modifiers shipped in pexp_mod_data. (md_apply_fix): Handle BFD_RELOC_AVR_8_LO, BFD_RELOC_AVR_8_HI, BFD_RELOC_AVR_8_HHI. * elf/avr.h (RELOC_NUMBERS): Add values for R_AVR_8_LO8, R_AVR_8_HI8, R_AVR_8_HHI8.
Diffstat (limited to 'bfd/reloc.c')
-rw-r--r--bfd/reloc.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/bfd/reloc.c b/bfd/reloc.c
index 29c54c8..e5dd8bc 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -4360,6 +4360,21 @@ ENUM
ENUMDOC
This is a 6 bit reloc for the AVR that stores offset for adiw/sbiw
instructions
+ENUM
+ BFD_RELOC_AVR_8_LO
+ENUMDOC
+ This is a 8 bit reloc for the AVR that stores bits 0..7 of a symbol
+ in .byte lo8(symbol)
+ENUM
+ BFD_RELOC_AVR_8_HI
+ENUMDOC
+ This is a 8 bit reloc for the AVR that stores bits 8..15 of a symbol
+ in .byte hi8(symbol)
+ENUM
+ BFD_RELOC_AVR_8_HHI
+ENUMDOC
+ This is a 8 bit reloc for the AVR that stores bits 16..23 of a symbol
+ in .byte hhi8(symbol)
ENUM
BFD_RELOC_RL78_NEG8