From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/6455 Path: news.gmane.org!not-for-mail From: "Anthony G. Basile" Newsgroups: gmane.linux.lib.musl.general Subject: What does dir in arch/ mean in musl? Date: Thu, 06 Nov 2014 07:38:53 -0500 Message-ID: <545B6BDD.2030200@opensource.dyc.edu> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1415277440 10786 80.91.229.3 (6 Nov 2014 12:37:20 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 6 Nov 2014 12:37:20 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-6468-gllmg-musl=m.gmane.org@lists.openwall.com Thu Nov 06 13:37:13 2014 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1XmMJL-0005zs-Db for gllmg-musl@m.gmane.org; Thu, 06 Nov 2014 13:37:11 +0100 Original-Received: (qmail 32728 invoked by uid 550); 6 Nov 2014 12:37:10 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 32720 invoked from network); 6 Nov 2014 12:37:09 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.8.0 Xref: news.gmane.org gmane.linux.lib.musl.general:6455 Archived-At: Hi everyone, In the context of integrating musl with gentoo, we have to deal with how we construct the link path file. So far we've been doing a variation of LDSO_ARCH=$(basename /lib/ld-musl-*.so.1) cat << EOF > /etc/${LDSO_ARCH%so.1}path EOF where LDSO_ARCH is defined in arch//reloc.h. But what does mean in this case? I know it *says* arch but it doesn't appear to be arches but rather an inconsistent combination of ISA + ABI. Eg. x32 is an ABI which runs on 64-bit intel ISA, while x86_64 is a different ABI on the same. On the other hand all mips isas/abis/endians/floats are under arch/mips. Contrast this to what the linux kernel does where we see: $ ls /usr/src/linux/arch/ Kconfig arm64 cris m32r mips powerpc sparc x86 alpha avr32 frv m68k mn10300 s390 tile xtensa arc blackfin hexagon metag openrisc score um arm c6x ia64 microblaze parisc sh unicore32 There arch/x86 contains both 64-bit and 32-bit ISAs and ABIs and one further specifies the arch with ARCH=x86_64 or ARCH=i686. However, the headers for each of the arch/ are identical. eg ARCH=x86_64 make install_headers is the same as ARCH=x86 make install_headers. So how are we to understand LDSO_ARCH? I'm going to be writing a bash ldconfig which will manage paths in /etc/${LDSO_ARCH%so.1}path the way it does on glibc/uclibc for /etc/ld.so.cache. It would be nice to avoid bad assumptions up front. -- Anthony G. Basile, Ph. D. Chair of Information Technology D'Youville College Buffalo, NY 14201 (716) 829-8197