This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
I've committed a configure change (trunk only) that affects the order of
sysdeps directories chosen. Previously add-on/sysdeps subdirs (and their
Implies) would always come before main tree sysdeps subdirs. Now, sysdeps
subdirs for add-ons are interleaved with the main tree's sysdep subdirs.
This is the necessary and right thing for add-ons to provide full ports.
It does potentially change some scenarios of what sysdeps files an add-on
has to provide to get its code used in preference to code in the main tree.
For example, in my build, the sysdeps list changed thusly:
sysdeps/i386/elf
-libidn/sysdeps/unix
nptl/sysdeps/unix/sysv/linux/i386/i686
nptl/sysdeps/unix/sysv/linux/i386
+sysdeps/unix/sysv/linux/i386
nptl/sysdeps/unix/sysv/linux
nptl/sysdeps/pthread
sysdeps/pthread
-nptl/sysdeps/unix/sysv
-nptl/sysdeps/unix
-nptl/sysdeps/i386/i686
-nptl/sysdeps/i386
-nptl/sysdeps/generic
-sysdeps/unix/sysv/linux/i386
sysdeps/unix/sysv/linux
sysdeps/gnu
sysdeps/unix/common
sysdeps/unix/mman
sysdeps/unix/inet
sysdeps/unix/sysv/i386
+nptl/sysdeps/unix/sysv
sysdeps/unix/sysv
sysdeps/unix/i386
+libidn/sysdeps/unix
+nptl/sysdeps/unix
sysdeps/unix
sysdeps/posix
sysdeps/i386/i686/fpu
+nptl/sysdeps/i386/i686
sysdeps/i386/i686
sysdeps/i386/i486
nptl/sysdeps/i386/i486
sysdeps/i386/fpu
+nptl/sysdeps/i386
sysdeps/i386
sysdeps/wordsize-32
sysdeps/ieee754/ldbl-96
sysdeps/ieee754/dbl-64
sysdeps/ieee754/flt-32
+nptl/sysdeps/generic
sysdeps/ieee754
sysdeps/generic/elf
sysdeps/generic
I used the following script to convince myself that this has no practical
effect for any of the add-ons we have now (except ports). The situation
that has changed would be if e.g. nptl/sysdeps/unix/sysv/linux/foobar.c
exists and you want that to override sysdeps/unix/sysv/linux/CPU/foobar.S;
unless my script is wrong, we don't have any cases like that at the moment.
If it comes up that an add-on has to provide lots of CPU/foobar.c files
doing #include "../foobar.c" or something of that nature, we can consider
giving add-ons a way to tweak the order further.
#!/bin/sh
find sysdeps -mindepth 1 -type d ! -name CVS | while read dir
do
if [ ! -d ../$dir ]; then
echo No main $dir
continue
fi
files=`(cd $dir; find *[!~] -maxdepth 0 -type f)` || { echo No files in $dir; continue; }
for f in $files; do
case $f in
Makefile|Versions|configure*|Implies) continue ;;
esac
b=${f%.*}
find ../$dir -mindepth 2 -name '$b.*'
done
done
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |