behavior of GCC_EXEC_PREFIX seems to have changed between 3.3.1 and 3.4.0
Jim Wilson
wilson@specifixinc.com
Tue Jun 8 19:23:00 GMT 2004
Marty Leisner wrote:
> %export GCC_EXEC_PREFIX=/usr/local/bin/
> %gcc-3.3.1 -v -print-prog-name=ld
> Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.3.1/specs
> /usr/local/bin/ld
> %gcc-3.4.0 -v -print-prog-name=ld
> Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.8/3.4.0/specs
> /usr/local/lib/gcc/sparc-sun-solaris2.8/3.4.0/../../../../sparc-sun-solaris2.8/bin/ld
Sending mail to gcc-bugs is not very useful anymore, as it is primarily
used for output from the bugzilla bug database. If you want to file a
bug, put it in bugzilla. If you want to discuss an issue, send it to
the gcc list.
Setting GCC_EXEC_PREFIX should no longer be necessary. Gcc will figure
this info out itself if it is installed someplace other than where it
was configured for.
The correct value for GCC_EXEC_PREFIX as per the gcc-3.3 documentation
would be /usr/local/lib/gcc-lib/. I don't think you can expect
consistent results if you use any other value.
The correct value for GCC_EXEC_PREFIX as per the gcc-3.4 documentation
would be /usr/local/lib/gcc/. I don't think you can expect consistent
results if you use any other value.
ld is special, since ld may optionally be part of a gcc install is
collect is built and installed. So you may be getting different results
with gcc-3.3 and gcc-3.4 because one built and installed collect and the
other did not. I can not determine this from the info you have
provided, as this depends on how gcc was configured, built, and installed.
> It would also be useful to specify programs for various passes (I'm having problems
> with ld 2.14 and 2.15, and it would be nice to be able to do something like:
> gcc --ld-prog=/usr/local/bin/ld-2.14 ...
> and
> gcc --ld-prog=/usr/local/bin/ld-2.15
If you install the two binutils versions in different directories, which
would be the normal case, then you can select among them by using the -B
option.
> I'm also not clear why 3.3.1 installedd in <prefix>/lib/gcc-lib
> and 3.4.0 installed in
> <prefix>/lib/gcc
Because we changed the directory structure. If you look closer, you
will see that gcc-3.4 now uses libexec in addition to lib. Probably the
redundant lib/gcc-lib was simplied to lib/gcc at the same time. And
similarly, we use libexec/gcc for binaries.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com
More information about the Gcc-bugs
mailing list