diff options
author | Rich Felker <dalias@aerifal.cx> | 2014-04-15 18:16:37 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2014-04-15 18:16:37 -0400 |
commit | de20a8ffc5cf89134f035193ce1cdc2d76c88ee0 (patch) | |
tree | 2909fd33adee75e03788e11ac1c51a8efb562526 /src/linux | |
parent | 6cf7d17f5349df9ee4a2d8c8c7c5d01c18385e08 (diff) | |
download | musl-de20a8ffc5cf89134f035193ce1cdc2d76c88ee0.zip musl-de20a8ffc5cf89134f035193ce1cdc2d76c88ee0.tar.gz musl-de20a8ffc5cf89134f035193ce1cdc2d76c88ee0.tar.bz2 |
add namespace-protected name for sysinfo function
it will be needed to implement some things in sysconf, and the syscall
can't easily be used directly because the x32 syscall uses the wrong
structure layout. the l (uncreative, for "linux") prefix is used since
the symbol name __sysinfo is already taken for AT_SYSINFO from the aux
vector.
the way the x32 override of this function works is also changed to be
simpler and avoid the useless jump instruction.
Diffstat (limited to 'src/linux')
-rw-r--r-- | src/linux/sysinfo.c | 5 | ||||
-rw-r--r-- | src/linux/x32/sysinfo.s | 6 |
2 files changed, 5 insertions, 6 deletions
diff --git a/src/linux/sysinfo.c b/src/linux/sysinfo.c index 7e64f33..4b5a798 100644 --- a/src/linux/sysinfo.c +++ b/src/linux/sysinfo.c @@ -1,7 +1,10 @@ #include <sys/sysinfo.h> #include "syscall.h" +#include "libc.h" -int sysinfo(struct sysinfo *info) +int __lsysinfo(struct sysinfo *info) { return syscall(SYS_sysinfo, info); } + +weak_alias(__lsysinfo, sysinfo); diff --git a/src/linux/x32/sysinfo.s b/src/linux/x32/sysinfo.s index 43c378c..53d79db 100644 --- a/src/linux/x32/sysinfo.s +++ b/src/linux/x32/sysinfo.s @@ -1,5 +1 @@ -.text -.global sysinfo -.type sysinfo,@function -sysinfo: - jmp __x32_sysinfo +# see arch/x32/src/sysinfo.c |