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:
Joseph Myers 2014-10-08 23:19:32 +00:00
parent c763c5d271
commit 620f462e88
7 changed files with 50 additions and 12 deletions

View File

@ -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]

View File

@ -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

View File

@ -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);

View 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 */

View File

@ -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;

View File

@ -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;

View File

@ -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