diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-10-01 15:57:00 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-10-01 15:57:21 -0700 |
commit | b5648377d923d790dd7e995d79d480066b25e6bb (patch) | |
tree | 68a01fd0c6ee4ecf44f4a252f8385e410134311f | |
parent | 0389a6aaae6d07f69de5b42345293ec578337de2 (diff) | |
download | glibc-b5648377d923d790dd7e995d79d480066b25e6bb.zip glibc-b5648377d923d790dd7e995d79d480066b25e6bb.tar.gz glibc-b5648377d923d790dd7e995d79d480066b25e6bb.tar.bz2 |
Hide internal sysinfo functions [BZ #18822]
Hide internal sysinfo functions to allow direct access within libc.so
and libc.a without using GOT nor PLT.
[BZ #18822]
* include/sys/sysinfo.h (__get_nprocs_conf): Add
libc_hidden_proto.
(__get_nprocs): Likewise.
(__get_phys_pages): Likewise.
(__get_avphys_pages): Likewise.
(__get_child_max): Add attribute_hidden.
* misc/getsysstats.c (__get_nprocs_conf): Add libc_hidden_def.
(__get_nprocs): Likewise.
(__get_phys_pages): Likewise.
(__get_avphys_pages): Likewise.
* sysdeps/mach/getsysstats.c (__get_nprocs_conf): Add
libc_hidden_def.
(__get_nprocs): Likewise.
(__get_phys_pages): Likewise.
(__get_avphys_pages): Likewise.
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Add
libc_hidden_def.
(__get_nprocs_conf): Likewise.
(__get_phys_pages): Likewise.
(__get_avphys_pages): Likewise.
-rw-r--r-- | ChangeLog | 24 | ||||
-rw-r--r-- | include/sys/sysinfo.h | 6 | ||||
-rw-r--r-- | misc/getsysstats.c | 4 | ||||
-rw-r--r-- | sysdeps/mach/getsysstats.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/getsysstats.c | 4 |
5 files changed, 41 insertions, 1 deletions
@@ -1,6 +1,30 @@ 2017-10-01 H.J. Lu <hongjiu.lu@intel.com> [BZ #18822] + * include/sys/sysinfo.h (__get_nprocs_conf): Add + libc_hidden_proto. + (__get_nprocs): Likewise. + (__get_phys_pages): Likewise. + (__get_avphys_pages): Likewise. + (__get_child_max): Add attribute_hidden. + * misc/getsysstats.c (__get_nprocs_conf): Add libc_hidden_def. + (__get_nprocs): Likewise. + (__get_phys_pages): Likewise. + (__get_avphys_pages): Likewise. + * sysdeps/mach/getsysstats.c (__get_nprocs_conf): Add + libc_hidden_def. + (__get_nprocs): Likewise. + (__get_phys_pages): Likewise. + (__get_avphys_pages): Likewise. + * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Add + libc_hidden_def. + (__get_nprocs_conf): Likewise. + (__get_phys_pages): Likewise. + (__get_avphys_pages): Likewise. + +2017-10-01 H.J. Lu <hongjiu.lu@intel.com> + + [BZ #18822] * sysdeps/unix/sysv/linux/netlinkaccess.h (__netlink_open): Add attribute_hidden. (__netlink_close): Likewise. diff --git a/include/sys/sysinfo.h b/include/sys/sysinfo.h index c33eae2..7388356 100644 --- a/include/sys/sysinfo.h +++ b/include/sys/sysinfo.h @@ -7,18 +7,22 @@ /* Return number of configured processors. */ extern int __get_nprocs_conf (void); +libc_hidden_proto (__get_nprocs_conf) /* Return number of available processors. */ extern int __get_nprocs (void); +libc_hidden_proto (__get_nprocs) /* Return number of physical pages of memory in the system. */ extern long int __get_phys_pages (void); +libc_hidden_proto (__get_phys_pages) /* Return number of available physical pages of memory in the system. */ extern long int __get_avphys_pages (void); +libc_hidden_proto (__get_avphys_pages) /* Return maximum number of processes this real user ID can have. */ -extern long int __get_child_max (void); +extern long int __get_child_max (void) attribute_hidden; # endif /* !_ISOMAC */ #endif /* sys/sysinfo.h */ diff --git a/misc/getsysstats.c b/misc/getsysstats.c index d25770e..cbad87a 100644 --- a/misc/getsysstats.c +++ b/misc/getsysstats.c @@ -26,6 +26,7 @@ __get_nprocs_conf (void) /* We don't know how to determine the number. Simply return always 1. */ return 1; } +libc_hidden_def (__get_nprocs_conf) weak_alias (__get_nprocs_conf, get_nprocs_conf) link_warning (get_nprocs_conf, "warning: get_nprocs_conf will always return 1") @@ -38,6 +39,7 @@ __get_nprocs (void) /* We don't know how to determine the number. Simply return always 1. */ return 1; } +libc_hidden_def (__get_nprocs) weak_alias (__get_nprocs, get_nprocs) link_warning (get_nprocs, "warning: get_nprocs will always return 1") @@ -50,6 +52,7 @@ __get_phys_pages (void) __set_errno (ENOSYS); return -1; } +libc_hidden_def (__get_phys_pages) weak_alias (__get_phys_pages, get_phys_pages) stub_warning (get_phys_pages) @@ -62,6 +65,7 @@ __get_avphys_pages (void) __set_errno (ENOSYS); return -1; } +libc_hidden_def (__get_avphys_pages) weak_alias (__get_avphys_pages, get_avphys_pages) stub_warning (get_avphys_pages) diff --git a/sysdeps/mach/getsysstats.c b/sysdeps/mach/getsysstats.c index 0dacab0..3aabd61 100644 --- a/sysdeps/mach/getsysstats.c +++ b/sysdeps/mach/getsysstats.c @@ -39,6 +39,7 @@ __get_nprocs_conf (void) return hbi.max_cpus; } +libc_hidden_def (__get_nprocs_conf) weak_alias (__get_nprocs_conf, get_nprocs_conf) /* Return the number of processors currently available on the system. */ @@ -58,6 +59,7 @@ __get_nprocs (void) return hbi.avail_cpus; } +libc_hidden_def (__get_nprocs) weak_alias (__get_nprocs, get_nprocs) /* Return the number of physical pages on the system. */ @@ -77,6 +79,7 @@ __get_phys_pages (void) return hbi.memory_size / __vm_page_size; } +libc_hidden_def (__get_phys_pages) weak_alias (__get_phys_pages, get_phys_pages) /* Return the number of available physical pages */ @@ -102,4 +105,5 @@ __get_avphys_pages (void) return vs.free_count; } +libc_hidden_def (__get_avphys_pages) weak_alias (__get_avphys_pages, get_avphys_pages) diff --git a/sysdeps/unix/sysv/linux/getsysstats.c b/sysdeps/unix/sysv/linux/getsysstats.c index d02c86d..c245b3c 100644 --- a/sysdeps/unix/sysv/linux/getsysstats.c +++ b/sysdeps/unix/sysv/linux/getsysstats.c @@ -226,6 +226,7 @@ __get_nprocs (void) return result; } +libc_hidden_def (__get_nprocs) weak_alias (__get_nprocs, get_nprocs) @@ -279,6 +280,7 @@ __get_nprocs_conf (void) return result; } +libc_hidden_def (__get_nprocs_conf) weak_alias (__get_nprocs_conf, get_nprocs_conf) @@ -320,6 +322,7 @@ __get_phys_pages (void) __sysinfo (&info); return sysinfo_mempages (info.totalram, info.mem_unit); } +libc_hidden_def (__get_phys_pages) weak_alias (__get_phys_pages, get_phys_pages) long int @@ -330,4 +333,5 @@ __get_avphys_pages (void) __sysinfo (&info); return sysinfo_mempages (info.freeram, info.mem_unit); } +libc_hidden_def (__get_avphys_pages) weak_alias (__get_avphys_pages, get_avphys_pages) |