diff options
author | Nick Clifton <nickc@redhat.com> | 2012-05-11 12:59:23 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2012-05-11 12:59:23 +0000 |
commit | 99700d6febe92cfcd0ce5b62cad8472020e6c248 (patch) | |
tree | 46b61fbed4f38c2cb1cbee18275c3c40b2966c24 /bfd/reloc.c | |
parent | fd885f3a4d85dc33d794ca359ea91f31e3082717 (diff) | |
download | gdb-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.c | 15 |
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 |