mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 17:53:37 +08:00
Hide internal __setrlimit function [BZ #18822]
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.
This commit is contained in:
parent
047d1a81fd
commit
dd3121df08
@ -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>
|
2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
[BZ #18822]
|
[BZ #18822]
|
||||||
|
@ -23,5 +23,6 @@ extern int __getrusage (enum __rusage_who __who, struct rusage *__usage)
|
|||||||
|
|
||||||
extern int __setrlimit (enum __rlimit_resource __resource,
|
extern int __setrlimit (enum __rlimit_resource __resource,
|
||||||
const struct rlimit *__rlimits);
|
const struct rlimit *__rlimits);
|
||||||
|
libc_hidden_proto (__setrlimit);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -29,6 +29,7 @@ __setrlimit (enum __rlimit_resource resource, const struct rlimit *rlimits)
|
|||||||
__set_errno (ENOSYS);
|
__set_errno (ENOSYS);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
libc_hidden_def (__setrlimit)
|
||||||
weak_alias (__setrlimit, setrlimit)
|
weak_alias (__setrlimit, setrlimit)
|
||||||
|
|
||||||
stub_warning (setrlimit)
|
stub_warning (setrlimit)
|
||||||
|
@ -53,4 +53,5 @@ __setrlimit (enum __rlimit_resource resource, const struct rlimit *rlimits)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
libc_hidden_def (__setrlimit)
|
||||||
weak_alias (__setrlimit, setrlimit)
|
weak_alias (__setrlimit, setrlimit)
|
||||||
|
@ -48,6 +48,7 @@ __setrlimit (enum __rlimit_resource resource, const struct rlimit *rlim)
|
|||||||
return INLINE_SYSCALL_CALL (prlimit64, 0, resource, &rlim64, NULL);
|
return INLINE_SYSCALL_CALL (prlimit64, 0, resource, &rlim64, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
libc_hidden_def (__setrlimit)
|
||||||
# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
|
# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
|
||||||
strong_alias (__setrlimit, __setrlimit_1)
|
strong_alias (__setrlimit, __setrlimit_1)
|
||||||
compat_symbol (libc, __setrlimit, setrlimit, GLIBC_2_0);
|
compat_symbol (libc, __setrlimit, setrlimit, GLIBC_2_0);
|
||||||
|
@ -43,4 +43,7 @@ weak_alias (__setrlimit64, setrlimit64)
|
|||||||
#if __RLIM_T_MATCHES_RLIM64_T
|
#if __RLIM_T_MATCHES_RLIM64_T
|
||||||
strong_alias (__setrlimit64, __setrlimit)
|
strong_alias (__setrlimit64, __setrlimit)
|
||||||
weak_alias (__setrlimit64, setrlimit)
|
weak_alias (__setrlimit64, setrlimit)
|
||||||
|
# ifdef SHARED
|
||||||
|
__hidden_ver1 (__setrlimit64, __GI___setrlimit, __setrlimit64);
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user