This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch] was: MIPS assembler no longer "combines symbols indifferent segments"...


On Fri, 25 Feb 2005, David Daney wrote:

> 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.
[...]
> 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.

 Have you seen the comment about R_MIPS_PC32 in bfd/elf32-mips.c?  This is 
a GNU extension which we don't want to support for generation of new code.  
It's not even supported by elfn32-mips.c and elf64-mips.c at all, so if 
your GCC uses it for the (n)64 or the n32 ABI, it will not work anyway.

 How about updating GCC so that it does not emit these problematic 
statements?  Either your local copy or the 3.3 branch (if there is 
interest).  Using older binutils is another option.

  Maciej


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]