http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57208
Bug #: 57208 Summary: Latest chromium compilation fails with enabled LTO [4.8.1/4.9.0] Classification: Unclassified Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: marxin.li...@gmail.com Chromium git repository: May 4, 2013 gcc -v: Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/home/marxin/gcc48/libexec/gcc/x86_64-unknown-linux-gnu/4.8.1/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../configure --enable-languages=c,c++,java --enable-bootstrap --disable-libsanitizer --prefix=/home/marxin/gcc48 Thread model: posix gcc version 4.8.1 20130505 (prerelease) (GCC) failure: g++ -Wl,-z,now -Wl,-z,relro -pthread -Wl,-z,noexecstack -fPIC -Wl,-uIsHeapProfilerRunning,-uProfilerStart -Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_MMapPKvS0_jiiix,-u_Z22InitialMallocHook_SbrkPKvi -Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_MMapPKvS0_miiil,-u_Z22InitialMallocHook_SbrkPKvl -Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakChecker14UnIgnoreObjectEPKv -Wl,-O1 -Wl,--as-needed -flto=9 -fno-fat-lto-objects -Wl,--gc-sections -o out/Release/base_unittests -Wl,--start-group out/Release/obj.target/base_unittests/base/at_exit_unittest.o out/Release/obj.target/base_unittests/base/atomicops_unittest.o out/Release/obj.target/base_unittests/base/base64_unittest.o out/Release/obj.target/base_unittests/base/bind_helpers_unittest.o out/Release/obj.target/base_unittests/base/bind_unittest.o out/Release/obj.target/base_unittests/base/bits_unittest.o out/Release/obj.target/base_unittests/base/build_time_unittest.o out/Release/obj.target/base_unittests/base/callback_unittest.o out/Release/obj.target/base_unittests/base/cancelable_callback_unittest.o out/Release/obj.target/base_unittests/base/command_line_unittest.o out/Release/obj.target/base_unittests/base/containers/linked_list_unittest.o out/Release/obj.target/base_unittests/base/containers/mru_cache_unittest.o out/Release/obj.target/base_unittests/base/containers/small_map_unittest.o out/Release/obj.target/base_unittests/base/containers/stack_container_unittest.o out/Release/obj.target/base_unittests/base/cpu_unittest.o out/Release/obj.target/base_unittests/base/debug/crash_logging_unittest.o out/Release/obj.target/base_unittests/base/debug/leak_tracker_unittest.o out/Release/obj.target/base_unittests/base/debug/stack_trace_unittest.o out/Release/obj.target/base_unittests/base/debug/trace_event_unittest.o out/Release/obj.target/base_unittests/base/deferred_sequenced_task_runner_unittest.o out/Release/obj.target/base_unittests/base/environment_unittest.o out/Release/obj.target/base_unittests/base/file_util_unittest.o out/Release/obj.target/base_unittests/base/files/dir_reader_posix_unittest.o out/Release/obj.target/base_unittests/base/files/file_path_unittest.o out/Release/obj.target/base_unittests/base/files/file_util_proxy_unittest.o out/Release/obj.target/base_unittests/base/files/important_file_writer_unittest.o out/Release/obj.target/base_unittests/base/files/scoped_temp_dir_unittest.o out/Release/obj.target/base_unittests/base/gmock_unittest.o out/Release/obj.target/base_unittests/base/guid_unittest.o out/Release/obj.target/base_unittests/base/hi_res_timer_manager_unittest.o out/Release/obj.target/base_unittests/base/id_map_unittest.o out/Release/obj.target/base_unittests/base/i18n/break_iterator_unittest.o out/Release/obj.target/base_unittests/base/i18n/char_iterator_unittest.o out/Release/obj.target/base_unittests/base/i18n/case_conversion_unittest.o out/Release/obj.target/base_unittests/base/i18n/file_util_icu_unittest.o out/Release/obj.target/base_unittests/base/i18n/icu_string_conversions_unittest.o out/Release/obj.target/base_unittests/base/i18n/number_formatting_unittest.o out/Release/obj.target/base_unittests/base/i18n/rtl_unittest.o out/Release/obj.target/base_unittests/base/i18n/string_search_unittest.o out/Release/obj.target/base_unittests/base/i18n/time_formatting_unittest.o out/Release/obj.target/base_unittests/base/json/json_parser_unittest.o out/Release/obj.target/base_unittests/base/json/json_reader_unittest.o out/Release/obj.target/base_unittests/base/json/json_value_converter_unittest.o out/Release/obj.target/base_unittests/base/json/json_value_serializer_unittest.o out/Release/obj.target/base_unittests/base/json/json_writer_unittest.o out/Release/obj.target/base_unittests/base/json/string_escape_unittest.o out/Release/obj.target/base_unittests/base/lazy_instance_unittest.o out/Release/obj.target/base_unittests/base/logging_unittest.o out/Release/obj.target/base_unittests/base/md5_unittest.o out/Release/obj.target/base_unittests/base/memory/aligned_memory_unittest.o out/Release/obj.target/base_unittests/base/memory/discardable_memory_unittest.o out/Release/obj.target/base_unittests/base/memory/linked_ptr_unittest.o out/Release/obj.target/base_unittests/base/memory/ref_counted_memory_unittest.o out/Release/obj.target/base_unittests/base/memory/ref_counted_unittest.o out/Release/obj.target/base_unittests/base/memory/scoped_ptr_unittest.o out/Release/obj.target/base_unittests/base/memory/scoped_vector_unittest.o out/Release/obj.target/base_unittests/base/memory/shared_memory_unittest.o out/Release/obj.target/base_unittests/base/memory/singleton_unittest.o out/Release/obj.target/base_unittests/base/memory/weak_ptr_unittest.o out/Release/obj.target/base_unittests/base/message_loop/message_loop_proxy_impl_unittest.o out/Release/obj.target/base_unittests/base/message_loop/message_loop_proxy_unittest.o out/Release/obj.target/base_unittests/base/message_loop_unittest.o out/Release/obj.target/base_unittests/base/message_pump_glib_unittest.o out/Release/obj.target/base_unittests/base/message_pump_libevent_unittest.o out/Release/obj.target/base_unittests/base/metrics/sample_map_unittest.o out/Release/obj.target/base_unittests/base/metrics/sample_vector_unittest.o out/Release/obj.target/base_unittests/base/metrics/bucket_ranges_unittest.o out/Release/obj.target/base_unittests/base/metrics/field_trial_unittest.o out/Release/obj.target/base_unittests/base/metrics/histogram_base_unittest.o out/Release/obj.target/base_unittests/base/metrics/histogram_unittest.o out/Release/obj.target/base_unittests/base/metrics/sparse_histogram_unittest.o out/Release/obj.target/base_unittests/base/metrics/stats_table_unittest.o out/Release/obj.target/base_unittests/base/metrics/statistics_recorder_unittest.o out/Release/obj.target/base_unittests/base/observer_list_unittest.o out/Release/obj.target/base_unittests/base/path_service_unittest.o out/Release/obj.target/base_unittests/base/pickle_unittest.o out/Release/obj.target/base_unittests/base/platform_file_unittest.o out/Release/obj.target/base_unittests/base/posix/file_descriptor_shuffle_unittest.o out/Release/obj.target/base_unittests/base/posix/unix_domain_socket_linux_unittest.o out/Release/obj.target/base_unittests/base/power_monitor/power_monitor_unittest.o out/Release/obj.target/base_unittests/base/pr_time_unittest.o out/Release/obj.target/base_unittests/base/prefs/default_pref_store_unittest.o out/Release/obj.target/base_unittests/base/prefs/json_pref_store_unittest.o out/Release/obj.target/base_unittests/base/prefs/overlay_user_pref_store_unittest.o out/Release/obj.target/base_unittests/base/prefs/pref_change_registrar_unittest.o out/Release/obj.target/base_unittests/base/prefs/pref_member_unittest.o out/Release/obj.target/base_unittests/base/prefs/pref_notifier_impl_unittest.o out/Release/obj.target/base_unittests/base/prefs/pref_service_unittest.o out/Release/obj.target/base_unittests/base/prefs/pref_value_map_unittest.o out/Release/obj.target/base_unittests/base/prefs/pref_value_store_unittest.o out/Release/obj.target/base_unittests/base/process_util_unittest.o out/Release/obj.target/base_unittests/base/profiler/tracked_time_unittest.o out/Release/obj.target/base_unittests/base/rand_util_unittest.o out/Release/obj.target/base_unittests/base/safe_numerics_unittest.o out/Release/obj.target/base_unittests/base/scoped_clear_errno_unittest.o out/Release/obj.target/base_unittests/base/scoped_native_library_unittest.o out/Release/obj.target/base_unittests/base/security_unittest.o out/Release/obj.target/base_unittests/base/sequence_checker_unittest.o out/Release/obj.target/base_unittests/base/sequence_checker_impl_unittest.o out/Release/obj.target/base_unittests/base/sha1_unittest.o out/Release/obj.target/base_unittests/base/stl_util_unittest.o out/Release/obj.target/base_unittests/base/string16_unittest.o out/Release/obj.target/base_unittests/base/string_util_unittest.o out/Release/obj.target/base_unittests/base/stringprintf_unittest.o out/Release/obj.target/base_unittests/base/strings/string_number_conversions_unittest.o out/Release/obj.target/base_unittests/base/strings/string_piece_unittest.o out/Release/obj.target/base_unittests/base/strings/string_split_unittest.o out/Release/obj.target/base_unittests/base/strings/string_tokenizer_unittest.o out/Release/obj.target/base_unittests/base/strings/stringize_macros_unittest.o out/Release/obj.target/base_unittests/base/strings/sys_string_conversions_unittest.o out/Release/obj.target/base_unittests/base/strings/utf_offset_string_conversions_unittest.o out/Release/obj.target/base_unittests/base/synchronization/cancellation_flag_unittest.o out/Release/obj.target/base_unittests/base/synchronization/condition_variable_unittest.o out/Release/obj.target/base_unittests/base/synchronization/lock_unittest.o out/Release/obj.target/base_unittests/base/synchronization/waitable_event_unittest.o out/Release/obj.target/base_unittests/base/synchronization/waitable_event_watcher_unittest.o out/Release/obj.target/base_unittests/base/sys_info_unittest.o out/Release/obj.target/base_unittests/base/system_monitor/system_monitor_unittest.o out/Release/obj.target/base_unittests/base/task_runner_util_unittest.o out/Release/obj.target/base_unittests/base/template_util_unittest.o out/Release/obj.target/base_unittests/base/test/expectations/expectation_unittest.o out/Release/obj.target/base_unittests/base/test/expectations/parser_unittest.o out/Release/obj.target/base_unittests/base/test/trace_event_analyzer_unittest.o out/Release/obj.target/base_unittests/base/threading/non_thread_safe_unittest.o out/Release/obj.target/base_unittests/base/threading/platform_thread_unittest.o out/Release/obj.target/base_unittests/base/threading/sequenced_worker_pool_unittest.o out/Release/obj.target/base_unittests/base/threading/simple_thread_unittest.o out/Release/obj.target/base_unittests/base/threading/thread_checker_unittest.o out/Release/obj.target/base_unittests/base/threading/thread_collision_warner_unittest.o out/Release/obj.target/base_unittests/base/threading/thread_id_name_manager_unittest.o out/Release/obj.target/base_unittests/base/threading/thread_local_storage_unittest.o out/Release/obj.target/base_unittests/base/threading/thread_local_unittest.o out/Release/obj.target/base_unittests/base/threading/thread_unittest.o out/Release/obj.target/base_unittests/base/threading/watchdog_unittest.o out/Release/obj.target/base_unittests/base/threading/worker_pool_posix_unittest.o out/Release/obj.target/base_unittests/base/threading/worker_pool_unittest.o out/Release/obj.target/base_unittests/base/time_unittest.o out/Release/obj.target/base_unittests/base/timer_unittest.o out/Release/obj.target/base_unittests/base/tools_sanity_unittest.o out/Release/obj.target/base_unittests/base/tracked_objects_unittest.o out/Release/obj.target/base_unittests/base/tuple_unittest.o out/Release/obj.target/base_unittests/base/utf_string_conversions_unittest.o out/Release/obj.target/base_unittests/base/values_unittest.o out/Release/obj.target/base_unittests/base/version_unittest.o out/Release/obj.target/base_unittests/base/vlog_unittest.o out/Release/obj.target/base_unittests/base/nix/xdg_util_unittest.o out/Release/obj.target/base/libbase.a out/Release/obj.target/base/libbase_i18n.a out/Release/obj.target/base/libbase_prefs.a out/Release/obj.target/base/libbase_prefs_test_support.a out/Release/obj.target/base/libbase_static.a out/Release/obj.target/base/librun_all_unittests.a out/Release/obj.target/base/libtest_support_base.a out/Release/obj.target/base/third_party/dynamic_annotations/libdynamic_annotations.a out/Release/obj.target/testing/libgmock.a out/Release/obj.target/testing/libgtest.a out/Release/obj.target/third_party/icu/libicui18n.a out/Release/obj.target/third_party/icu/libicuuc.a out/Release/obj.target/base/allocator/liballocator.a out/Release/obj.target/third_party/libevent/libevent.a out/Release/obj.target/base/allocator/liballocator_extension_thunks.a out/Release/obj.target/third_party/modp_b64/libmodp_b64.a out/Release/obj.target/base/libsymbolize.a out/Release/obj.target/base/libxdg_mime.a out/Release/obj.target/third_party/icu/libicudata.a out/Release/obj.target/net/third_party/nss/libcrssl.a out/Release/obj.target/third_party/zlib/libchrome_zlib.a -Wl,--end-group -lrt -ldl -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lXtst -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lX11 -lXi -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 --save-temps lto1: internal compiler error: bytecode stream: expected tag decltype_type instead of error_mark 0x89a4e1 lto_tag_check ../../gcc/lto-streamer.h:934 0x89a4e1 streamer_read_tree_bitfields(lto_input_block*, data_in*, tree_node*) ../../gcc/tree-streamer-in.c:505 0x6c5aa5 lto_read_tree ../../gcc/lto-streamer-in.c:1012 0x6c5aa5 lto_input_tree(lto_input_block*, data_in*) ../../gcc/lto-streamer-in.c:1082 0x4f9799 lto_read_decls ../../gcc/lto/lto.c:2086 0x4f9799 lto_file_finalize ../../gcc/lto/lto.c:2339 0x4f9799 lto_create_files_from_ids ../../gcc/lto/lto.c:2349 0x4f9799 lto_file_read ../../gcc/lto/lto.c:2389 0x4f9799 read_cgraph_and_symbols ../../gcc/lto/lto.c:2964 0x4f9799 lto_main() ../../gcc/lto/lto.c:3375 Martin