This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Move architecture-specific shlib-versions entries to sysdeps files


The patch looks ok for powerpc64 and I have checked on powerpc64be, thanks!


On 08-09-2014 14:48, Joseph S. Myers wrote:
> This patch eliminates another way in which ex-ports and non-ex-ports
> architectures differ, by moving architecture-specific entries from the
> top-level shlib-versions file and that in nptl/ to appropriate sysdeps
> directories.  As with my previous patch
> <https://sourceware.org/ml/libc-alpha/2014-06/msg00949.html>, I do not
> change the regular expressions used; even where the present
> expressions seem more general, I believe they are in fact specific to
> the chosen sysdeps directory, because any port that matches the
> expression but not the sysdeps directory does not currently exist, and
> so would use different symbol versions if added in future (and an
> intended goal of these changes is to eliminate the first column in
> shlib-versions completely rather than having two different mechanisms
> in use for system-specific configuration).
>
> Tested on x86_64 that this does not change the installed shared
> libraries.  (x86_64 of course does not provide much test coverage for
> this patch - what should be architecture-specific contents in
> shlib-versions for x86_64 is currently abi-*-ld-soname Makefile
> settings, until gnu/lib-names.h is generated more like gnu/stubs.h so
> those can move back to shlib-versions - so it would be useful for
> architecture maintainers for at least one affected architecture to
> confirm it does not change installed shared libraries there.)
>
> 2014-09-08  Joseph Myers  <joseph@codesourcery.com>
>
> 	* nptl/shlib-versions: Remove architecture-specific entries.
> 	Moved to files in sysdeps.
> 	* shlib-versions: Likewise.
> 	* sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions: New
> 	file.
> 	* sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions: Likewise.
> 	* sysdeps/unix/sysv/linux/sh/shlib-versions: Likewise.
> 	* sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions: Likewise.
> 	* sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions: Likewise.
>
> diff --git a/nptl/shlib-versions b/nptl/shlib-versions
> index f6b9b9a..f2cc32d 100644
> --- a/nptl/shlib-versions
> +++ b/nptl/shlib-versions
> @@ -1,6 +1 @@
> -sparc64.*-.*-linux.*	libpthread=0		GLIBC_2.2
> -sh.*-.*-linux.*		libpthread=0		GLIBC_2.2
> -s390x-.*-linux.*	libpthread=0		GLIBC_2.2
> -powerpc64-.*-linux.*	libpthread=0		GLIBC_2.3
> -powerpc.*le-.*-linux.*	libpthread=0		GLIBC_2.17
>  .*-.*-linux.*		libpthread=0
> diff --git a/shlib-versions b/shlib-versions
> index 40469bd..860fb94 100644
> --- a/shlib-versions
> +++ b/shlib-versions
> @@ -21,23 +21,16 @@
>  # Configuration		DEFAULT			Earliest symbol set
>  # -------------		---------------		------------------------------
>
> -s390x-.*-linux.*        DEFAULT			GLIBC_2.2
> -powerpc64-.*-linux.*	DEFAULT			GLIBC_2.3
> -powerpc.*le-.*-linux.*	DEFAULT			GLIBC_2.17
>  .*-.*-gnu-gnu.*		DEFAULT			GLIBC_2.2.6
>
>  # Configuration		Library=version		Earliest symbol set (optional)
>  # -------------		---------------		------------------------------
>
>  # The interface to -lm depends mostly only on cpu, not on operating system.
> -sparc64.*-.*-linux.*	libm=6			GLIBC_2.2
> -sh.*-.*-linux.*		libm=6			GLIBC_2.2
>  .*-.*-linux.*		libm=6
>  .*-.*-gnu-gnu.*		libm=6
>
>  # We provide libc.so.6 for Linux kernel versions 2.0 and later.
> -sh.*-.*-linux.*		libc=6			GLIBC_2.2
> -sparc64.*-.*-linux.*	libc=6			GLIBC_2.2
>  .*-.*-linux.*		libc=6
>
>  # libmachuser.so.1 corresponds to mach/*.defs as of Utah's UK22 release.
> @@ -49,10 +42,6 @@ sparc64.*-.*-linux.*	libc=6			GLIBC_2.2
>  # libc.so.0.3 is the first Hurd libc using libio.
>  .*-.*-gnu-gnu.*		libc=0.3
>
> -# The dynamic loader also requires different names.
> -sparc64.*-.*-linux.*	ld=ld-linux.so.2	GLIBC_2.2
> -sparc.*-.*-linux.*	ld=ld-linux.so.2
> -sh.*-.*-linux.*		ld=ld-linux.so.2	GLIBC_2.2
>  # We use the ELF ABI standard name for the default.
>  .*-.*-.*		ld=ld.so.1
>
> @@ -90,8 +79,6 @@ sh.*-.*-linux.*		ld=ld-linux.so.2	GLIBC_2.2
>  .*-.*-.*		libcrypt=1
>
>  # The gross patch for programs assuming broken locale implementations.
> -sh.*-.*-.*		libBrokenLocale=1	GLIBC_2.2
> -sparc64.*-.*-.*		libBrokenLocale=1	GLIBC_2.2
>  .*-.*-.*		libBrokenLocale=1
>
>  # The real-time library from POSIX.1b.
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions b/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions
> new file mode 100644
> index 0000000..f648023
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions
> @@ -0,0 +1,4 @@
> +powerpc64-.*-linux.*	DEFAULT			GLIBC_2.3
> +powerpc.*le-.*-linux.*	DEFAULT			GLIBC_2.17
> +powerpc64-.*-linux.*	libpthread=0		GLIBC_2.3
> +powerpc.*le-.*-linux.*	libpthread=0		GLIBC_2.17
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions b/sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions
> new file mode 100644
> index 0000000..cab0c0b
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions
> @@ -0,0 +1,2 @@
> +s390x-.*-linux.*        DEFAULT			GLIBC_2.2
> +s390x-.*-linux.*	libpthread=0		GLIBC_2.2
> diff --git a/sysdeps/unix/sysv/linux/sh/shlib-versions b/sysdeps/unix/sysv/linux/sh/shlib-versions
> new file mode 100644
> index 0000000..c376fe8
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/sh/shlib-versions
> @@ -0,0 +1,5 @@
> +sh.*-.*-linux.*		libm=6			GLIBC_2.2
> +sh.*-.*-linux.*		libc=6			GLIBC_2.2
> +sh.*-.*-linux.*		ld=ld-linux.so.2	GLIBC_2.2
> +sh.*-.*-.*		libBrokenLocale=1	GLIBC_2.2
> +sh.*-.*-linux.*		libpthread=0		GLIBC_2.2
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions b/sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions
> new file mode 100644
> index 0000000..26ca1f4
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions
> @@ -0,0 +1 @@
> +sparc.*-.*-linux.*	ld=ld-linux.so.2
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions b/sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions
> new file mode 100644
> index 0000000..58d2c24
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions
> @@ -0,0 +1,5 @@
> +sparc64.*-.*-linux.*	libm=6			GLIBC_2.2
> +sparc64.*-.*-linux.*	libc=6			GLIBC_2.2
> +sparc64.*-.*-linux.*	ld=ld-linux.so.2	GLIBC_2.2
> +sparc64.*-.*-.*		libBrokenLocale=1	GLIBC_2.2
> +sparc64.*-.*-linux.*	libpthread=0		GLIBC_2.2
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]