From adb257913e426c83c423d9f102c7a51a9cd63004 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 27 Sep 2024 01:01:54 +0800 Subject: [PATCH] loongarch: standards: Fix LSB info The standard page wasn't adapted for LoongArch since day one. Remove the references to IA32 and AMD64, and state there's no LoongArch specific part of LSB. Also we cannot satisify some (really unreasonable) requirements on symbol versions with Glibc on LoongArch. By the way drop libutil.so.1 from Glibc contents as it does not exist on LoongArch. Link: https://sourceware.org/bugzilla/show_bug.cgi?id=31136#c11 --- chapter08/glibc.xml | 2 +- prologue/standards.xml | 22 ++++++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 1f12e915a..deed9f044 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -629,7 +629,7 @@ mkdir -pv /etc/ld.so.conf.d libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so, libpcprofile.so, libpthread.{a,so.0}, libresolv.{a,so}, librt.{a,so.1}, - libthread_db.so, and libutil.{a,so.1} + libthread_db.so, and libutil.a /usr/include/arpa, /usr/include/bits, /usr/include/gnu, /usr/include/net, /usr/include/netash, /usr/include/netatalk, /usr/include/netax25, /usr/include/neteconet, /usr/include/netinet, diff --git a/prologue/standards.xml b/prologue/standards.xml index 3cf6fbff2..0a93b4dad 100644 --- a/prologue/standards.xml +++ b/prologue/standards.xml @@ -34,9 +34,11 @@ The LSB has four separate specifications: Core, Desktop, Languages, and Imaging. Some parts of Core and Desktop specifications are architecture specific. There are also two trial - specifications: Gtk3 and Graphics. LFS attempts to conform to the LSB - specifications for the IA32 (32-bit x86) or AMD64 (x86_64) - architectures discussed in the previous section. + specifications: Gtk3 and Graphics. There's no architecture specific + parts for LoongArch, and on LoongArch Glibc has intentionally left out + some symbol versions required by the architecture independant part of + LSB Core. So we cannot satisfy the LSB architecture independant + parts, but we still use them as a reference. Many people do not agree with these requirements. The main purpose of the LSB is to ensure that proprietary software @@ -161,15 +163,27 @@ install_initd, + libc.so.6 + (the file is provided by the LFS Glibc package but it lacks some + symbol versions required by LSB), libcrypt.so.1 (can be provided with optional instructions for the LFS Libxcrypt package), + libpthread.so.2 + (the file is provided by the LFS Glibc package but it lacks some + symbol versions required by LSB), libncurses.so.5 (can be provided with optional instructions for the LFS Ncurses package), libncursesw.so.5 (but libncursesw.so.6 - is provided by the LFS Ncurses package) + is provided by the LFS Ncurses package), + librt.so.1 + (the file is provided by the LFS Glibc package but it lacks some + symbol versions required by LSB), + libutil.so.1 + (can be provided as a symlink to + libc.so.6)