diff options
author | Ian Lance Taylor <ian@airs.com> | 2011-06-23 00:46:14 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2011-06-23 00:46:14 +0000 |
commit | 5393d7415a71a6f2cf3752e02ef078d7ff6e5f0a (patch) | |
tree | a0c89965b041ce2f337110a23e6f7e552984c545 /gold/configure | |
parent | 1c23ac006028a1d2b12bdfec2fe73751fb7481ec (diff) | |
download | fsf-binutils-gdb-5393d7415a71a6f2cf3752e02ef078d7ff6e5f0a.zip fsf-binutils-gdb-5393d7415a71a6f2cf3752e02ef078d7ff6e5f0a.tar.gz fsf-binutils-gdb-5393d7415a71a6f2cf3752e02ef078d7ff6e5f0a.tar.bz2 |
PR gold/12910
* options.h (class General_options): Add --ctors-in-init-array.
* layout.cc (Layout::get_output_section): Treat SHT_INIT_ARRAY and
friends as SHT_PROGBITS for merging sections.
(Layout::layout): Remove special handling of .init_array and
friends. Don't sort if doing relocatable link. Sort for .ctors
and .dtors if ctors_in_init_array.
(Layout::make_output_section): Force correct section types for
.init_array and friends. Don't sort if doing relocatable link,
Don't sort .ctors and .dtors if ctors_in_init_array.
(Layout::section_name_mapping): Remove .ctors. and .dtorso.
(Layout::output_section_name): Add relobj parameter. Change all
callers. Handle .ctors. and .dtors. in code rather than table.
Handle .ctors and .dtors if ctors_in_init_array.
(Layout::match_file_name): New function, moved from output.cc.
* layout.h (class Layout): Update declarations.
* output.cc: Include "layout.h".
(Input_section_sort_entry::get_priority): New function.
(Input_section_sort_entry::match_file_name): Just call
Layout::match_file_name.
(Output_section::Input_section_sort_init_fini_compare::operator()):
Handle .ctors and .dtors. Sort by explicit priority rather than
by name.
* configure.ac: Remove CONSTRUCTOR_PRIORITY test and conditional.
* testsuite/initpri2.c: New test.
* testsuite/Makefile.am: Don't test CONSTRUCTOR_PRIORITY.
(check_PROGRAMS): Add initpri2.
(initpri2_SOURCES, initpri2_DEPENDENCIES): New variables.
(initpri2_LDFLAGS, initpri2_LDADD): New variables.
* configure, testsuite/Makefile.in: Rebuild.
Diffstat (limited to 'gold/configure')
-rwxr-xr-x | gold/configure | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/gold/configure b/gold/configure index 5a7268d..e8e4bf6 100755 --- a/gold/configure +++ b/gold/configure @@ -605,8 +605,6 @@ WARN_CFLAGS IFUNC_FALSE IFUNC_TRUE RANDOM_SEED_CFLAGS -CONSTRUCTOR_PRIORITY_FALSE -CONSTRUCTOR_PRIORITY_TRUE TLS_DESCRIPTORS_FALSE TLS_DESCRIPTORS_TRUE TLS_GNU2_DIALECT_FALSE @@ -6314,34 +6312,6 @@ else fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for constructor priorities" >&5 -$as_echo_n "checking for constructor priorities... " >&6; } -if test "${gold_cv_c_conprio+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -void f() __attribute__ ((constructor (1))); -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gold_cv_c_conprio=yes -else - gold_cv_c_conprio=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gold_cv_c_conprio" >&5 -$as_echo "$gold_cv_c_conprio" >&6; } - - if test "$gold_cv_c_conprio" = "yes"; then - CONSTRUCTOR_PRIORITY_TRUE= - CONSTRUCTOR_PRIORITY_FALSE='#' -else - CONSTRUCTOR_PRIORITY_TRUE='#' - CONSTRUCTOR_PRIORITY_FALSE= -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -frandom-seed support" >&5 $as_echo_n "checking for -frandom-seed support... " >&6; } if test "${gold_cv_c_random_seed+set}" = set; then : @@ -7334,10 +7304,6 @@ if test -z "${TLS_DESCRIPTORS_TRUE}" && test -z "${TLS_DESCRIPTORS_FALSE}"; then as_fn_error "conditional \"TLS_DESCRIPTORS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${CONSTRUCTOR_PRIORITY_TRUE}" && test -z "${CONSTRUCTOR_PRIORITY_FALSE}"; then - as_fn_error "conditional \"CONSTRUCTOR_PRIORITY\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${IFUNC_TRUE}" && test -z "${IFUNC_FALSE}"; then as_fn_error "conditional \"IFUNC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 |