This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
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