Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Thu, 06 Nov 2014 07:38:53 -0500
From: "Anthony G. Basile" <>
Subject: What does dir in arch/<dir> mean in musl?

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

where LDSO_ARCH is defined in arch/<dir>/reloc.h.  But what does <dir> 
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/<dirs> 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/  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

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.