[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#277852: gcc-3.4: Please replace 'lib64' with 'lib' in gcc/config/i386/linux64.h on amd64



On Fri, Oct 22, 2004 at 11:18:23PM +0200, Andreas Jochens wrote:
> Package: gcc-3.4
> Severity: wishlist
> Tags: patch
> 
> The attached patch changes the directory that gcc-3.4 uses to locate the 
> dynamic linker on amd64 from 'lib64' to 'lib'. This is one of the last 
> few places where the ugly 'lib64' directory is still used on amd64. 
> The dynamic linker is installed in the 'lib' directory by the 'libc6' 
> package and this location should also be used by gcc-3.4.
> 
> The current usage of 'lib64' in the dynamic linker name makes it very easy
> to make the whole system completely unusable by just removing the 'lib64'
> directory symlink. There have already been a few complaints from people who
> ran into this problem (e.g. someone removed the 'lib64' symlink 
> because he wanted to create a separate real 'lib64' directory 
> to install some non-free binary-only software which required this).

> +-      %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
> ++      %{!m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux-x86-64.so.2}}} \

Um, no.

I am aware that the amd64 port has decided to completely ignore
standard methods of handling the multi-arch issues.  However, most of
the other changes are compatible as long as some constructs (e.g.
rpath) are not used.  The choice of dynamic loader is not one such. 
The ABI specifies:

5.2.1    Program Interpreter

There is one valid program interpreter for programs conforming to the
AMD64 ABI:
   /lib/ld64.so.1
However, Linux puts this in
   /lib64/ld-linux-x86-64.so.2

Debian should not have a different ABI than the rest of the planet.
If you want it to live in /lib, talk to other distributions about
switching to /lib/ld64.so.1 instead.

-- 
Daniel Jacobowitz



Reply to: