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  <[EMAIL PROTECTED]>
>
>       * 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 via email to