]> sourceware.org Git - glibc.git/commitdiff
Hide internal __setrlimit function [BZ #18822]
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 2 Oct 2017 00:46:39 +0000 (17:46 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 2 Oct 2017 00:46:54 +0000 (17:46 -0700)
Hide internal __setrlimit function to allow direct access within libc.so
and libc.a without using GOT nor PLT.

[BZ #18822]
* include/sys/resource.h (__setrlimit): Add libc_hidden_proto.
* resource/setrlimit.c (__setrlimit): Add libc_hidden_def.
* sysdeps/mach/hurd/setrlimit.c (__setrlimit): Likewise.
* sysdeps/unix/sysv/linux/setrlimit.c (__setrlimit): Likewise.
* sysdeps/unix/sysv/linux/setrlimit64.c (__GI___setrlimit): New.

ChangeLog
include/sys/resource.h
resource/setrlimit.c
sysdeps/mach/hurd/setrlimit.c
sysdeps/unix/sysv/linux/setrlimit.c
sysdeps/unix/sysv/linux/setrlimit64.c

index 709f9836f8d58ec8cfd82d0cbc8b98b121104e02..86d30bedf267dbd49f00fa34e87744c4f0450fd8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       [BZ #18822]
+       * include/sys/resource.h (__setrlimit): Add libc_hidden_proto.
+       * resource/setrlimit.c (__setrlimit): Add libc_hidden_def.
+       * sysdeps/mach/hurd/setrlimit.c (__setrlimit): Likewise.
+       * sysdeps/unix/sysv/linux/setrlimit.c (__setrlimit): Likewise.
+       * sysdeps/unix/sysv/linux/setrlimit64.c (__GI___setrlimit): New.
+
 2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
 
        [BZ #18822]
index 688c46c4ae8c5b320fc1d5764ab8e423796f4726..c55d4e63bd20f63d7b931a9cdeb44a490d461c6f 100644 (file)
@@ -23,5 +23,6 @@ extern int __getrusage (enum __rusage_who __who, struct rusage *__usage)
 
 extern int __setrlimit (enum __rlimit_resource __resource,
                        const struct rlimit *__rlimits);
+libc_hidden_proto (__setrlimit);
 #endif
 #endif
index 6e3a1fbc5480d25f2d824e68206dc40453c7f08f..e02b6a826ae604b732428f14819968a18586474d 100644 (file)
@@ -29,6 +29,7 @@ __setrlimit (enum __rlimit_resource resource, const struct rlimit *rlimits)
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__setrlimit)
 weak_alias (__setrlimit, setrlimit)
 
 stub_warning (setrlimit)
index 3ea9af2e7c531cf745479c599619adc84dedf264..693422a53731a0dfa1f0e3863b2fd14c47513d94 100644 (file)
@@ -53,4 +53,5 @@ __setrlimit (enum __rlimit_resource resource, const struct rlimit *rlimits)
   return 0;
 }
 
+libc_hidden_def (__setrlimit)
 weak_alias (__setrlimit, setrlimit)
index 8773c782367dff5ddbfa684a553d2fe9de544ee8..50a21636ef860463c9ec40f09cf777fb826d63e6 100644 (file)
@@ -48,6 +48,7 @@ __setrlimit (enum __rlimit_resource resource, const struct rlimit *rlim)
   return INLINE_SYSCALL_CALL (prlimit64, 0, resource, &rlim64, NULL);
 }
 
+libc_hidden_def (__setrlimit)
 # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
 strong_alias (__setrlimit, __setrlimit_1)
 compat_symbol (libc, __setrlimit, setrlimit, GLIBC_2_0);
index db1960fc18abcb5575746887889651ce7ba47bb8..ff835c87333957f65e8c35c525ffae19b44a6600 100644 (file)
@@ -43,4 +43,7 @@ weak_alias (__setrlimit64, setrlimit64)
 #if __RLIM_T_MATCHES_RLIM64_T
 strong_alias (__setrlimit64, __setrlimit)
 weak_alias (__setrlimit64, setrlimit)
+# ifdef SHARED
+__hidden_ver1 (__setrlimit64, __GI___setrlimit, __setrlimit64);
+# endif
 #endif
This page took 0.086146 seconds and 5 git commands to generate.