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 in different segments"...


On Mon, Feb 28, 2005 at 02:46:31PM +0000, Maciej W. Rozycki wrote:
> 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.

The comment is missing the most important piece of data - _why_ it
should no longer be used.  I don't see a legitimate reason.

I recently implemented another PIC model for MIPS, separate from
embedded-PIC but sharing a couple of properties, and this support was
extremely useful.  I haven't had the time to contribute it back yet but
I hope to sometime after 2.16.

-- 
Daniel Jacobowitz
CodeSourcery, LLC


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