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]

add-on sysdeps order changed (BZ#1089)


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]