Bug#277852: gcc-3.4: Please replace 'lib64' with 'lib' in gcc/config/i386/linux64.h on amd64
On 04-Oct-24 16:26, Daniel Jacobowitz wrote:
> On Fri, Oct 22, 2004 at 11:18:23PM +0200, Andreas Jochens wrote:
> 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
The following mail from
http://gcc.gnu.org/ml/gcc-patches/2001-11/msg02088.html
shows how the decision to use the current interpreter name was made:
> * From: Bo Thorsen <bo at sonofthor dot dk>
> * To: gcc-patches at gcc dot gnu dot org, patches at x86-64 dot org
> * Date: Fri, 30 Nov 2001 15:05:30 +0100
> * Subject: Fix dynamic linker name for x86-64
> * Organization: SuSE Labs
>
> The x86-64 ABI for linux states that the dynamic linker is called
> /lib/ld-linux-x86-64.so.2. At the moment glibc approximates this by calling
> it /lib64/ld-linux-x86-64.so.2. This patch updates the linker name to the new
> name and places the linker as being where glibc currently puts it. I have
> been told by glibc people that this won't be changed right now, so IMHO the
> workaround is justified.
>
> 2001-11-30 Bo Thorsen <bo@suse.co.uk>
>
> * config/i386/linux64.h (LINK_SPEC): Fix name of dynamic linker.
>
> Index: config/i386/linux64.h
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/config/i386/linux64.h,v
> retrieving revision 1.2
> diff -u -r1.2 linux64.h
> --- linux64.h 2001/10/16 22:04:20 1.2
> +++ linux64.h 2001/11/30 14:02:14
> @@ -36,13 +36,17 @@
> options at link-time.
>
> When the -shared link option is used a final link is not being
> - done. */
> + done.
>
> + TODO: The x86-64 ABI states the dynamic linker to be placed in
> + /lib, but currently glibc installs it in /lib64. Change this when
> + glibc gets corrected. */
> +
> #undef LINK_SPEC
> #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386}
> %{shared:-shared} \ %{!shared: \
> %{!static: \
> %{rdynamic:-export-dynamic} \
> - %{!dynamic-linker:-dynamic-linker /lib/ld64.so.1}} \
> + %{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}} \
> %{static:-static}}"
>
> Bo.
>
> --
>
> Bo Thorsen | Praestevejen 4
> Free software developer | 5290 Marslev
> SuSE Labs | Denmark
The interesting TODO comment was dropped from the patch when this change
was applied to the gcc CVS a few days after this mail was written.
Regards
Andreas Jochens
Reply to: