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, <para>If everything is working correctly, there should be no errors,
and the output of the last command will be of the form:</para> 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 <para>Note that for big-endian machines, the interpreter name will be
<filename>/lib/ld-linux.so.2</filename>.</para> <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, <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 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 and the output of the last command will be (allowing for
platform-specific differences in the dynamic linker name):</para> 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> <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 <para>The output of the last command should be (allowing for
platform-specific differences in dynamic linker name):</para> 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 <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 at all, then something is seriously wrong. Investigate and retrace the

View File

@ -447,7 +447,7 @@ unset ZONEINFO</userinput></screen>
</indexterm> </indexterm>
<para>By default, the dynamic loader (<filename <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 <filename class="directory">/usr/lib</filename> for dynamic libraries
that are needed by programs as they are run. However, if there are that are needed by programs as they are run. However, if there are
libraries in directories other than libraries in directories other than
@ -495,11 +495,11 @@ mkdir -pv /etc/ld.so.conf.d</userinput></screen>
<seglistitem> <seglistitem>
<seg>gencat, getconf, getent, iconv, iconvconfig, ldconfig, <seg>gencat, getconf, getent, iconv, iconvconfig, ldconfig,
ldd, lddlibc4, 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, locale, localedef, makedb, mtrace, nscd,
pcprofiledump, pldd, sln, sotruss, sprof, tzselect, xtrace, pcprofiledump, pldd, sln, sotruss, sprof, tzselect, xtrace,
zdump, and zic</seg> 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}, libBrokenLocale.{a,so}, libanl.{a,so},
libc.{a,so}, libc_nonshared.a, libc_malloc_debug.so, libc.{a,so}, libc_nonshared.a, libc_malloc_debug.so,
libcrypt.{a,so}, libdl.{a,so.2}, libg.a, libm.{a,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 Read the related entry in <xref linkend="pkgmgmt-upgrade-issues"/> for the
rationale to use the <command>install</command> command here.</para> 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 <note><para>The ELF loader's name is ld-linux-aarch64.so.1 on
and ld-linux.so.2 on 32-bit systems. The construct below selects the 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 correct name for the current architecture, excluding anything ending
with <quote>g</quote>, in case the commands below have already been with <quote>g</quote>, in case the commands below have already been
run.</para></note> run.</para></note>