mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-02 22:23:52 +08:00
Don't use INTUSE with __adjtimex (bug 14132).
Bug 14132 is removal of the old INTDEF/INTUSE system of *_internal aliases as obsoleted by the hidden_proto / hidden_def system. Various cases were cleaned up in 2012, but some remain. This patch removes the use of this mechanism for __adjtimex. Tested for x86_64 that stripped installed shared libraries are unchanged by the patch. [BZ #14132] * sysdeps/unix/sysv/linux/include/sys/timex.h: New file. * sysdeps/unix/sysv/linux/adjtime.c [!ADJTIMEX] (ADJTIMEX): Do not use INTUSE. [!ADJTIMEX] (INTUSE(__adjtimex)): Remove declaration. * sysdeps/unix/sysv/linux/alpha/adjtime.c (__adjtimex_internal): Remove alias. (__adjtimex): Define using libc_hidden_ver. * sysdeps/unix/sysv/linux/ntp_gettime.c (INTUSE(__adjtimex)): Remove declaration. (ntp_gettime): Call __adjtimex directly. * sysdeps/unix/sysv/linux/ntp_gettimex.c (INTUSE(__adjtimex)): Remove declaration. (ntp_gettimex): Call __adjtimex directly. * sysdeps/unix/sysv/linux/syscalls.list (adjtimex): Remove __adjtimex_internal alias.
This commit is contained in:
parent
c763c5d271
commit
620f462e88
19
ChangeLog
19
ChangeLog
@ -1,3 +1,22 @@
|
||||
2014-10-08 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #14132]
|
||||
* sysdeps/unix/sysv/linux/include/sys/timex.h: New file.
|
||||
* sysdeps/unix/sysv/linux/adjtime.c [!ADJTIMEX] (ADJTIMEX): Do not
|
||||
use INTUSE.
|
||||
[!ADJTIMEX] (INTUSE(__adjtimex)): Remove declaration.
|
||||
* sysdeps/unix/sysv/linux/alpha/adjtime.c (__adjtimex_internal):
|
||||
Remove alias.
|
||||
(__adjtimex): Define using libc_hidden_ver.
|
||||
* sysdeps/unix/sysv/linux/ntp_gettime.c (INTUSE(__adjtimex)):
|
||||
Remove declaration.
|
||||
(ntp_gettime): Call __adjtimex directly.
|
||||
* sysdeps/unix/sysv/linux/ntp_gettimex.c (INTUSE(__adjtimex)):
|
||||
Remove declaration.
|
||||
(ntp_gettimex): Call __adjtimex directly.
|
||||
* sysdeps/unix/sysv/linux/syscalls.list (adjtimex): Remove
|
||||
__adjtimex_internal alias.
|
||||
|
||||
2014-10-08 Roland McGrath <roland@hack.frob.com>
|
||||
|
||||
[BZ #17460]
|
||||
|
@ -41,8 +41,7 @@
|
||||
|
||||
#ifndef ADJTIMEX
|
||||
#define NO_LOCAL_ADJTIME
|
||||
#define ADJTIMEX(x) INTUSE(__adjtimex) (x)
|
||||
extern int INTUSE(__adjtimex) (struct timex *__ntx);
|
||||
#define ADJTIMEX(x) __adjtimex (x)
|
||||
#endif
|
||||
|
||||
#ifndef LINKAGE
|
||||
|
@ -86,7 +86,7 @@ compat_symbol (libc, __adjtime_tv32, adjtime, GLIBC_2_0);
|
||||
int
|
||||
__adjtimex_tv64 (struct timex *tx) { return ADJTIMEX (tx); }
|
||||
|
||||
strong_alias (__adjtimex_tv64, __adjtimex_internal);
|
||||
libc_hidden_ver (__adjtimex_tv64, __adjtimex)
|
||||
strong_alias (__adjtimex_tv64, __adjtimex_tv64p);
|
||||
weak_alias (__adjtimex_tv64, ntp_adjtime);
|
||||
versioned_symbol (libc, __adjtimex_tv64, __adjtimex, GLIBC_2_1);
|
||||
|
26
sysdeps/unix/sysv/linux/include/sys/timex.h
Normal file
26
sysdeps/unix/sysv/linux/include/sys/timex.h
Normal file
@ -0,0 +1,26 @@
|
||||
/* Internal declarations for sys/timex.h.
|
||||
Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _INCLUDE_SYS_TIMEX_H
|
||||
#define _INCLUDE_SYS_TIMEX_H 1
|
||||
|
||||
#include_next <sys/timex.h>
|
||||
|
||||
libc_hidden_proto (__adjtimex)
|
||||
|
||||
#endif /* sys/timex.h */
|
@ -26,9 +26,6 @@
|
||||
#endif
|
||||
|
||||
|
||||
extern int INTUSE(__adjtimex) (struct timex *__ntx);
|
||||
|
||||
|
||||
int
|
||||
ntp_gettime (struct ntptimeval *ntv)
|
||||
{
|
||||
@ -36,7 +33,7 @@ ntp_gettime (struct ntptimeval *ntv)
|
||||
int result;
|
||||
|
||||
tntx.modes = 0;
|
||||
result = INTUSE(__adjtimex) (&tntx);
|
||||
result = __adjtimex (&tntx);
|
||||
ntv->time = tntx.time;
|
||||
ntv->maxerror = tntx.maxerror;
|
||||
ntv->esterror = tntx.esterror;
|
||||
|
@ -22,9 +22,6 @@
|
||||
#endif
|
||||
|
||||
|
||||
extern int INTUSE(__adjtimex) (struct timex *__ntx);
|
||||
|
||||
|
||||
int
|
||||
ntp_gettimex (struct ntptimeval *ntv)
|
||||
{
|
||||
@ -32,7 +29,7 @@ ntp_gettimex (struct ntptimeval *ntv)
|
||||
int result;
|
||||
|
||||
tntx.modes = 0;
|
||||
result = INTUSE(__adjtimex) (&tntx);
|
||||
result = __adjtimex (&tntx);
|
||||
ntv->time = tntx.time;
|
||||
ntv->maxerror = tntx.maxerror;
|
||||
ntv->esterror = tntx.esterror;
|
||||
|
@ -1,6 +1,6 @@
|
||||
# File name Caller Syscall name Args Strong name Weak names
|
||||
|
||||
adjtimex adjtime adjtimex i:p __adjtimex adjtimex ntp_adjtime __adjtimex_internal
|
||||
adjtimex adjtime adjtimex i:p __adjtimex adjtimex ntp_adjtime
|
||||
alarm - alarm i:i alarm
|
||||
bdflush EXTRA bdflush i:ii bdflush
|
||||
capget EXTRA capget i:pp capget
|
||||
|
Loading…
Reference in New Issue
Block a user