This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Pre-Release binutils 2.17; [PATCH] Request for inserting bug-fix prior to releasing 2.17.
- From: BjÃrn Haase <bjoern dot m dot haase at web dot de>
- To: binutils at sourceware dot org
- Date: Mon, 15 May 2006 13:05:49 +0200
- Subject: Re: Pre-Release binutils 2.17; [PATCH] Request for inserting bug-fix prior to releasing 2.17.
Hi,
the present CVS version has a problem with the avr target when dealing with
immediate values for program memory related relocs. Presently, gas
seg-faults. The attached patch fixes the most immediate issue and would be
IMO worth being applied prior to shipping 2.17.
The bugfix is also readily included in the (long) patch I have posted some
days ago for inclusion in mainline. This large patch, however should probably
wait for 2.18 since it implements quite a number of possibly harmful changes
that justify more testing.
I'd, thus, ask and suggest to apply this patch only at the 2.17 branch.
Bjoern.
2006-05-10 Bjoern Haase <bjoern.m.haase@web.de>
* gas/config/tc-avr.h
TC_VALIDATE_FIX: handle case of immediate constant values.
--- tc-avr.h 5 May 2006 17:46:47 -0000 1.12
+++ tc-avr.h 15 May 2006 21:28:08 -0000
@@ -127,12 +127,13 @@
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) \
+ 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; \
}