arm64: update ELF loader paths

See https://sourceware.org/glibc/wiki/ABIList#aarch64.
This commit is contained in:
Xi Ruoyao 2022-08-24 23:50:29 +08:00
parent c18558ce33
commit 8b9efe6786
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3
4 changed files with 11 additions and 10 deletions

View File

@ -180,10 +180,10 @@ readelf -l a.out | grep ld-linux</userinput></screen>
<para>If everything is working correctly, there should be no errors,
and the output of the last command will be of the form:</para>
<screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
<screen><computeroutput>[Requesting program interpreter: /lib/ld-linux-aarch64.so.1]</computeroutput></screen>
<para>Note that for 32-bit machines, the interpreter name will be
<filename>/lib/ld-linux.so.2</filename>.</para>
<para>Note that for big-endian machines, the interpreter name will be
<filename>/lib/ld-linux-aarch64_be.so.1</filename>.</para>
<para>If the output is not shown as above or there was no output at all,
then something is wrong. Investigate and retrace the steps to find out

View File

@ -192,7 +192,7 @@ readelf -l a.out | grep ': /lib'</userinput></screen>
and the output of the last command will be (allowing for
platform-specific differences in the dynamic linker name):</para>
<screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
<screen><computeroutput>[Requesting program interpreter: /lib/ld-linux-aarch64.so.1]</computeroutput></screen>
<para>Now make sure that we're setup to use the correct start files:</para>
@ -270,7 +270,7 @@ SEARCH_DIR("/usr/lib");</computeroutput></screen>
<para>The output of the last command should be (allowing for
platform-specific differences in dynamic linker name):</para>
<screen><computeroutput>found ld-linux-x86-64.so.2 at /usr/lib/ld-linux-x86-64.so.2</computeroutput></screen>
<screen><computeroutput>found ld-linux-aarch64.so.1 at /usr/lib/ld-linux-aarch64.so.1</computeroutput></screen>
<para>If the output does not appear as shown above or is not received
at all, then something is seriously wrong. Investigate and retrace the

View File

@ -447,7 +447,7 @@ unset ZONEINFO</userinput></screen>
</indexterm>
<para>By default, the dynamic loader (<filename
class="libraryfile">/lib/ld-linux.so.2</filename>) searches through
class="libraryfile">/lib/ld-linux-aarch64.so.1</filename>) searches through
<filename class="directory">/usr/lib</filename> for dynamic libraries
that are needed by programs as they are run. However, if there are
libraries in directories other than
@ -495,11 +495,11 @@ mkdir -pv /etc/ld.so.conf.d</userinput></screen>
<seglistitem>
<seg>gencat, getconf, getent, iconv, iconvconfig, ldconfig,
ldd, lddlibc4,
ld.so (symlink to ld-linux-x86-64.so.2 or ld-linux.so.2),
ld.so (symlink to ld-linux-aarch64[_be].so.1),
locale, localedef, makedb, mtrace, nscd,
pcprofiledump, pldd, sln, sotruss, sprof, tzselect, xtrace,
zdump, and zic</seg>
<seg>ld-linux-x86-64.so.2, ld-linux.so.2,
<seg>ld-linux-aarch64[_be].so.1,
libBrokenLocale.{a,so}, libanl.{a,so},
libc.{a,so}, libc_nonshared.a, libc_malloc_debug.so,
libcrypt.{a,so}, libdl.{a,so.2}, libg.a, libm.{a,so},

View File

@ -46,8 +46,9 @@
Read the related entry in <xref linkend="pkgmgmt-upgrade-issues"/> for the
rationale to use the <command>install</command> command here.</para>
<note><para>The ELF loader's name is ld-linux-x86-64.so.2 on 64-bit systems
and ld-linux.so.2 on 32-bit systems. The construct below selects the
<note><para>The ELF loader's name is ld-linux-aarch64.so.1 on
little-endian systems and ld-linux-aarch64_be.so.1 on big-endian systems.
The construct below selects the
correct name for the current architecture, excluding anything ending
with <quote>g</quote>, in case the commands below have already been
run.</para></note>