diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-06-17 20:22:39 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-06-17 20:22:39 +0000 |
commit | c36213513490412941512daccf447513e442651b (patch) | |
tree | d5be56d7d716470d892ca65d847c73165866a28b /sysdeps/unix/syscalls.list | |
parent | abccad04b4172d552dbdae948c0e567ba266ad76 (diff) | |
download | glibc-c36213513490412941512daccf447513e442651b.tar.gz glibc-c36213513490412941512daccf447513e442651b.tar.xz glibc-c36213513490412941512daccf447513e442651b.zip |
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.
Diffstat (limited to 'sysdeps/unix/syscalls.list')
-rw-r--r-- | sysdeps/unix/syscalls.list | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/unix/syscalls.list b/sysdeps/unix/syscalls.list index b3358bd933..2254c761b4 100644 --- a/sysdeps/unix/syscalls.list +++ b/sysdeps/unix/syscalls.list @@ -29,7 +29,7 @@ gethostname - gethostname i:bn __gethostname gethostname getitimer - getitimer i:ip __getitimer getitimer getpeername - getpeername i:ibN __getpeername getpeername getpid - getpid Ei: __getpid getpid -getpriority - getpriority i:ii getpriority +getpriority - getpriority i:ii __getpriority getpriority getrlimit - getrlimit i:ip __getrlimit getrlimit getrusage - getrusage i:ip __getrusage getrusage getsockname - getsockname i:ibN __getsockname getsockname @@ -72,7 +72,7 @@ sethostid - sethostid i:i sethostid sethostname - sethostname i:pi sethostname setitimer - setitimer i:ipp __setitimer setitimer setpgid - setpgrp i:ii __setpgid setpgid -setpriority - setpriority i:iii setpriority +setpriority - setpriority i:iii __setpriority setpriority setregid - setregid i:ii __setregid setregid setreuid - setreuid i:ii __setreuid setreuid setrlimit - setrlimit i:ip __setrlimit setrlimit |