diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-07-17 14:31:12 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-07-17 14:31:12 +0000 |
commit | 29c4f53e2a3d25290afd16baf38c05f0351eacb5 (patch) | |
tree | b4aef3acdbb26606810ce9ecd0fd1cd42884da3c /sysdeps/unix | |
parent | 57977c4bf379c7f0b3dcf8b9a97a76214bfdf677 (diff) | |
download | glibc-29c4f53e2a3d25290afd16baf38c05f0351eacb5.zip glibc-29c4f53e2a3d25290afd16baf38c05f0351eacb5.tar.gz glibc-29c4f53e2a3d25290afd16baf38c05f0351eacb5.tar.bz2 |
Move architecture shlib-versions files to Linux-specific directories.
Various architectures have files such as sysdeps/<arch>/shlib-versions
whose contents are in fact entirely Linux-specific, relating only to
the symbol / shared library versions for the port to Linux on that
architecture, when any future port to a different OS on that
architecture would use the symbol version of the glibc release it goes
in, as standard for new ports.
This patch moves such files under sysdeps/unix/sysv/linux/, merging in
the contents of sysdeps/<arch>/nptl/shlib-versions in the process.
The only bits not moved are those relating to libgcc_s versions, which
don't appear OS-specific in the same way that glibc's symbol versions
so. It deliberately does not change the regular expressions given for
matching configurations in each file; some match only Linux although
not Linux-specific, or match other OSes although Linux-specific. It
is with a view to at least the following further cleanups:
* Move architecture-specific content from the toplevel shlib-versions
and nptl/shlib-versions into sysdeps shlib-versions files, so
eliminating another difference between ex-ports and non-ex-ports
architectures.
* Likewise, for OS-specific content in shlib-versions files.
* At that point, the first field in shlib-versions files (the regular
expression matching a configuration triplet) should be redundant, so
eliminate that field and leave shlib-versions selection working
purely on a sysdeps basis (with limited use of %ifdef in
shlib-versions files when needed) rather than having its own
separate mechanism to select what configuration information is
relevant.
* Move the build of gnu/lib-names.h to a similar mechanism to that
used for gnu/stubs.h (each library build installing a version of the
header specifically for that build), so we can eliminate the
duplication of soname information in the makefiles and get it purely
from shlib-versions files again.
There may be other cleanups possible as well (in particular, I'm not
sure that all cases where the same "Earliest symbol set" information
is repeated for many different libraries actually should need to
repeat it rather than specifying it just once for DEFAULT for the
given configuration, and separately specifying any non-default choices
of soname).
Tested x86_64 that the installed shared libraries are unchanged by
this patch.
* sysdeps/aarch64/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/aarch64/shlib-versions: ... here.
* sysdeps/alpha/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/alpha/shlib-versions: ... here.
* sysdeps/arm/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/arm/shlib-versions: ... here.
* sysdeps/hppa/shlib-versions: Move all contents except for
libgcc_s entry to ...
* sysdeps/unix/sysv/linux/hppa/shlib-versions: ... here. Merge in
entry from ...
* sysdeps/hppa/nptl/shlib-versions: ... here. Remove file.
* sysdeps/ia64/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/ia64/shlib-versions: ... here. Merge in
entry from ...
* sysdeps/ia64/nptl/shlib-versions: ... here. Remove file.
* sysdeps/m68k/coldfire/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions: ... here.
* sysdeps/microblaze/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/microblaze/shlib-versions: ... here.
* sysdeps/mips/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/mips/shlib-versions: ... here. Merge in
entry from ...
* sysdeps/mips/nptl/shlib-versions: ... here. Remove file.
* sysdeps/tile/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/tile/shlib-versions: ... here.
* sysdeps/unix/sysv/linux/x86_64/64/shlib-versions: Merge in entry
from ...
* sysdeps/x86_64/64/shlib-versions: ... here. Remove file.
* sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions: Merge in
entry from ...
* sysdeps/x86_64/x32/shlib-versions: ... here. Remove file.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/shlib-versions | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/shlib-versions | 14 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/shlib-versions | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/hppa/shlib-versions | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/shlib-versions | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/microblaze/shlib-versions | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/shlib-versions | 27 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/tile/shlib-versions | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/64/shlib-versions | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions | 1 |
11 files changed, 80 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/aarch64/shlib-versions b/sysdeps/unix/sysv/linux/aarch64/shlib-versions new file mode 100644 index 0000000..67f1911 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/shlib-versions @@ -0,0 +1,7 @@ +aarch64.*-.*-linux.* DEFAULT GLIBC_2.17 + +%ifdef HAVE_AARCH64_BE +aarch64.*-.*-linux.* ld=ld-linux-aarch64_be.so.1 +%else +aarch64.*-.*-linux.* ld=ld-linux-aarch64.so.1 +%endif diff --git a/sysdeps/unix/sysv/linux/alpha/shlib-versions b/sysdeps/unix/sysv/linux/alpha/shlib-versions new file mode 100644 index 0000000..cd4b9af --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/shlib-versions @@ -0,0 +1,14 @@ +alpha.*-.*-linux.* libm=6.1 +alpha.*-.*-linux.* libc=6.1 + +alpha.*-.*-linux.* ld=ld-linux.so.2 + +alpha.*-.*-linux.* libdl=2.1 + +alpha.*-.*-linux.* libutil=1.1 + +alpha.*-.*-linux.* libresolv=2.1 + +alpha.*-.*-linux.* libnsl=1.1 +alpha.*-.*-linux.* libcrypt=1.1 +alpha.*-.*-linux.* libBrokenLocale=1.1 diff --git a/sysdeps/unix/sysv/linux/arm/shlib-versions b/sysdeps/unix/sysv/linux/arm/shlib-versions new file mode 100644 index 0000000..1ac597a --- /dev/null +++ b/sysdeps/unix/sysv/linux/arm/shlib-versions @@ -0,0 +1,9 @@ +arm.*-.*-linux-gnueabi.* DEFAULT GLIBC_2.4 + +%ifdef HAVE_ARM_PCS_VFP +# The EABI-derived hard-float ABI uses a new dynamic linker. +arm.*-.*-linux-gnueabi.* ld=ld-linux-armhf.so.3 +%else +# The EABI-derived soft-float ABI continues to use ld-linux.so.3. +arm.*-.*-linux-gnueabi.* ld=ld-linux.so.3 +%endif diff --git a/sysdeps/unix/sysv/linux/hppa/shlib-versions b/sysdeps/unix/sysv/linux/hppa/shlib-versions new file mode 100644 index 0000000..ee46e4a --- /dev/null +++ b/sysdeps/unix/sysv/linux/hppa/shlib-versions @@ -0,0 +1,9 @@ +hppa.*-.*-.* libm=6 GLIBC_2.2 + +hppa.*-.*-.* libc=6 GLIBC_2.2 + +hppa.*-.*-.* ld=ld.so.1 GLIBC_2.2 + +hppa-.*-.* libBrokenLocale=1 GLIBC_2.2 + +hppa.*-.*-linux.* libpthread=0 GLIBC_2.2 diff --git a/sysdeps/unix/sysv/linux/ia64/shlib-versions b/sysdeps/unix/sysv/linux/ia64/shlib-versions new file mode 100644 index 0000000..c8e1482 --- /dev/null +++ b/sysdeps/unix/sysv/linux/ia64/shlib-versions @@ -0,0 +1,8 @@ +ia64-.*-linux.* libc=6.1 GLIBC_2.2 +ia64-.*-linux.* libm=6.1 GLIBC_2.2 + +ia64-.*-linux.* ld=ld-linux-ia64.so.2 GLIBC_2.2 + +ia64-.*-.* libBrokenLocale=1 GLIBC_2.2 + +ia64.*-.*-linux.* libpthread=0 GLIBC_2.2 diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions b/sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions new file mode 100644 index 0000000..f4c68b2 --- /dev/null +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions @@ -0,0 +1 @@ +m68k-.*-linux.* DEFAULT GLIBC_2.4 diff --git a/sysdeps/unix/sysv/linux/microblaze/shlib-versions b/sysdeps/unix/sysv/linux/microblaze/shlib-versions new file mode 100644 index 0000000..6ec43db --- /dev/null +++ b/sysdeps/unix/sysv/linux/microblaze/shlib-versions @@ -0,0 +1 @@ +microblaze.*-.*-linux.* DEFAULT GLIBC_2.18 diff --git a/sysdeps/unix/sysv/linux/mips/shlib-versions b/sysdeps/unix/sysv/linux/mips/shlib-versions new file mode 100644 index 0000000..d1414ed --- /dev/null +++ b/sysdeps/unix/sysv/linux/mips/shlib-versions @@ -0,0 +1,27 @@ +mips.*-.*-linux.* libm=6 GLIBC_2.0 GLIBC_2.2 + +# Working mips versions were never released between 2.0 and 2.2. +mips.*-.*-linux.* libc=6 GLIBC_2.0 GLIBC_2.2 + +%ifdef HAVE_MIPS_NAN2008 +mips.*-.*-linux.* ld=ld-linux-mipsn8.so.1 GLIBC_2.0 GLIBC_2.2 +%else +mips.*-.*-linux.* ld=ld.so.1 GLIBC_2.0 GLIBC_2.2 +%endif +mips.*-.*-linux.* libdl=2 GLIBC_2.0 GLIBC_2.2 + +mips.*-.*-linux.* libresolv=2 GLIBC_2.0 GLIBC_2.2 + +mips.*-.*-linux.* libnss_files=2 GLIBC_2.0 GLIBC_2.2 +mips.*-.*-linux.* libnss_dns=2 GLIBC_2.0 GLIBC_2.2 +mips.*-.*-linux.* libnss_compat=2 GLIBC_2.0 GLIBC_2.2 +mips.*-.*-linux.* libnss_nis=2 GLIBC_2.0 GLIBC_2.2 +mips.*-.*-linux.* libnss_nisplus=2 GLIBC_2.0 GLIBC_2.2 +mips.*-.*-linux.* libnss_ldap=2 GLIBC_2.0 GLIBC_2.2 +mips.*-.*-linux.* libnss_hesiod=2 GLIBC_2.0 GLIBC_2.2 + +mips.*-.*-linux.* libnsl=1 GLIBC_2.0 GLIBC_2.2 + +mips.*-.*-linux.* librt=1 GLIBC_2.0 GLIBC_2.2 + +mips.*-.*-linux.* libpthread=0 GLIBC_2.0 GLIBC_2.2 diff --git a/sysdeps/unix/sysv/linux/tile/shlib-versions b/sysdeps/unix/sysv/linux/tile/shlib-versions new file mode 100644 index 0000000..f50868f --- /dev/null +++ b/sysdeps/unix/sysv/linux/tile/shlib-versions @@ -0,0 +1,2 @@ +# glibc 2.12 was released to customers; 2.15 was the first community version. +tile.*-.*-linux-gnu DEFAULT GLIBC_2.12 GLIBC_2.15 diff --git a/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions b/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions index 5093c4c..90ea1b7 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions +++ b/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions @@ -1,3 +1,4 @@ # Configuration DEFAULT Earliest symbol set # ------------- --------------- ------------------------------ +x86_64-.*-linux.* DEFAULT GLIBC_2.2.5 x86_64-.*-linux.* libpthread=0 GLIBC_2.2.5 diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions b/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions index 8fcad2e..8dd73e4 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions +++ b/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions @@ -1,3 +1,4 @@ # Configuration DEFAULT Earliest symbol set # ------------- --------------- ------------------------------ +x86_64-.*-linux.* DEFAULT GLIBC_2.16 x86_64-.*-linux.* libpthread=0 GLIBC_2.16 |