This is the mail archive of the glibc-cvs@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]

GNU C Library master sources branch master updated. glibc-2.21-492-gc362135


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  c36213513490412941512daccf447513e442651b (commit)
      from  abccad04b4172d552dbdae948c0e567ba266ad76 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=c36213513490412941512daccf447513e442651b

commit c36213513490412941512daccf447513e442651b
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Jun 17 20:22:39 2015 +0000

    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.

diff --git a/ChangeLog b/ChangeLog
index 4ce8eb9..338bf8d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,29 @@
 2015-06-17  Joseph Myers  <joseph@codesourcery.com>
 
+	[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.
+
 	[BZ #18547]
 	* misc/getttyent.c (getttynam): Rename to __getttynam and define
 	as weak alias of __getttynam.  Use prototype function definition.
diff --git a/NEWS b/NEWS
index 3adec9b..1f6b701 100644
--- a/NEWS
+++ b/NEWS
@@ -22,7 +22,8 @@ Version 2.22
   18324, 18333, 18346, 18397, 18409, 18410, 18412, 18418, 18422, 18434,
   18444, 18468, 18469, 18470, 18479, 18483, 18495, 18496, 18497, 18498,
   18507, 18512, 18519, 18520, 18522, 18527, 18528, 18529, 18530, 18532,
-  18533, 18534, 18536, 18539, 18540, 18542, 18544, 18545, 18546, 18547.
+  18533, 18534, 18536, 18539, 18540, 18542, 18544, 18545, 18546, 18547,
+  18553.
 
 * Cache information can be queried via sysconf() function on s390 e.g. with
   _SC_LEVEL1_ICACHE_SIZE as argument.
diff --git a/conform/Makefile b/conform/Makefile
index ad9cc69..4bc8121 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -342,6 +342,3 @@ test-xfail-XPG4/ndbm.h/linknamespace = yes
 test-xfail-UNIX98/ndbm.h/linknamespace = yes
 test-xfail-XOPEN2K/ndbm.h/linknamespace = yes
 test-xfail-XOPEN2K8/ndbm.h/linknamespace = yes
-
-# Unsorted expected failures.
-test-xfail-XPG3/unistd.h/linknamespace = yes
diff --git a/include/sys/resource.h b/include/sys/resource.h
index 7622da9..688c46c 100644
--- a/include/sys/resource.h
+++ b/include/sys/resource.h
@@ -2,8 +2,14 @@
 #include <resource/sys/resource.h>
 
 #ifndef _ISOMAC
-libc_hidden_proto (getpriority)
-libc_hidden_proto (setpriority)
+/* Prototypes repeated instead of using __typeof because
+   sys/resource.h is included in C++ tests, and declaring functions
+   with __typeof and __THROW doesn't work for C++.  */
+extern int __getpriority (__priority_which_t __which, id_t __who) __THROW;
+libc_hidden_proto (__getpriority)
+extern int __setpriority (__priority_which_t __which, id_t __who, int __prio)
+     __THROW;
+libc_hidden_proto (__setpriority)
 libc_hidden_proto (getrlimit64)
 extern __typeof (getrlimit64) __getrlimit64;
 libc_hidden_proto (__getrlimit64);
diff --git a/resource/getpriority.c b/resource/getpriority.c
index 88ec4db..6df7294 100644
--- a/resource/getpriority.c
+++ b/resource/getpriority.c
@@ -23,13 +23,14 @@
    or user (as specified by WHO) is used.  A lower priority number means higher
    priority.  Priorities range from PRIO_MIN to PRIO_MAX.  */
 int
-getpriority (which, who)
+__getpriority (which, who)
      enum __priority_which which;
      id_t who;
 {
   __set_errno (ENOSYS);
   return -1;
 }
-libc_hidden_def (getpriority)
+libc_hidden_def (__getpriority)
+weak_alias (__getpriority, getpriority)
 
 stub_warning (getpriority)
diff --git a/resource/setpriority.c b/resource/setpriority.c
index 08b0a95..91521bd 100644
--- a/resource/setpriority.c
+++ b/resource/setpriority.c
@@ -21,7 +21,7 @@
 /* Set the priority of all processes specified by WHICH and WHO
    to PRIO.  Returns 0 on success, -1 on errors.  */
 int
-setpriority (which, who, prio)
+__setpriority (which, who, prio)
      enum __priority_which which;
      id_t who;
      int prio;
@@ -29,6 +29,7 @@ setpriority (which, who, prio)
   __set_errno (ENOSYS);
   return -1;
 }
-libc_hidden_def (setpriority)
+libc_hidden_def (__setpriority)
+weak_alias (__setpriority, setpriority)
 
 stub_warning (setpriority)
diff --git a/sysdeps/mach/hurd/getpriority.c b/sysdeps/mach/hurd/getpriority.c
index bb81ee6..73c7ad3 100644
--- a/sysdeps/mach/hurd/getpriority.c
+++ b/sysdeps/mach/hurd/getpriority.c
@@ -24,7 +24,7 @@
    or user (as specified by WHO) is used.  A lower priority number means higher
    priority.  Priorities range from PRIO_MIN to PRIO_MAX.  */
 int
-getpriority (enum __priority_which which, id_t who)
+__getpriority (enum __priority_which which, id_t who)
 {
   error_t err, onerr;
   int maxpri = INT_MIN;
@@ -81,4 +81,5 @@ getpriority (enum __priority_which which, id_t who)
 
   return MACH_PRIORITY_TO_NICE (maxpri);
 }
-libc_hidden_def (getpriority)
+libc_hidden_def (__getpriority)
+weak_alias (__getpriority, getpriority)
diff --git a/sysdeps/mach/hurd/setpriority.c b/sysdeps/mach/hurd/setpriority.c
index 43b8877..41d7aa4 100644
--- a/sysdeps/mach/hurd/setpriority.c
+++ b/sysdeps/mach/hurd/setpriority.c
@@ -21,7 +21,7 @@
 /* Set the priority of all processes specified by WHICH and WHO
    to PRIO.  Returns 0 on success, -1 on errors.  */
 int
-setpriority (enum __priority_which which, id_t who, int prio)
+__setpriority (enum __priority_which which, id_t who, int prio)
 {
   error_t err;
   error_t pidloser, priloser;
@@ -94,4 +94,5 @@ setpriority (enum __priority_which which, id_t who, int prio)
 
   return err ? __hurd_fail (err) : 0;
 }
-libc_hidden_def (setpriority)
+libc_hidden_def (__setpriority)
+weak_alias (__setpriority, setpriority)
diff --git a/sysdeps/posix/nice.c b/sysdeps/posix/nice.c
index 67b1273..42bb99b 100644
--- a/sysdeps/posix/nice.c
+++ b/sysdeps/posix/nice.c
@@ -31,7 +31,7 @@ nice (int incr)
   /* -1 is a valid priority, so we use errno to check for an error.  */
   save = errno;
   __set_errno (0);
-  prio = getpriority (PRIO_PROCESS, 0);
+  prio = __getpriority (PRIO_PROCESS, 0);
   if (prio == -1)
     {
       if (errno != 0)
@@ -40,12 +40,12 @@ nice (int incr)
 	__set_errno (save);
     }
 
-  result = setpriority (PRIO_PROCESS, 0, prio + incr);
+  result = __setpriority (PRIO_PROCESS, 0, prio + incr);
   if (result == -1)
     {
       if (errno == EACCES)
 	errno = EPERM;
       return -1;
     }
-  return getpriority (PRIO_PROCESS, 0);
+  return __getpriority (PRIO_PROCESS, 0);
 }
