From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 42C49385E44A; Wed, 14 Jul 2021 10:42:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 42C49385E44A From: "kevin.zhao at linaro dot org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/101448] New: Use GCC 9.3.0 to build Ceph crimson-osd, linker failed for "relocation truncated to fit" against symbol Date: Wed, 14 Jul 2021 10:42:50 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 9.3.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: kevin.zhao at linaro dot org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Jul 2021 10:42:51 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D101448 Bug ID: 101448 Summary: Use GCC 9.3.0 to build Ceph crimson-osd, linker failed for "relocation truncated to fit" against symbol Product: gcc Version: 9.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: kevin.zhao at linaro dot org Target Milestone: --- Use GCC 9.3.0 binutils 2.34 to build Ceph, I experienced relocation truncat= ed to fit: R_AARCH64_CALL26 This binary after Linking usually around 2G size, I'm not sure if this is related with the failure. Btw, build with Clang 10 works well. This is the regression point: https://github.com/ceph/ceph/commit/80961c27d1adaa969e9ad3647d2fb9944b77904= a#diff-195c71729a932038ce1774c2539247ffb0189fb3a7d10162403b06b26f2fdb54R264 After taking into this line, the Linking failed. The corresponding function= in seastar is: https://github.com/scylladb/seastar/blob/master/src/core/prometheus.cc#L599 Log: [462/462] Linking CXX executable bin/crimson-osd FAILED: bin/crimson-osd : && /usr/bin/ccache /usr/bin/c++ -g -rdynamic src/crimson/osd/CMakeFiles/crimson-osd.dir/backfill_state.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/ec_backend.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/heartbeat.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/main.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/osd.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/osd_meta.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/pg.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/pg_backend.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/pg_meta.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/replicated_backend.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/shard_services.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/object_context.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/ops_executer.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/osd_operation.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/osd_operations/client_request.cc= .o src/crimson/osd/CMakeFiles/crimson-osd.dir/osd_operations/client_request_co= mmon.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/osd_operations/compound_peering_= request.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/osd_operations/internal_client_r= equest.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/osd_operations/peering_event.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/osd_operations/pg_advance_map.cc= .o src/crimson/osd/CMakeFiles/crimson-osd.dir/osd_operations/replicated_reques= t.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/osd_operations/background_recove= ry.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/osd_operations/recovery_subreque= st.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/pg_recovery.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/recovery_backend.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/replicated_recovery_backend.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/scheduler/scheduler.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/scheduler/mclock_scheduler.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/osdmap_gate.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/pg_map.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/pg_interval_interrupt_condition.= cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/objclass.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/__/__/objclass/class_api.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/__/__/osd/ClassHandler.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/__/__/osd/osd_op_util.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/__/__/osd/OSDCap.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/__/__/osd/PeeringState.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/__/__/osd/PGPeeringEvent.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/__/__/osd/PGStateUtils.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/__/__/osd/MissingLoc.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/__/__/osd/PGLog.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/__/__/osd/recovery_types.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/__/__/osd/osd_perf_counters.cc.o src/crimson/osd/CMakeFiles/crimson-osd.dir/watch.cc.o -o bin/crimson-osd=20 -Wl,-rpath,::::::::::::::::::: lib/libcrimson-admin.a lib/libcrimson-comm= on.a lib/libcrimson-os.a lib/libcrimson.a /usr/lib/aarch64-linux-gnu/libfmt.a= =20 lib/libdmclock.a lib/libcrimson-cyanstore.a lib/libcrimson-os.a=20 lib/libcrimson-cyanstore.a lib/libcrimson-alienstore.a lib/libkv.a=20 /usr/lib/aarch64-linux-gnu/libleveldb.so src/rocksdb/librocksdb.a=20 /usr/lib/aarch64-linux-gnu/libsnappy.so /usr/lib/aarch64-linux-gnu/liblz4.= so=20 /usr/lib/aarch64-linux-gnu/libz.so lib/libheap_profiler.a=20 lib/libcrimson-alien-common.a /usr/lib/aarch64-linux-gnu/libblkid.so=20 /usr/lib/aarch64-linux-gnu/libudev.so lib/libblk.a=20 /usr/lib/aarch64-linux-gnu/libaio.so ../src/spdk/build/lib/libspdk_lvol.a= =20 ../src/spdk/build/lib/libspdk_env_dpdk.a -Wl,--whole-archive /home/ubuntu/ceph-gcc/ceph/build/src/dpdk/lib/librte_bus_pci.a /home/ubuntu/ceph-gcc/ceph/build/src/dpdk/lib/librte_eal.a /home/ubuntu/ceph-gcc/ceph/build/src/dpdk/lib/librte_kvargs.a /home/ubuntu/ceph-gcc/ceph/build/src/dpdk/lib/librte_mbuf.a /home/ubuntu/ceph-gcc/ceph/build/src/dpdk/lib/librte_mempool.a /home/ubuntu/ceph-gcc/ceph/build/src/dpdk/lib/librte_mempool_ring.a /home/ubuntu/ceph-gcc/ceph/build/src/dpdk/lib/librte_pci.a /home/ubuntu/ceph-gcc/ceph/build/src/dpdk/lib/librte_ring.a /home/ubuntu/ceph-gcc/ceph/build/src/dpdk/lib/librte_telemetry.a -Wl,--no-whole-archive -Wl,-lnuma -Wl,-lpthread,-ldl -lrt=20 ../src/spdk/build/lib/libspdk_sock.a ../src/spdk/build/lib/libspdk_nvmf.a= =20 ../src/spdk/build/lib/libspdk_bdev.a ../src/spdk/build/lib/libspdk_nvme.a= =20 ../src/spdk/build/lib/libspdk_conf.a ../src/spdk/build/lib/libspdk_thread.= a=20 ../src/spdk/build/lib/libspdk_trace.a ../src/spdk/build/lib/libspdk_notify= .a=20 ../src/spdk/build/lib/libspdk_accel.a=20 ../src/spdk/build/lib/libspdk_event_accel.a=20 ../src/spdk/build/lib/libspdk_blob.a ../src/spdk/build/lib/libspdk_vmd.a=20 ../src/spdk/build/lib/libspdk_event_vmd.a=20 ../src/spdk/build/lib/libspdk_event_bdev.a=20 ../src/spdk/build/lib/libspdk_sock_posix.a=20 ../src/spdk/build/lib/libspdk_event_sock.a=20 ../src/spdk/build/lib/libspdk_event.a ../src/spdk/build/lib/libspdk_rpc.a= =20 ../src/spdk/build/lib/libspdk_jsonrpc.a ../src/spdk/build/lib/libspdk_json= .a=20 ../src/spdk/build/lib/libspdk_util.a /usr/lib/aarch64-linux-gnu/libuuid.so= =20 ../src/spdk/build/lib/libspdk_log.a src/liburing/src/liburing.a=20 lib/libcrimson-seastore.a lib/libcrimson.a lib/libcrimson-common.a=20 lib/libcrc32.a lib/libarch.a boost/lib/libboost_iostreams.a=20 boost/lib/libboost_regex.a boost/lib/libboost_random.a lib/libjson_spirit= .a=20 lib/libcommon_utf8.a /usr/lib/aarch64-linux-gnu/libz.so=20 /usr/lib/aarch64-linux-gnu/libcrypto.so lib/libseastar.a=20 /usr/lib/aarch64-linux-gnu/libfmt.a boost/lib/libboost_program_options.a=20 boost/lib/libboost_thread.a boost/lib/libboost_chrono.a=20 boost/lib/libboost_system.a boost/lib/libboost_date_time.a=20 boost/lib/libboost_atomic.a /usr/lib/aarch64-linux-gnu/libcares.so=20 /usr/lib/aarch64-linux-gnu/libcryptopp.so /usr/lib/aarch64-linux-gnu/liblz= 4.so -ldl /usr/lib/aarch64-linux-gnu/libgnutls.so -latomic=20 /usr/lib/aarch64-linux-gnu/libsctp.so=20 /usr/lib/aarch64-linux-gnu/libprotobuf.so -lrt=20 /usr/lib/aarch64-linux-gnu/libyaml-cpp.so -fsanitize=3Daddress=20 -fsanitize=3Dundefined -fno-sanitize=3Dvptr /usr/lib/aarch64-linux-gnu/li= bnuma.so -lpthread && : boost/lib/libboost_program_options.a(cmdline.o): in function `boost::program_options::invalid_syntax::get_template[abi:cxx11](boost::pro= gram_options::invalid_syntax::kind_t)': cmdline.cpp:(.text+0x70): relocation truncated to fit: R_AARCH64_CALL26 aga= inst symbol `strlen' defined in .text section in /usr/lib/gcc/aarch64-linux-gnu/9/libasan.so cmdline.cpp:(.text+0xa4): relocation truncated to fit: R_AARCH64_CALL26 aga= inst symbol `memcpy' defined in .text section in /usr/lib/gcc/aarch64-linux-gnu/9/libasan.so cmdline.cpp:(.text+0x14c): relocation truncated to fit: R_AARCH64_CALL26 against symbol `__stack_chk_fail@@GLIBC_2.17' defined in .text section in /lib/aarch64-linux-gnu/libc.so.6 boost/lib/libboost_program_options.a(cmdline.o): in function `boost::program_options::detail::cmdline::style(int)': cmdline.cpp:(.text+0x1b0): relocation truncated to fit: R_AARCH64_CALL26 against symbol `strlen' defined in .text section in /usr/lib/gcc/aarch64-linux-gnu/9/libasan.so cmdline.cpp:(.text+0x1e4): relocation truncated to fit: R_AARCH64_CALL26 against symbol `memcpy' defined in .text section in /usr/lib/gcc/aarch64-linux-gnu/9/libasan.so cmdline.cpp:(.text+0x200): relocation truncated to fit: R_AARCH64_CALL26 against symbol `std::logic_error::logic_error(std::__cxx11::basic_string, std::allocator > const&)@@GLIBCXX_3.4.21' def= ined in .text section in /usr/lib/gcc/aarch64-linux-gnu/9/libstdc++.so cmdline.cpp:(.text+0x214): relocation truncated to fit: R_AARCH64_CALL26 against symbol `__cxa_allocate_exception@@CXXABI_1.3' defined in .text sect= ion in /usr/lib/gcc/aarch64-linux-gnu/9/libstdc++.so cmdline.cpp:(.text+0x230): relocation truncated to fit: R_AARCH64_CALL26 against symbol `std::logic_error::logic_error(std::logic_error const&)@@GLIBCXX_3.4.21' defined in .text section in /usr/lib/gcc/aarch64-linux-gnu/9/libstdc++.so cmdline.cpp:(.text+0x274): relocation truncated to fit: R_AARCH64_CALL26 against symbol `__cxa_throw' defined in .text section in /usr/lib/gcc/aarch64-linux-gnu/9/libasan.so cmdline.cpp:(.text+0x2d4): relocation truncated to fit: R_AARCH64_CALL26 against symbol `__stack_chk_fail@@GLIBC_2.17' defined in .text section in /lib/aarch64-linux-gnu/libc.so.6 cmdline.cpp:(.text+0x2fc): additional relocation overflows omitted from the output collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed.=