Bug#888073: Suggestions about multiarch and AMD64 systems without /lib64, SVABI

2018-01-25 Thread Andreas Jaeger
On 2018-01-25 20:36, Javier Serrano Polo wrote:
> X-Debbugs-CC: cl...@debian.org, adcon...@0c3.net
> 
> Dear editors,
> 
> I would appreciate if you could point me to the latest version of the
> "System V Application Binary Interface: AMD64 Architecture Processor
> Supplement", which seems to be draft version 0.99.7.
> 
> I run AMD64 Linux systems that do not have a /lib64 directory. These
> systems follow a multiarch structure, which allows to run programs from
> any architecture, e.g. Intel386 on PowerPC. All program interpreters
> have unique names and are located under /lib. AMD64 has
> the /lib/ld-linux-x86-64.so.2 interpreter.
> 
> Section 5.2.1 of the draft says:
> 
> 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
> 
> Could the following text be appended?
> 
> Multiarch systems may put this in /lib/ld-linux-x86-64.so.2

No, this is not possible - it would break binary compatibility. The path
is hardcoded into each binary and if you change it, your application
will not run anywhere else,

Andreas

> "may put" could be "puts" if a distro like Debian did this. Debian
> follows a multiarch structure too. It does not follow appendix A.1,
> which says:
> 
> Libraries conforming to the Intel386 ABI will live in the normal
> places like /lib, /usr/lib and /usr/bin. Libraries following the
> AMD64, will use lib64 subdirectories for the libraries,
> e.g /lib64 and /usr/lib64.
> 
> In multiarch systems, Intel386 libraries are under /lib/i386-linux-gnu
> or /usr/lib/i386-linux-gnu, and AMD64 ones are
> under /lib/x86_64-linux-gnu or /usr/lib/x86_64-linux-gnu. Could the
> appendix show this fact?
> 
> Thank you.
> 


-- 
 Andreas Jaeger aj@{suse.com,opensuse.org} Twitter: jaegerandi
  SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GF: Felix Imendörffer, Jane Smithard, Graham Norton,
   HRB 21284 (AG Nürnberg)
GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126



Bug#888073: Suggestions about multiarch and AMD64 systems without /lib64, SVABI

2018-01-25 Thread Javier Serrano Polo
X-Debbugs-CC: cl...@debian.org, adcon...@0c3.net

Dear editors,

I would appreciate if you could point me to the latest version of the
"System V Application Binary Interface: AMD64 Architecture Processor
Supplement", which seems to be draft version 0.99.7.

I run AMD64 Linux systems that do not have a /lib64 directory. These
systems follow a multiarch structure, which allows to run programs from
any architecture, e.g. Intel386 on PowerPC. All program interpreters
have unique names and are located under /lib. AMD64 has
the /lib/ld-linux-x86-64.so.2 interpreter.

Section 5.2.1 of the draft says:

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

Could the following text be appended?

Multiarch systems may put this in /lib/ld-linux-x86-64.so.2

"may put" could be "puts" if a distro like Debian did this. Debian
follows a multiarch structure too. It does not follow appendix A.1,
which says:

Libraries conforming to the Intel386 ABI will live in the normal
places like /lib, /usr/lib and /usr/bin. Libraries following the
AMD64, will use lib64 subdirectories for the libraries,
e.g /lib64 and /usr/lib64.

In multiarch systems, Intel386 libraries are under /lib/i386-linux-gnu
or /usr/lib/i386-linux-gnu, and AMD64 ones are
under /lib/x86_64-linux-gnu or /usr/lib/x86_64-linux-gnu. Could the
appendix show this fact?

Thank you.


smime.p7s
Description: S/MIME cryptographic signature