diff --git a/sysdeps/unix/syscalls.list b/sysdeps/unix/syscalls.list
index b3358bd..2254c76 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
diff --git a/sysdeps/unix/sysv/linux/getpriority.c b/sysdeps/unix/sysv/linux/getpriority.c
index 96d9de3..9c691bb 100644
--- a/sysdeps/unix/sysv/linux/getpriority.c
+++ b/sysdeps/unix/sysv/linux/getpriority.c
@@ -32,7 +32,7 @@
    priority.  Priorities range from PRIO_MIN to PRIO_MAX.  */
 
 int
-getpriority (enum __priority_which which, id_t who)
+__getpriority (enum __priority_which which, id_t who)
 {
   int res;
 
@@ -41,4 +41,5 @@ getpriority (enum __priority_which which, id_t who)
     res = PZERO - res;
   return res;
 }
-libc_hidden_def (getpriority)
+libc_hidden_def (__getpriority)
+weak_alias (__getpriority, getpriority)

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                             |   24 ++++++++++++++++++++++++
 NEWS                                  |    3 ++-
 conform/Makefile                      |    3 ---
 include/sys/resource.h                |   10 ++++++++--
 resource/getpriority.c                |    5 +++--
 resource/setpriority.c                |    5 +++--
 sysdeps/mach/hurd/getpriority.c       |    5 +++--
 sysdeps/mach/hurd/setpriority.c       |    5 +++--
 sysdeps/posix/nice.c                  |    6 +++---
 sysdeps/unix/syscalls.list            |    4 ++--
 sysdeps/unix/sysv/linux/getpriority.c |    5 +++--
 11 files changed, 54 insertions(+), 21 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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