elf_nextscn (0, 0);
elf_strptr (0, 0, 0);
elf_getident (0, 0);
- elf_getshdrstrndx (0, 0);
elf_begin (0, 0, 0);
elf_ndxscn (0);
elf_end (0);
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
+ # Check for elf_getshdrstrndx or elf_getshstrndx. The latter's flavor
+ # is determined in gcc/configure.ac.
+ if test x"$enable_lto" = x"yes" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_getshdrstrndx" >&5
+$as_echo_n "checking for elf_getshdrstrndx... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <libelf.h>
+int
+main ()
+{
+
+ elf_getshdrstrndx (0, 0);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; };
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; };
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_getshstrndx" >&5
+$as_echo_n "checking for elf_getshstrndx... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <libelf.h>
+int
+main ()
+{
+
+ elf_getshstrndx (0, 0);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; };
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }; enable_lto=no; libelflibs= ; libelfinc=
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
+
# If we couldn't enable LTO and the user forced it, emit an error.
if test x"$enable_lto" = x"no" \
&& test x"$default_enable_lto" != x"yes" ; then
done
+save_CPPFLAGS="$CPPFLAGS"
+save_LIBS="$LIBS"
+LIBS="$LIBS $LIBELFLIBS"
+for ac_func in elf_getshdrstrndx
+do :
+ ac_fn_c_check_func "$LINENO" "elf_getshdrstrndx" "ac_cv_func_elf_getshdrstrndx"
+if test "x$ac_cv_func_elf_getshdrstrndx" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_ELF_GETSHDRSTRNDX 1
+_ACEOF
+
+else
+ for ac_func in elf_getshstrndx
+do :
+ ac_fn_c_check_func "$LINENO" "elf_getshstrndx" "ac_cv_func_elf_getshstrndx"
+if test "x$ac_cv_func_elf_getshstrndx" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_ELF_GETSHSTRNDX 1
+_ACEOF
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot run test program while cross compiling
+See \`config.log' for more details." "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <libelf.h>
+int main()
+{
+ return elf_getshstrndx (NULL, 0) == 0;
+},
+$as_echo "#define HAVE_ELF_GETSHSTRNDX_GABI 1" >>confdefs.h
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+done
+
+
+fi
+done
+
+LIBS="$save_LIBS"
+CPPFLAGS="$save_CPPFLAGS"
+
if test x$ac_cv_func_mbstowcs = xyes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbstowcs works" >&5
$as_echo_n "checking whether mbstowcs works... " >&6; }
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 17042 "configure"
+#line 17095 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 17148 "configure"
+#line 17201 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-2010-05-22 Richard Guenther <rguenther@suse.de>
-
- * lto.c (read_cgraph_and_symbols): Do not collect.
-
-2010-05-20 Jan Hubicka <jh@suse.cz>
-
- * lto.c (promote_var, promote_fn): New functions.
- (lto_promote_cross_file_statics): Compute correctly boundary including
- static initializers of readonly vars.
-
-2010-05-18 Jan Hubicka <jh@suse.cz>
-
- * lto.c (lto_1_to_1_map): Partition non-inline clones.
- (lto_promote_cross_file_statics): Deal with non-inline clones.
-
-2010-05-18 Jan Hubicka <jh@suse.cz>
-
- * lto.c (lto_materialize_function): Announce function when
- reading body; allocate_struct_function only when reading body;
- do not finalize local statics; ggc_collect after reading;
- do not mark reachable node.
- (materialize_cgraph): Do not announce function.
-
-2010-05-11 Jan Hubicka <jh@suse.cz>
-
- * lto.c (materialize_cgraph): Revert my previous patch.
-
-2010-05-11 Kai Tietz <kai.tietz@onevision.com>
-
- * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
- IMAGE_FILE_MACHINE_AMD64.
- * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
-
-2010-05-11 Jan Hubicka <jh@suse.cz>
-
- * lto.c (lto_fixup_decls): Remove global var decls freeing here.
- (materialize_cgraph): Add it here.
-
-2010-05-11 Jan Hubicka <jh@suse.cz>
-
- * lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
- vector.
-
-2010-05-11 Jan Hubicka <jh@suse.cz>
-
- * lto.c (lto_1_to_1_map): Remove some no longer needed checks.
- (lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
- use reachable_from_other_partition_p and
- referenced_from_other_partition_p test.
-
-2010-05-11 Kai Tietz <kai.tietz@onevision.com>
-
- * lto-coff.c (validate_file): Add x64-coff support.
- * lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
- (COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
- * lto-lang.c (lto_build_c_type_nodes): Add check for
- 'long long unsigned int' for x64-windows.
- (lto_init): Likewise.
-
-
-2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
-
- * lto.h (struct lto_file_struct): Document offset member.
- * lto-endian.h: New file.
- * lto-macho.h: New file.
- * lto-macho.c: New file.
- * Make-lang.in: Add rule for lto-macho.o.
-
-2010-05-07 Richard Guenther <rguenther@suse.de>
-
- PR lto/43857
- PR lto/43371
- * lang.opt (fresolution): Change to ...
- (fresolution=): ... this.
- * lto-lang.c (lto_handle_option): Adjust.
-
-2010-05-07 Richard Guenther <rguenther@suse.de>
-
- * lto.c (DUMPBASE_SUFFIX): Remove.
- (lto_execute_ltrans): Move functionality to lto-wrapper.c.
- Rename to ...
- (lto_write_ltrans_list): ... only output the list of ltrans files.
- (lto_maybe_unlink): Remove.
- (do_whole_program_analysis): Do not execute LTRANS phase
- from here.
-
-2010-05-06 H.J. Lu <hongjiu.lu@intel.com>
-
- * lto-lang.c (lto_handle_option): Add argument kind.
-
-2010-05-05 Jan Hubicka <jh@suse.cz>
-
- * lto.c (lto_promote_cross_file_statics): Compute boundary based on
- refs.
-
-2010-05-05 Jan Hubicka <jh@suse.cz>
-
- * lto.c (lto_1_to_1_map): Partition only needed nodes.
-
-2010-04-30 Jan Hubicka <jh@suse.cz>
-
- * lto.c (get_filename_for_set): Look for cgraph node and if none found, use
- default name.
- (lto_wpa_write_files): Write any non-empty partition.
-
-2010-04-30 Jan Hubicka <jh@suse.cz>
-
- * lto.c: Do not attempt to make constant pool references global.
-
-2010-04-28 Jan Hubicka <jh@suse.cz>
-
- * lto/lto.c (lto_read_in_decl_state): Use GGC.
- (lto_wpa_write_files): Announce what we are writting.
- (all_file_decl_data): New.
- (read_cgraph_and_symbols): Use GGC; correct timevars.
- (do_whole_program_analysis): Collect.
- * lto/Make-lang.in (lto.o): Fix dependency.
- * Makefile.in (GTFILES): Add lto-streamer.h.
- * varpool.c (varpool_analyze_pending_decls): Use TV_VARPOOL.
- (varpool_assemble_pending_decls): Use VAROUT.
- * lto-streamer.h (lto_tree_ref_table): Annotate.
- (lto_in_decl_state): Annotate.
- (lto_file_decl_data): Annotate.
-
-2010-04-28 Jan Hubicka <jh@suse.cz>
-
- * lto.c (lto_varpool_node_sets): New.
- (lto_1_to_1_map): Partition varpool too.
- (globalize_context_t, globalize_cross_file_statics,
- lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node,
- lto_scan_statics_in_remaining_global_vars): Remove.
- (lto_promote_cross_file_statics): Rewrite.
- (get_filename_for_set): Take vset argument.
- (lto_wpa_write_files): Pass around vsets.
-
-2010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR lto/42776
- * Make-lang.in (LTO_OBJS): Use LTO_BINARY_READER instead of
- hardcoding 'lto-elf.o'.
- ($(LTO_EXE)): Use LTO_USE_LIBELF instead of hardcoding '-lelf'.
-
- * lto-coff.h: New file.
- * lto-coff.c: Likewise.
-
-2010-04-26 Richard Guenther <rguenther@suse.de>
-
- * lto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT.
-
-2010-04-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * lto.h (lto_elf_file_open): Rename prototype from this ...
- (lto_obj_file_open): ... to this.
- (lto_elf_file_close): Likewise ...
- (lto_obj_file_close): ... and likewise.
- (lto_elf_build_section_table): Likewise ...
- (lto_obj_build_section_table): ... and likewise.
- (lto_elf_begin_section): Likewise ...
- (lto_obj_begin_section): ... and likewise.
- (lto_elf_append_data): Likewise ...
- (lto_obj_append_data): ... and likewise.
- (lto_elf_end_section): Likewise ...
- (lto_obj_end_section): ... and likewise.
- * lto.c (lto_file_read): Update references to the above.
- (lto_wpa_write_files): Likewise.
- (lto_read_all_file_options): Likewise.
- (read_cgraph_and_symbols): Likewise.
- * lto-lang.c (LANG_HOOKS_BEGIN_SECTION): Likewise.
- (LANG_HOOKS_APPEND_DATA): Likewise.
- (LANG_HOOKS_END_SECTION): Likewise.
- * lto-elf.c (lto_elf_file_open): Rename from this ...
- (lto_obj_file_open): ... to this, updating any references.
- (lto_elf_file_close): Likewise ...
- (lto_obj_file_close): ... and likewise.
- (lto_elf_build_section_table): Likewise ...
- (lto_obj_build_section_table): ... and likewise.
- (lto_elf_begin_section): Likewise ...
- (lto_obj_begin_section): ... and likewise.
- (lto_elf_append_data): Likewise ...
- (lto_obj_append_data): ... and likewise.
- (lto_elf_end_section): Likewise ...
- (lto_obj_end_section): ... and likewise.
-
-2010-04-21 Jan Hubicka <jh@suse.cz>
-
- * lto.c (lto_fixup_tree): Do not call wpa fixup.
- (materialize_cgraph): Likewise.
-
-2010-04-21 Jan Hubicka <jh@suse.cz>
-
- * lto.c (lto_wpa_write_files): Update.
- (read_cgraph_and_symbols): Be more verbose.
- (materialize_cgraph): Likewise.
- (do_whole_program_analysis): Likewise.
-
-2010-04-21 Jan Hubicka <jh@suse.cz>
-
- * lto.c (globalize_cross_file_statics): When function has address taken,
- it needs to be public.
-
-2010-04-20 Jan Hubicka <jh@suse.cz>
-
- * lto.c (lto_add_inline_clones): Do not track inlined_decls.
- (lto_add_all_inlinees): Likewise.
- (lto_wpa_write_files): Likewise.
-
-2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * lto-lang.c (lto_init): Remove second argument in call to
- build_common_tree_nodes.
-
2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New