glibc/sysdeps/unix/sysv/linux/wordsize-64
Joseph Myers 1a2325c06c Fix posix_spawn getrlimit64 namespace (bug 17991).
posix_spawn (a standard POSIX function) brings in a use of getrlimit64
(not a standard POSIX function).  This patch fixes this by using
__getrlimit64 and making getrlimit64 a weak alias.

This is more complicated than some such changes because of files that
define getrlimit64 in their own way using symbol versioning after
including the main sysdeps/unix/sysv/linux/getrlimit64.c with a
getrlimit macro defined.  There are various existing patterns for such
cases in glibc; the one I've used here is that a getrlimit64 macro
disables the weak_alias / libc_hidden_weak calls, leaving it to the
including file to define the getrlimit64 name in whatever way is
appropriate.

Tested for x86_64 and x86 that installed stripped shared libraries are
unchanged by this patch.

	[BZ #17991]
	* include/sys/resource.h (__getrlimit64): Declare.  Use
	libc_hidden_proto.
	* resource/getrlimit64.c (getrlimit64): Rename to __getrlimit64
	and define as weak alias of __getrlimit64.  Use libc_hidden_weak.
	* sysdeps/posix/spawni.c (__spawni): Call __getrlimit64 instead of
	getrlimit64.
	* sysdeps/unix/sysv/linux/getrlimit64.c (getrlimit64): Rename to
	__getrlimit64.
	[!getrlimit64] (getrlimit64): Define as weak alias of
	__getrlimit64.  Use libc_hidden_weak.
	* sysdeps/unix/sysv/linux/i386/getrlimit64.c (getrlimit64): Define
	using __getrlimit64 not __new_getrlimit64.
	(__GI_getrlimit64): Likewise.
	* sysdeps/unix/sysv/linux/mips/getrlimit64.c (getrlimit64):
	Likewise.
	(__GI_getrlimit64): Likewise.
	(__old_getrlimit64): Use __getrlimit64 not __new_getrlimit64.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list
	(getrlimit): Add __getrlimit64 alias.
	* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list (getrlimit):
	Likewise.
	* conform/Makefile (test-xfail-XOPEN2K/spawn.h/linknamespace):
	Remove variable.
	(test-xfail-POSIX2008/spawn.h/linknamespace): Likewise.
	(test-xfail-XOPEN2K8/spawn.h/linknamespace): Likewise.
2015-02-18 00:26:35 +00:00
..
aio_read64.c * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to.. 2007-11-10 19:36:06 +00:00
aio_read.c * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to.. 2007-11-10 19:36:06 +00:00
aio_write64.c * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to.. 2007-11-10 19:36:06 +00:00
aio_write.c * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to.. 2007-11-10 19:36:06 +00:00
creat64.c * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to.. 2007-11-10 19:36:06 +00:00
dl-fxstatat64.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
fallocate64.c * sysdeps/unix/sysv/linux/fallocate.c: New file. 2009-03-02 16:15:58 +00:00
fallocate.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fstatfs64.c
fstatvfs64.c
fstatvfs.c
ftruncate64.c
fxstat64.c
fxstat.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fxstatat64.c
fxstatat.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getdents64.c
getdents.c
getdirentries64.c * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to.. 2007-11-10 19:36:06 +00:00
getdirentries.c * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to.. 2007-11-10 19:36:06 +00:00
getrlimit64.c
glob64.c Fix glob64 broken by cleanup. 2013-05-06 17:11:12 -07:00
internal_statvfs64.c
lio_listio64.c * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to.. 2007-11-10 19:36:06 +00:00
lio_listio.c * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to.. 2007-11-10 19:36:06 +00:00
lxstat64.c
lxstat.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
mmap64.c
open64.c * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to.. 2007-11-10 19:36:06 +00:00
openat64.c * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to.. 2007-11-10 19:36:06 +00:00
openat.c Consolidate definitions of _FORTIFY_SOURCE wrappers for open{,64}{,at}. 2013-05-03 16:33:26 -07:00
posix_fadvise64.c
posix_fadvise.c Fix wordsize-64 posix_fadvise64, posix_fallocate64 namespace (bug 17777). 2015-01-05 14:37:07 +00:00
posix_fallocate64.c
posix_fallocate.c Fix wordsize-64 posix_fadvise64, posix_fallocate64 namespace (bug 17777). 2015-01-05 14:37:07 +00:00
pread64.c
preadv64.c * misc/Makefile (routines): Add preadv, preadv64, pwritev, pwritev64. 2009-04-03 19:57:16 +00:00
preadv.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
pwrite64.c
pwritev64.c * misc/Makefile (routines): Add preadv, preadv64, pwritev, pwritev64. 2009-04-03 19:57:16 +00:00
pwritev.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
readdir64_r.c
readdir64.c
readdir_r.c CVE-2013-4237, BZ #14699: Buffer overflow in readdir_r 2013-08-16 09:40:34 +02:00
readdir.c Move common dirent implementation from sysdeps/unix to sysdeps/posix. 2012-08-07 14:47:34 -07:00
sendfile64.c
setrlimit64.c
statfs64.c
statvfs64.c
statvfs.c
syscalls.list Fix posix_spawn getrlimit64 namespace (bug 17991). 2015-02-18 00:26:35 +00:00
truncate64.c
Versions Add missing export of fallocate64 on 32-bit platforms. 2009-05-15 21:00:09 -07:00
xstat64.c
xstat.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00