mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-28 00:21:52 +03: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:
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>
|
2014-10-08 Roland McGrath <roland@hack.frob.com>
|
||||||
|
|
||||||
[BZ #17460]
|
[BZ #17460]
|
||||||
|
@ -41,8 +41,7 @@
|
|||||||
|
|
||||||
#ifndef ADJTIMEX
|
#ifndef ADJTIMEX
|
||||||
#define NO_LOCAL_ADJTIME
|
#define NO_LOCAL_ADJTIME
|
||||||
#define ADJTIMEX(x) INTUSE(__adjtimex) (x)
|
#define ADJTIMEX(x) __adjtimex (x)
|
||||||
extern int INTUSE(__adjtimex) (struct timex *__ntx);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef LINKAGE
|
#ifndef LINKAGE
|
||||||
|
@ -86,7 +86,7 @@ compat_symbol (libc, __adjtime_tv32, adjtime, GLIBC_2_0);
|
|||||||
int
|
int
|
||||||
__adjtimex_tv64 (struct timex *tx) { return ADJTIMEX (tx); }
|
__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);
|
strong_alias (__adjtimex_tv64, __adjtimex_tv64p);
|
||||||
weak_alias (__adjtimex_tv64, ntp_adjtime);
|
weak_alias (__adjtimex_tv64, ntp_adjtime);
|
||||||
versioned_symbol (libc, __adjtimex_tv64, __adjtimex, GLIBC_2_1);
|
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
|
#endif
|
||||||
|
|
||||||
|
|
||||||
extern int INTUSE(__adjtimex) (struct timex *__ntx);
|
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ntp_gettime (struct ntptimeval *ntv)
|
ntp_gettime (struct ntptimeval *ntv)
|
||||||
{
|
{
|
||||||
@ -36,7 +33,7 @@ ntp_gettime (struct ntptimeval *ntv)
|
|||||||
int result;
|
int result;
|
||||||
|
|
||||||
tntx.modes = 0;
|
tntx.modes = 0;
|
||||||
result = INTUSE(__adjtimex) (&tntx);
|
result = __adjtimex (&tntx);
|
||||||
ntv->time = tntx.time;
|
ntv->time = tntx.time;
|
||||||
ntv->maxerror = tntx.maxerror;
|
ntv->maxerror = tntx.maxerror;
|
||||||
ntv->esterror = tntx.esterror;
|
ntv->esterror = tntx.esterror;
|
||||||
|
@ -22,9 +22,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
extern int INTUSE(__adjtimex) (struct timex *__ntx);
|
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ntp_gettimex (struct ntptimeval *ntv)
|
ntp_gettimex (struct ntptimeval *ntv)
|
||||||
{
|
{
|
||||||
@ -32,7 +29,7 @@ ntp_gettimex (struct ntptimeval *ntv)
|
|||||||
int result;
|
int result;
|
||||||
|
|
||||||
tntx.modes = 0;
|
tntx.modes = 0;
|
||||||
result = INTUSE(__adjtimex) (&tntx);
|
result = __adjtimex (&tntx);
|
||||||
ntv->time = tntx.time;
|
ntv->time = tntx.time;
|
||||||
ntv->maxerror = tntx.maxerror;
|
ntv->maxerror = tntx.maxerror;
|
||||||
ntv->esterror = tntx.esterror;
|
ntv->esterror = tntx.esterror;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# File name Caller Syscall name Args Strong name Weak names
|
# 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
|
alarm - alarm i:i alarm
|
||||||
bdflush EXTRA bdflush i:ii bdflush
|
bdflush EXTRA bdflush i:ii bdflush
|
||||||
capget EXTRA capget i:pp capget
|
capget EXTRA capget i:pp capget
|
||||||
|
Reference in New Issue
Block a user