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] Fix s390 as


On Wed, Jan 22, 2003 at 01:21:33PM +0100, Jakub Jelinek wrote:
> Now, thinking about debug info, AFAIK debug info doesn't contain
> subtractions of global symbol and local one in the same section,
> it always uses .L*-. etc. instead,

For all released versions of gcc?  I'm sure I saw a case involving
subtractions of weak syms, but can't remember whether it was syms
in the same section or even whether the problem was with the first
or second sym.

> so !S_IS_EXTERNAL
> before !TC_FORCE_RELOCATION_SUB_SAME IMHO really
> shouldn't hurt.

The way to do this is to change the default definition of
TC_FORCE_RELOCATION_SUB_SAME, and look at all target re-definitions.
I don't want some condition here that can't be overridden.

Hmm, looking over the old code, I guess I should have used
a default of 

#define TC_FORCE_RELOCATION_SUB_SAME(FIX, SEG)	\
  (! SEG_NORMAL (SEG) || TC_FORCE_RELOCATION (FIX))

TC_FORCE_RELOCATION_SUB_SAME is different from the other
TC_FORCE_RELOCATION_SUB_* macros in that it results in both
fx_addsy and fx_subsy being resolved.  The others just resolve
fx_subsy.

I'll set up an overnight build and testsuite run of a representative
sample of gas targets to see how this goes.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


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