Fix nice getpriority, setpriority namespace (bug 18553).
commitc36213513490412941512daccf447513e442651b
authorJoseph Myers <joseph@codesourcery.com>
Wed, 17 Jun 2015 20:22:39 +0000 (17 20:22 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 17 Jun 2015 20:22:39 +0000 (17 20:22 +0000)
treed5be56d7d716470d892ca65d847c73165866a28b
parentabccad04b4172d552dbdae948c0e567ba266ad76
Fix nice getpriority, setpriority namespace (bug 18553).

nice (XPG3) calls getpriority and setpriority (in XPG4 but not XPG3,
i.e. UX-shaded in XPG4).  This patch fixes this by making those
functions into weak aliases of __* functions and calling the __*
versions as needed.

Tested for x86_64 and x86 (testsuite, and that disassembly of
installed shared libraries is unchanged by this patch).

This completes cleaning up the unsorted linknamespace test XFAILs.

[BZ #18553]
* resource/getpriority.c (getpriority): Rename to __getpriority
and define as weak alias of __getpriority.
* resource/setpriority.c (setpriority): Rename to __setpriority
and define as weak alias of __setpriority.
* sysdeps/mach/hurd/getpriority.c (getpriority): Rename to
__getpriority and define as weak alias of __getpriority.
* sysdeps/mach/hurd/setpriority.c (setpriority): Rename to
__setpriority and define as weak alias of __setpriority.
* sysdeps/unix/syscalls.list (getpriority): Use __getpriority as
strong name.
(setpriority): Use __setpriority as strong name.
* sysdeps/unix/sysv/linux/getpriority.c (getpriority): Rename to
__getpriority and define as weak alias of __getpriority.
* include/sys/resource.h (__getpriority): Declare.  Use
libc_hidden_proto.
(__setpriority): Likewise.
(getpriority): Don't use libc_hidden_proto.
(setpriority): Likewise.
* sysdeps/posix/nice.c (nice): Call __getpriority instead of
getpriority.  Call __setpriority instead of setpriority.
* conform/Makefile (test-xfail-XPG3/unistd.h/linknamespace):
Remove variable.
ChangeLog
NEWS
conform/Makefile
include/sys/resource.h
resource/getpriority.c
resource/setpriority.c
sysdeps/mach/hurd/getpriority.c
sysdeps/mach/hurd/setpriority.c
sysdeps/posix/nice.c
sysdeps/unix/syscalls.list
sysdeps/unix/sysv/linux/getpriority.c