i386: Do not set internal_function
All calls to functions with the internal_function attribute have been removed from assembler implementations, which means that the definition of internal_function can be changed at the C level without causing ABI issues with assembler code. _dl_fixup still uses a regparm calling convention on i386, but this is controlled through ARCH_FIXUP_ATTRIBUTE, not internal_function.
This commit is contained in:
parent
b3f85fd2e4
commit
fbdc1e3e8d
@ -1,3 +1,10 @@
|
||||
2017-08-14 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
i386: Do not set internal_function.
|
||||
* config.h.in (USE_REGPARMS, internal_function): Remove.
|
||||
* sysdeps/i386/configure.ac (USE_REGPARMS): Likewise.
|
||||
* sysdeps/i386/configure (USE_REGPARMS): Likewise.
|
||||
|
||||
2017-08-14 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
* elf/dl-init.c (_dl_init): Remove internal_function.
|
||||
|
10
config.h.in
10
config.h.in
@ -47,10 +47,6 @@
|
||||
#undef STACK_PROTECTOR_LEVEL
|
||||
#endif
|
||||
|
||||
/* Define if the regparm attribute shall be used for local functions
|
||||
(gcc on ix86 only). */
|
||||
#undef USE_REGPARMS
|
||||
|
||||
/* Defined on SPARC if GCC emits GOTDATA relocations. */
|
||||
#undef HAVE_GCC_GOTDATA
|
||||
|
||||
@ -100,12 +96,6 @@
|
||||
#undef HAVE_AARCH64_BE
|
||||
|
||||
|
||||
/* Defined to some form of __attribute__ ((...)) if the compiler supports
|
||||
a different, more efficient calling convention. */
|
||||
#if defined USE_REGPARMS && !defined PROF
|
||||
# define internal_function __attribute__ ((regparm (3), stdcall))
|
||||
#endif
|
||||
|
||||
/* Linux specific: minimum supported kernel version. */
|
||||
#undef __LINUX_KERNEL_VERSION
|
||||
|
||||
|
3
sysdeps/i386/configure
vendored
3
sysdeps/i386/configure
vendored
@ -77,8 +77,5 @@ if test $libc_cv_asm_mpx = yes; then
|
||||
|
||||
fi
|
||||
|
||||
$as_echo "#define USE_REGPARMS 1" >>confdefs.h
|
||||
|
||||
|
||||
$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
|
||||
|
||||
|
@ -45,8 +45,6 @@ if test $libc_cv_asm_mpx = yes; then
|
||||
AC_DEFINE(HAVE_MPX_SUPPORT)
|
||||
fi
|
||||
|
||||
AC_DEFINE(USE_REGPARMS)
|
||||
|
||||
dnl It is always possible to access static and hidden symbols in an
|
||||
dnl position independent way.
|
||||
AC_DEFINE(PI_STATIC_AND_HIDDEN)
|
||||
|
Loading…
x
Reference in New Issue
Block a user