mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-22 18:56:38 +00:00
libc: move __getosreldate to libsys
Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
This commit is contained in:
parent
f70c5a0925
commit
10f1b536ad
|
@ -6,7 +6,7 @@ CONFS+= group master.passwd shells
|
||||||
CONFSMODE_master.passwd= 600
|
CONFSMODE_master.passwd= 600
|
||||||
CONFSPACKAGE= runtime
|
CONFSPACKAGE= runtime
|
||||||
|
|
||||||
SRCS+= __getosreldate.c \
|
SRCS+= \
|
||||||
__pthread_mutex_init_calloc_cb_stub.c \
|
__pthread_mutex_init_calloc_cb_stub.c \
|
||||||
__xuname.c \
|
__xuname.c \
|
||||||
_pthread_stubs.c \
|
_pthread_stubs.c \
|
||||||
|
|
|
@ -32,6 +32,7 @@ PSEUDO+= _clock_gettime.o _gettimeofday.o
|
||||||
# Sources common to both syscall interfaces:
|
# Sources common to both syscall interfaces:
|
||||||
SRCS+= \
|
SRCS+= \
|
||||||
__error.c \
|
__error.c \
|
||||||
|
__getosreldate.c \
|
||||||
_once_stub.c \
|
_once_stub.c \
|
||||||
getpagesize.c \
|
getpagesize.c \
|
||||||
getpagesizes.c \
|
getpagesizes.c \
|
||||||
|
|
|
@ -44,23 +44,10 @@ int
|
||||||
__getosreldate(void)
|
__getosreldate(void)
|
||||||
{
|
{
|
||||||
static int osreldate;
|
static int osreldate;
|
||||||
size_t len;
|
|
||||||
int oid[2];
|
|
||||||
int error, osrel;
|
|
||||||
|
|
||||||
if (osreldate != 0)
|
if (osreldate != 0)
|
||||||
return (osreldate);
|
return (osreldate);
|
||||||
|
|
||||||
error = _elf_aux_info(AT_OSRELDATE, &osreldate, sizeof(osreldate));
|
(void)_elf_aux_info(AT_OSRELDATE, &osreldate, sizeof(osreldate));
|
||||||
if (error == 0 && osreldate != 0)
|
|
||||||
return (osreldate);
|
|
||||||
|
|
||||||
oid[0] = CTL_KERN;
|
|
||||||
oid[1] = KERN_OSRELDATE;
|
|
||||||
osrel = 0;
|
|
||||||
len = sizeof(osrel);
|
|
||||||
error = sysctl(oid, 2, &osrel, &len, NULL, 0);
|
|
||||||
if (error == 0 && osrel > 0 && len == sizeof(osrel))
|
|
||||||
osreldate = osrel;
|
|
||||||
return (osreldate);
|
return (osreldate);
|
||||||
}
|
}
|
Loading…
Reference in a new issue