From: Eric DeVolder
Sent: Thu 9/21/2006 9:26 AM
To: Jim Wilson
Cc: Thiemo Seufer; linux-mips@xxxxxxxxxxxxxx
Subject: RE: Differing results from cross and native compilers
gcc/config.status:s,@target_cpu_default@,(MASK_GAS)|MASK_EXPLICIT_RELOCS,;t t
gcc/Makefile:target_cpu_default=(MASK_GAS)|MASK_EXPLICIT_RELOCS
From: Jim Wilson [mailto:wilson@xxxxxxxxxxxx]
Sent: Tue 9/19/2006 6:22 PM
To: Eric DeVolder
Cc: Thiemo Seufer; linux-mips@xxxxxxxxxxxxxx
Subject: RE: Differing results from cross and native compilers
On Tue, 2006-09-19 at 09:57 -0700, Eric DeVolder
wrote:
> -
lw $4,%got($LC0)($28)
>
+ la
$4,$LC0
The difference here is -mexplicit-relocs, which is the default
for the
first one (cross) but not the second one (native).
The
explicit-reloc support is enabled by a run-time configure test,
which tries
to run the assembler to see if you have a new enough version
of GNU as that
supports the necessary assembler reloc syntax.
Apparently this is going wrong
with the native build. Perhaps you have
a different binutils version,
or perhaps there is a problem with your
PATH, or perhaps binutils and gcc
weren't configured with the same
prefix, etc.
If you have the build
trees, you can look at the gcc/config.h files and
note that one has
HAVE_AS_EXPLICIT_RELOCS defined and the other doesn't.
--
Jim Wilson,
GNU Tools Support, http://www.specifix.com