aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-avr.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2006-05-24 07:36:12 +0000
committerNick Clifton <nickc@redhat.com>2006-05-24 07:36:12 +0000
commit28c9d252b48e5c262359910389f157de087060d6 (patch)
tree8a03a8b466f84f1857399df1447d6f74e5a1cd5e /gas/config/tc-avr.h
parentf607ec8858a8ce6a1a821257d657db95ee47af2a (diff)
downloadgdb-28c9d252b48e5c262359910389f157de087060d6.zip
gdb-28c9d252b48e5c262359910389f157de087060d6.tar.gz
gdb-28c9d252b48e5c262359910389f157de087060d6.tar.bz2
Add support for AVR6 family
Diffstat (limited to 'gas/config/tc-avr.h')
-rw-r--r--gas/config/tc-avr.h29
1 files changed, 17 insertions, 12 deletions
diff --git a/gas/config/tc-avr.h b/gas/config/tc-avr.h
index b79fc05..0723519 100644
--- a/gas/config/tc-avr.h
+++ b/gas/config/tc-avr.h
@@ -125,16 +125,21 @@ extern long md_pcrel_from_section (struct fix *, segT);
We will need them in case that we want to do linker relaxation.
We could in principle keep these fixups in gas when not relaxing.
However, there is no serious performance penilty when making the linker
- make the fixup work. */
-#define TC_VALIDATE_FIX(FIXP,SEG,SKIP) \
- if ( (FIXP->fx_r_type == BFD_RELOC_AVR_7_PCREL \
- || FIXP->fx_r_type == BFD_RELOC_AVR_13_PCREL \
- || FIXP->fx_r_type == BFD_RELOC_AVR_LO8_LDI_PM \
- || FIXP->fx_r_type == BFD_RELOC_AVR_HI8_LDI_PM \
- || FIXP->fx_r_type == BFD_RELOC_AVR_HH8_LDI_PM \
- || FIXP->fx_r_type == BFD_RELOC_AVR_16_PM) \
- && (FIXP->fx_addsy)) \
- { \
- goto SKIP; \
+ make the fixup work. Check also that fx_addsy is not NULL, in order to make
+ sure that the fixup refers to some sort of lable. */
+#define TC_VALIDATE_FIX(FIXP,SEG,SKIP) \
+ if ( (FIXP->fx_r_type == BFD_RELOC_AVR_7_PCREL \
+ || FIXP->fx_r_type == BFD_RELOC_AVR_13_PCREL \
+ || FIXP->fx_r_type == BFD_RELOC_AVR_LO8_LDI_PM \
+ || FIXP->fx_r_type == BFD_RELOC_AVR_LO8_LDI_GS \
+ || FIXP->fx_r_type == BFD_RELOC_AVR_HI8_LDI_PM \
+ || FIXP->fx_r_type == BFD_RELOC_AVR_HI8_LDI_GS \
+ || FIXP->fx_r_type == BFD_RELOC_AVR_HH8_LDI_PM \
+ || FIXP->fx_r_type == BFD_RELOC_AVR_LO8_LDI_PM_NEG \
+ || FIXP->fx_r_type == BFD_RELOC_AVR_HI8_LDI_PM_NEG \
+ || FIXP->fx_r_type == BFD_RELOC_AVR_HH8_LDI_PM_NEG \
+ || FIXP->fx_r_type == BFD_RELOC_AVR_16_PM) \
+ && (FIXP->fx_addsy)) \
+ { \
+ goto SKIP; \
}
-