Bug#643891: [gcc-4.6] print-file-name acting non-standard and problematic
Package: gcc-4.6
Version: 4.6.1-13
Severity: normal
--- Please enter the report below this line. ---
If you call gcc --print-file-name=liblto_plugin.so, Debian gcc 4.6.1 returns
/usr/lib/gcc/x86_64-linux-gnu/4.6/liblto_plugin.so
and the gcc --print-prog-name=liblto_plugin.so returns
liblto_plugin.so
on non-Debian platforms both of these calls return consistently
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/liblto_plugin.so
Besides the obvious problem with --print-prog-name, the problem with the
returned value for --print-file-name is that
1) It is inconstant with other gcc file. For instance search for cc1 or lto-
wrapper will return a path to /usr/lib/gcc/x86_64-linux-gnu/4.6.1/$name
2) The value is only correct for finding the file, nor for where gcc expects
to find it. So if you try make a new environment for gcc, the returned path
can not be used for where the file should be placed in the new environment.
liblto_plugin.so can be found at /usr/lib/gcc/x86_64-linux-gnu/4.6/ but
putting it there without a link from 4.6 to 4.6.1 will make gcc incapable of
finding it.
I suspect the problem lies in the patch gcc-print-file-name.diff which claims
to remove the minor version number, for some reason that only work with the
plugin library and not all files, but I do consider this incorrect behaviour,
and see no reason why it is trying to rewrite the gcc print-file-name output.
As a minimum it is inconsistant and inconvinient to tools trying to setup gcc
run-time environement.
In particular this is a problem for the icecream(icecc) distributed
compilation tool.
--- System information. ---
Architecture: amd64
Kernel: Linux 3.0.0-1-amd64
Debian Release: wheezy/sid
500 unstable ftp.dk.debian.org
500 testing www.debian-multimedia.org
500 testing security.debian.org
500 testing ftp.dk.debian.org
500 testing deb.opera.com
1 experimental ftp.dk.debian.org
--- Package information. ---
Depends (Version) | Installed
================================-+-================
gcc-4.6-base (= 4.6.1-13) | 4.6.1-13
cpp-4.6 (= 4.6.1-13) | 4.6.1-13
binutils (>= 2.21.51~) | 2.21.53.20110720-1
libgcc1 (>= 1:4.6.1-13) | 1:4.6.1-13
libgomp1 (>= 4.6.1-13) | 4.6.1-13
libquadmath0 (>= 4.6.1-13) | 4.6.1-13
libc6 (>= 2.11) | 2.13-20
libgmp10 | 2:5.0.1+dfsg-7
libmpc2 | 0.9-3
libmpfr4 | 3.0.1-5
zlib1g (>= 1:1.1.4) | 1:1.2.3.4.dfsg-3
Recommends (Version) | Installed
==========================-+-============
libc6-dev (>= 2.13-5) | 2.13-20
Suggests (Version) | Installed
=====================================-+-==============
gcc-4.6-multilib | 4.6.1-13
libmudflap0-4.6-dev (>= 4.6.1-13) |
gcc-4.6-doc (>= 4.6.1-8) |
gcc-4.6-locales (>= 4.6.1-8) |
libgcc1-dbg |
libgomp1-dbg |
libquadmath0-dbg |
libmudflap0-dbg |
binutils-gold (>= 2.21.51~) | 2.21.53.20110720-1
Reply to: