[Patch] was: MIPS assembler no longer "combines symbols in different segments"...
David Daney
ddaney@avtrex.com
Sun Feb 27 02:47:00 GMT 2005
David Daney wrote:
> A recent change to gas seems to have broken it so that it no longer
> works with gcc-3.3. Configured as target=mipsel-linux
>
> The .eh_frame code generated by gcc-3.3 contains things like this:
>
> .4byte $LFB2-.
>
> Where '$LFB2' is in .text and '.' is in .eh_frame. This worked well in
> 2.15 but for:
>
> $ mipsel-linux-as --version
> GNU assembler 050218 20050218
>
> I am getting:
>
> Error: operation combines symbols in different segments
>
> for this.
>
> Is there a good reason that this was changed?
>
> If not can we change it back?
>
> There are enough ld bugs in 2.15 that I want to use this snapshot, but I
> will probably have to resolve this issue first.
>
> David Daney.
Attached is a patch that fixes this problem. This one I am much more
confident of. It passes make check in libffi for my hacked up back
ported to gcc-3.4.3 version. This include the exception test that
failed with my last patch.
make -k check with no regressions. Oddly enough for me this fixes one
ld XFAIL even though I am only fixing gas.
I think my copyright things are in order for binutils, but I don't think
I have CVS write access for binutils so someone else will have to commit
for me.
2005-02-35 David Daney <ddaney@avtrex.com>
* config/tc-mips.h: #define DIFF_EXPR_OK.
* config/tc-mips.c (md_apply_fix3): Remove assert (!fixP->fx_pcrel)
because DIFF_EXPR_OK generates them.
(tc_gen_reloc) : Handle fixP->fx_pcrel for BFD_RELOC_32 case.
David Daney.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: binutils.diff
URL: <https://sourceware.org/pipermail/binutils/attachments/20050227/6aa1b726/attachment.ksh>
More information about the Binutils
mailing list