glibc/sysdeps/unix/sysv/linux
Joseph Myers 93ae1ebaa6 Clean up gnu/lib-names.h generation (bug 14171).
This patch eliminates the mixture of SONAME information in
shlib-versions files and SONAME information used to generate
gnu/lib-names.h in makefiles, with the information in the makefiles
being removed so all this information comes from the shlib-versions
files.

So that gnu/lib-names.h supports multiple ABIs, it is changed to be
generated on the same basis as gnu/stubs.h: when there are multiple
ABIs, gnu/lib-names.h is a wrapper header (the same header installed
whatever ABI is being built) and separate headers such as
gnu/lib-names-64.h contain the substantive contents (only one such
header being installed by any glibc build).

The rules for building gnu/lib-names.h were moved from Makeconfig to
Makerules because they need to come after sysdeps makefiles are
included (now that "ifndef abi-variants" is a toplevel conditional on
the rules rather than $(abi-variants) being evaluated later inside the
commands for a rule).

Tested for x86_64 and x86 that the installed shared libraries are
unchanged by this patch, and examined the installed gnu/lib-names*.h
headers by hand.  Also tested the case of a single ABI (where there is
just a single header installed, again like stubs.h) by hacking
abi-variants to empty for x86_64.

	[BZ #14171]
	* Makeconfig [$(build-shared) = yes]
	($(common-objpfx)soversions.mk): Don't handle SONAMEs specified in
	makefiles.
	[$(build-shared) = yes && $(soversions.mk-done) = t]
	($(common-objpfx)gnu/lib-names.h): Remove rule.
	[$(build-shared) = yes && $(soversions.mk-done) = t]
	($(common-objpfx)gnu/lib-names.stmp): Likewise.  Split and moved
	to Makerules.
	[$(build-shared) = yes && $(soversions.mk-done) = t]
	(before-compile): Don't append $(common-objpfx)gnu/lib-names.h
	here.
	[$(build-shared) = yes && $(soversions.mk-done) = t]
	(common-generated): Don't append gnu/lib-names.h and
	gnu/lib-names.stmp here.
	* Makerules [$(build-shared) = yes && $(soversions.mk-done) = t]
	(lib-names-h-abi): New variable.
	[$(build-shared) = yes && $(soversions.mk-done) = t]
	(lib-names-stmp-abi): Likewise.
	[$(build-shared) = yes && $(soversions.mk-done) = t &&
	abi-variants] (before-compile): Append
	$(common-objpfx)$(lib-names-h-abi).
	[$(build-shared) = yes && $(soversions.mk-done) = t &&
	abi-variants] (common-generated): Append gnu/lib-names.h.
	[$(build-shared) = yes && $(soversions.mk-done) = t &&
	abi-variants] (install-others-nosubdir): Depend on
	$(inst_includedir)/$(lib-names-h-abi).
	[$(build-shared) = yes && $(soversions.mk-done) = t &&
	abi-variants] ($(common-objpfx)gnu/lib-names.h): New rule.
	[$(build-shared) = yes && $(soversions.mk-done) = t]
	($(common-objpfx)$(lib-names-h-abi)): New rule.
	[$(build-shared) = yes && $(soversions.mk-done) = t]
	($(common-objpfx)$(lib-names-stmp-abi)): Likewise.
	[$(build-shared) = yes && $(soversions.mk-done) = t]
	(common-generated): Append $(lib-names-h-abi) and
	$(lib-names-stmp-abi).
	* scripts/lib-names.awk: Do not handle multi being set.
	* sysdeps/unix/sysv/linux/aarch64/Makefile (abi-lp64-ld-soname):
	Remove variable.
	(abi-lp64_be-ld-soname): Likewise.
	* sysdeps/unix/sysv/linux/arm/Makefile (abi-soft-ld-soname):
	Likewise.
	(abi-hard-ld-soname): Likewise.
	* sysdeps/unix/sysv/linux/i386/shlib-versions: New file.
	* sysdeps/unix/sysv/linux/mips/Makefile (abi-o32_soft-ld-soname):
	Remove variable.
	(abi-o32_hard-ld-soname): Likewise.
	(abi-o32_soft_2008-ld-soname): Likewise.
	(abi-o32_hard_2008-ld-soname): Likewise.
	(abi-n32_soft-ld-soname): Likewise.
	(abi-n32_hard-ld-soname): Likewise.
	(abi-n32_soft_2008-ld-soname): Likewise.
	(abi-n32_hard_2008-ld-soname): Likewise.
	(abi-n64_soft-ld-soname): Likewise.
	(abi-n64_hard-ld-soname): Likewise.
	(abi-n64_soft_2008-ld-soname): Likewise.
	(abi-n64_hard_2008-ld-soname): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Makefile (abi-64-v1-ld-soname):
	Likewise.
	(abi-64-v2-ld-soname): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions: Add
	ld.so entries.
	* sysdeps/unix/sysv/linux/s390/Makefile (abi-64-ld-soname): Remove
	variable.
	* sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions: Add ld.so
	entry.
	* sysdeps/unix/sysv/linux/x86/Makefile (abi-32-ld-soname): Remove
	variable.
	(abi-64-ld-soname): Likewise.
	(abi-x32-ld-soname): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/64/shlib-versions: Add ld.so
	entry.
	* sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions: Likewise.
2014-09-26 17:33:04 +00:00
..
aarch64 Clean up gnu/lib-names.h generation (bug 14171). 2014-09-26 17:33:04 +00:00
alpha Remove configuration name patterns from shlib-versions. 2014-09-12 12:28:47 +00:00
arm Clean up gnu/lib-names.h generation (bug 14171). 2014-09-26 17:33:04 +00:00
bits fcntl-linux.h: add new definitions and manual updates for open file description locks 2014-07-29 23:27:21 -04:00
generic Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
hppa Fix prototype of eventfd. 2014-09-20 14:05:49 +02:00
i386 Clean up gnu/lib-names.h generation (bug 14171). 2014-09-26 17:33:04 +00:00
ia64 Remove configuration name patterns from shlib-versions. 2014-09-12 12:28:47 +00:00
m68k Move some setrlimit definitions to syscalls.list (bug 14138). 2014-09-23 14:12:50 +00:00
microblaze Remove configuration name patterns from shlib-versions. 2014-09-12 12:28:47 +00:00
mips Clean up gnu/lib-names.h generation (bug 14171). 2014-09-26 17:33:04 +00:00
net
netash
netatalk
netax25
neteconet
netinet
netipx
netiucv
netpacket
netrom
netrose
nfs
powerpc Clean up gnu/lib-names.h generation (bug 14171). 2014-09-26 17:33:04 +00:00
s390 Clean up gnu/lib-names.h generation (bug 14171). 2014-09-26 17:33:04 +00:00
scsi
sh Move some setrlimit definitions to syscalls.list (bug 14138). 2014-09-23 14:12:50 +00:00
sparc Remove configuration name patterns from shlib-versions. 2014-09-12 12:28:47 +00:00
sys Fix prototype of eventfd. 2014-09-20 14:05:49 +02:00
tile Remove configuration name patterns from shlib-versions. 2014-09-12 12:28:47 +00:00
wordsize-64 Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
x86 Clean up gnu/lib-names.h generation (bug 14171). 2014-09-26 17:33:04 +00:00
x86_64 Clean up gnu/lib-names.h generation (bug 14171). 2014-09-26 17:33:04 +00:00
_exit.c
_G_config.h
a.out.h
accept4.c
accept.S
adjtime.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
aio_misc.h Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
aio_sigqueue.c
allocrtsig.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
arch-fork.h
bind.S
check_native.c
check_pf.c Fix crash when system has no ipv6 address [BZ #17125] 2014-07-10 14:15:16 +05:30
clock_getcpuclockid.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
clock_getres.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
clock_gettime.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
clock_nanosleep.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
clock_settime.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
clock.c
cmsg_nxthdr.c
configure Remove bitrotten --enable-oldest-abi (bug 6652). 2014-09-16 17:45:03 +00:00
configure.ac Remove bitrotten --enable-oldest-abi (bug 6652). 2014-09-16 17:45:03 +00:00
connect.S
device-nrs.h
dl-brk.c
dl-execstack.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
dl-fxstatat64.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
dl-getcwd.c
dl-librecon.h
dl-openat64.c
dl-opendir.c Remove __ASSUME_O_CLOEXEC / O_CLOEXEC conditionals in sysdeps/unix/sysv/linux/. 2014-06-25 20:29:45 +00:00
dl-origin.c
dl-osinfo.h Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
dl-sbrk.c
dl-sysdep.c Add missing #include for MIN use in dl-sysdep.c. 2014-07-02 11:10:08 -07:00
dl-sysdep.h
dl-vdso.c
dl-vdso.h
dl-writev.h
epoll_pwait.c
errqueue.h
eventfd_read.c
eventfd_write.c
eventfd.c Fix prototype of eventfd. 2014-09-20 14:05:49 +02:00
execve.c
exit-thread.h
faccessat.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
fallocate64.c
fallocate.c
fatal-prepare.h
fchmodat.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
fchownat.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
fcntl.c Remove __ASSUME_F_GETOWN_EX. 2014-06-20 20:04:33 +00:00
fd_to_filename.h
fexecve.c
fips-private.h
fpathconf.c
fstatfs64.c
fstatvfs64.c Avoid stat/fstat in statvfs/fstatvfs (BZ #15132) 2014-05-29 09:41:29 +05:30
fstatvfs.c Remove an unused variable in fstatvfs. 2014-06-23 14:05:14 -07:00
ftime.c
ftruncate64.c
futimens.c
futimes.c Remove __ASSUME_UTIMENSAT. 2014-06-25 11:36:10 +00:00
futimesat.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
fxstat64.c
fxstat.c
fxstatat64.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
fxstatat.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
gai_sigqueue.c
getclktck.c
getcwd.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
getdents64.c
getdents.c
getdirentries64.c
getdirentries.c
getdtsz.c
gethostid.c
getipv4sourcefilter.c
getloadavg.c
getlogin_r.c
getlogin.c
getpagesize.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
getpeername.S
getpid.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
getpriority.c
getpt.c
getrlimit64.c
getsockname.S
getsockopt.S
getsourcefilter.c
getsysstats.c Remove __ASSUME_O_CLOEXEC / O_CLOEXEC conditionals in sysdeps/unix/sysv/linux/. 2014-06-25 20:29:45 +00:00
grantpt.c
if_index.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
ifaddrs.c Handle zero prefix length in getifaddrs (BZ #17371) 2014-09-15 18:59:37 +02:00
ifreq.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
Implies Get rid of nptl/sysdeps/pthread/ subdirectory 2014-06-12 13:48:47 -07:00
internal_accept4.S
internal_recvmmsg.S
internal_sendmmsg.S
internal_statvfs64.c
internal_statvfs.c Avoid stat/fstat in statvfs/fstatvfs (BZ #15132) 2014-05-29 09:41:29 +05:30
ipc_priv.h
kernel_sigaction.h
kernel_stat.h
kernel_termios.h
kernel-features.h [PATCH 6/6] Split s390 out of main Linux kernel-features.h. 2014-07-17 17:55:44 +00:00
kernel-posix-cpu-timers.h
kernel-posix-timers.h Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
ldd-rewrite.sed
lddlibc4.c
ldsodefs.h Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
libc_fatal.c
linkat.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
linux_fsinfo.h
listen.S
llseek.c
local-setxid.h
lowlevellock-futex.h Separate Linuxisms from lowlevellock.h, make a generic one 2014-07-15 15:23:06 -07:00
lseek64.c
lutimes.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
lxstat64.c
lxstat.c
makedev.c
Makefile Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
malloc-sysdep.h
mkdirat.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
mmap64.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
mq_close.c
mq_getattr.c
mq_notify.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
mq_open.c
mq_receive.c
mq_send.c
mq_unlink.c
msgctl.c
msgget.c
msgrcv.c
msgsnd.c
netlinkaccess.h Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
nice.c
not-cancel.h
nptl-signals.h Split nptl-signals.h out from pthreadP.h 2014-07-31 11:37:48 -07:00
nscd_setup_thread.c
ntp_gettime.c
ntp_gettimex.c
open64.c
openat64.c
openat.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
opendir.c
opensock.c Remove __ASSUME_SOCK_CLOEXEC / SOCK_CLOEXEC conditionals in Linux-specific code. 2014-06-20 23:22:08 +00:00
pathconf.c Remove __ASSUME_XFS_RESTRICTED_CHOWN. 2014-06-25 16:39:33 +00:00
pathconf.h
paths.h
posix_fadvise64.c
posix_fadvise.c
posix_fallocate64.c
posix_fallocate.c
posix_madvise.c
ppoll.c
pread64.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
pread.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
preadv64.c
preadv.c
prlimit.c
prof-freq.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
profil.c
pselect.c
pt-raise.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
pthread_getaffinity.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
pthread_getcpuclockid.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
pthread_getname.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
pthread_kill.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
pthread_setaffinity.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
pthread_setname.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
pthread_sigmask.c Get rid of nptl/sysdeps/pthread/ subdirectory 2014-06-12 13:48:47 -07:00
pthread_sigqueue.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
ptrace.c
ptsname.c
pwrite64.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
pwrite.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
pwritev64.c
pwritev.c
raise.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
readahead.c
readdir64_r.c
readdir64.c
readlinkat.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
readonly-area.c
readv.c Remove __ASSUME_COMPLETE_READV_WRITEV. 2014-06-25 11:31:51 +00:00
reboot.c
recv.S
recvfrom.S
recvmmsg.c Sync recvmmsg prototype with kernel usage. 2014-09-20 13:53:44 +02:00
recvmsg.S
remove.c
renameat.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
sa_len.c
safe-fatal.h Add __safe_fatal and use it in __pthread_unwind forwarder fallback. 2014-07-31 14:00:33 -07:00
sched_getaffinity.c
sched_getcpu.c
sched_setaffinity.c
segfault.c
semctl.c
semget.c
semop.c
semtimedop.c
send.S
sendmmsg.c
sendmsg.S
sendto.S
setegid.c
seteuid.c
setgid.c
setgroups.c
sethostid.c
setipv4sourcefilter.c
setregid.c
setresgid.c
setresuid.c
setreuid.c
setrlimit64.c
setsockopt.S
setsourcefilter.c
setuid.c
shlib-versions Remove configuration name patterns from shlib-versions. 2014-09-12 12:28:47 +00:00
shm_open.c Remove __ASSUME_O_CLOEXEC / O_CLOEXEC conditionals in sysdeps/unix/sysv/linux/. 2014-06-25 20:29:45 +00:00
shm_unlink.c
shmat.c
shmctl.c
shmdt.c
shmget.c
shutdown.S
sigaction.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
siglist.h
signal.c
signalfd.c
sigpending.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
sigprocmask.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
sigqueue.c
sigreturn.c
sigset-cvt-mask.h
sigstack.c
sigsuspend.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
sigtimedwait.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
sigwait.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
sigwaitinfo.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
sizes.h
sleep.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
socketcall.h
socketpair.S
speed.c
statfs64.c
statvfs64.c Avoid stat/fstat in statvfs/fstatvfs (BZ #15132) 2014-05-29 09:41:29 +05:30
statvfs.c Avoid stat/fstat in statvfs/fstatvfs (BZ #15132) 2014-05-29 09:41:29 +05:30
symlinkat.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
sync_file_range.c
syscalls.list Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
sysconf.c Add missing #include for MIN/MAX users. 2014-07-01 15:01:24 -07:00
sysctl.c
sysctl.mk
syslog.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
system.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
tcdrain.c
tcflow.c
tcflush.c
tcgetattr.c
tcgetpgrp.c
tcsendbrk.c
tcsetattr.c
tcsetpgrp.c
termio.h
testrtsig.h Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
time.c
timer_create.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
timer_delete.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
timer_getoverr.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
timer_gettime.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
timer_routines.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
timer_settime.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
times.c
timespec_get.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
truncate64.c
tst-clone.c
tst-fanotify.c
tst-getcpu.c
tst-setgetname.c Get rid of nptl/sysdeps/ entirely! 2014-07-07 09:28:38 -07:00
ttyname_r.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
ttyname.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
ualarm.c
umount2.S
umount.S
unlinkat.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
unlockpt.c
updwtmp.c
usleep.c
ustat.c
utimensat.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
utimes.c
utmp_file.c
Versions
vfork.c
wait3.c
wait.c
waitid.c
waitpid.c
writev.c Remove __ASSUME_COMPLETE_READV_WRITEV. 2014-06-25 11:31:51 +00:00
xmknod.c
xmknodat.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
xstat64.c
xstat.c
xstatconv.c
xstatconv.h Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00