mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 10:50:07 +00:00
Remove have-initfini and need-nopic-initfini
This commit is contained in:
parent
2832840339
commit
26ecc33a02
@ -1,3 +1,12 @@
|
|||||||
|
2012-02-08 Andreas Schwab <schwab@linux-m68k.org>
|
||||||
|
|
||||||
|
* Makeconfig (have-initfini): Don't set.
|
||||||
|
* config.make.in (have-initfini, need-nopic-initfini): Don't set.
|
||||||
|
* configure.in (nopic_initfini): Don't substitute.
|
||||||
|
* config.h.in (HAVE_INITFINI): Don't #undef.
|
||||||
|
* csu/Makefile (CPPFLAGS): Don't add -DHAVE_INITFINI.
|
||||||
|
* csu/gmon-start.c: Assume HAVE_INITFINI is defined.
|
||||||
|
|
||||||
2012-02-08 Joseph Myers <joseph@codesourcery.com>
|
2012-02-08 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
Support crti.S and crtn.S provided directly by architectures.
|
Support crti.S and crtn.S provided directly by architectures.
|
||||||
|
11
Makeconfig
11
Makeconfig
@ -389,9 +389,6 @@ ifndef asm-CPPFLAGS
|
|||||||
asm-CPPFLAGS =
|
asm-CPPFLAGS =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# ELF always supports init/fini sections
|
|
||||||
have-initfini = yes
|
|
||||||
|
|
||||||
ifeq ($(have-as-needed),yes)
|
ifeq ($(have-as-needed),yes)
|
||||||
as-needed := -Wl,--as-needed
|
as-needed := -Wl,--as-needed
|
||||||
no-as-needed := -Wl,--no-as-needed
|
no-as-needed := -Wl,--no-as-needed
|
||||||
@ -405,14 +402,8 @@ no-whole-archive = -Wl,--no-whole-archive
|
|||||||
whole-archive = -Wl,--whole-archive
|
whole-archive = -Wl,--whole-archive
|
||||||
|
|
||||||
# Installed name of the startup code.
|
# Installed name of the startup code.
|
||||||
ifneq ($(have-initfini),yes)
|
# The ELF convention is that the startfile is called crt1.o
|
||||||
# When not having init/fini, there is just one startfile, called crt0.o.
|
|
||||||
start-installed-name = crt0.o
|
|
||||||
else
|
|
||||||
# On systems having init/fini, crt0.o is called crt1.o, and there are
|
|
||||||
# some additional bizarre files.
|
|
||||||
start-installed-name = crt1.o
|
start-installed-name = crt1.o
|
||||||
endif
|
|
||||||
# On systems that do not need a special startfile for statically linked
|
# On systems that do not need a special startfile for statically linked
|
||||||
# binaries, simply set it to the normal name.
|
# binaries, simply set it to the normal name.
|
||||||
ifndef static-start-installed-name
|
ifndef static-start-installed-name
|
||||||
|
@ -30,9 +30,6 @@
|
|||||||
assembler instructions per line. Default is `;' */
|
assembler instructions per line. Default is `;' */
|
||||||
#undef ASM_LINE_SEP
|
#undef ASM_LINE_SEP
|
||||||
|
|
||||||
/* Define if not using ELF, but `.init' and `.fini' sections are available. */
|
|
||||||
#undef HAVE_INITFINI
|
|
||||||
|
|
||||||
/* Define if __attribute__((section("foo"))) puts quotes around foo. */
|
/* Define if __attribute__((section("foo"))) puts quotes around foo. */
|
||||||
#undef HAVE_SECTION_QUOTES
|
#undef HAVE_SECTION_QUOTES
|
||||||
|
|
||||||
|
@ -47,11 +47,9 @@ all-warnings = @all_warnings@
|
|||||||
|
|
||||||
have-z-combreloc = @libc_cv_z_combreloc@
|
have-z-combreloc = @libc_cv_z_combreloc@
|
||||||
have-z-execstack = @libc_cv_z_execstack@
|
have-z-execstack = @libc_cv_z_execstack@
|
||||||
have-initfini = @libc_cv_have_initfini@
|
|
||||||
have-Bgroup = @libc_cv_Bgroup@
|
have-Bgroup = @libc_cv_Bgroup@
|
||||||
have-as-needed = @libc_cv_as_needed@
|
have-as-needed = @libc_cv_as_needed@
|
||||||
libgcc_s_suffix = @libc_cv_libgcc_s_suffix@
|
libgcc_s_suffix = @libc_cv_libgcc_s_suffix@
|
||||||
need-nopic-initfini = @nopic_initfini@
|
|
||||||
with-fp = @with_fp@
|
with-fp = @with_fp@
|
||||||
old-glibc-headers = @old_glibc_headers@
|
old-glibc-headers = @old_glibc_headers@
|
||||||
unwind-find-fde = @libc_cv_gcc_unwind_find_fde@
|
unwind-find-fde = @libc_cv_gcc_unwind_find_fde@
|
||||||
|
2
configure
vendored
2
configure
vendored
@ -609,7 +609,6 @@ RELEASE
|
|||||||
VERSION
|
VERSION
|
||||||
mach_interface_list
|
mach_interface_list
|
||||||
DEFINES
|
DEFINES
|
||||||
nopic_initfini
|
|
||||||
static_nss
|
static_nss
|
||||||
profile
|
profile
|
||||||
libc_cv_pic_default
|
libc_cv_pic_default
|
||||||
@ -7672,7 +7671,6 @@ $as_echo "$libc_cv_pic_default" >&6; }
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
|
if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
|
||||||
config_makefile=
|
config_makefile=
|
||||||
else
|
else
|
||||||
|
@ -2180,7 +2180,6 @@ AC_SUBST(libc_cv_pic_default)
|
|||||||
|
|
||||||
AC_SUBST(profile)
|
AC_SUBST(profile)
|
||||||
AC_SUBST(static_nss)
|
AC_SUBST(static_nss)
|
||||||
AC_SUBST(nopic_initfini)
|
|
||||||
|
|
||||||
AC_SUBST(DEFINES)
|
AC_SUBST(DEFINES)
|
||||||
|
|
||||||
|
@ -73,10 +73,6 @@ endif
|
|||||||
before-compile += $(objpfx)abi-tag.h
|
before-compile += $(objpfx)abi-tag.h
|
||||||
generated += abi-tag.h
|
generated += abi-tag.h
|
||||||
|
|
||||||
ifeq ($(have-initfini),yes)
|
|
||||||
|
|
||||||
CPPFLAGS += -DHAVE_INITFINI
|
|
||||||
|
|
||||||
# These are the special initializer/finalizer files. They are always the
|
# These are the special initializer/finalizer files. They are always the
|
||||||
# first and last file in the link. crti.o ... crtn.o define the global
|
# first and last file in the link. crti.o ... crtn.o define the global
|
||||||
# "functions" _init and _fini to run the .init and .fini sections.
|
# "functions" _init and _fini to run the .init and .fini sections.
|
||||||
@ -129,8 +125,6 @@ $(objpfx)defs.h: $(objpfx)initfini.s
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
extra-objs += abi-note.o init.o
|
extra-objs += abi-note.o init.o
|
||||||
asm-CPPFLAGS += -I$(objpfx).
|
asm-CPPFLAGS += -I$(objpfx).
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Code to enable profiling at program startup.
|
/* Code to enable profiling at program startup.
|
||||||
Copyright (C) 1995,1996,1997,2000,2001,2002 Free Software Foundation, Inc.
|
Copyright (C) 1995,1996,1997,2000,2001,2002,2012 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -43,23 +43,14 @@ extern char etext[];
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef HAVE_INITFINI
|
/* We cannot use the normal constructor mechanism to call
|
||||||
/* This function gets called at startup by the normal constructor
|
|
||||||
mechanism. We link this file together with start.o to produce gcrt1.o,
|
|
||||||
so this constructor will be first in the list. */
|
|
||||||
|
|
||||||
extern void __gmon_start__ (void) __attribute__ ((constructor));
|
|
||||||
#else
|
|
||||||
/* In ELF and COFF, we cannot use the normal constructor mechanism to call
|
|
||||||
__gmon_start__ because gcrt1.o appears before crtbegin.o in the link.
|
__gmon_start__ because gcrt1.o appears before crtbegin.o in the link.
|
||||||
Instead crti.o calls it specially (see initfini.c). */
|
Instead crti.o calls it specially. */
|
||||||
extern void __gmon_start__ (void);
|
extern void __gmon_start__ (void);
|
||||||
#endif
|
|
||||||
|
|
||||||
void
|
void
|
||||||
__gmon_start__ (void)
|
__gmon_start__ (void)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_INITFINI
|
|
||||||
/* Protect from being called more than once. Since crti.o is linked
|
/* Protect from being called more than once. Since crti.o is linked
|
||||||
into every shared library, each of their init functions will call us. */
|
into every shared library, each of their init functions will call us. */
|
||||||
static int called;
|
static int called;
|
||||||
@ -68,7 +59,6 @@ __gmon_start__ (void)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
called = 1;
|
called = 1;
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Start keeping profiling records. */
|
/* Start keeping profiling records. */
|
||||||
__monstartup ((u_long) TEXT_START, (u_long) &etext);
|
__monstartup ((u_long) TEXT_START, (u_long) &etext);
|
||||||
|
Loading…
Reference in New Issue
Block a user