Bug 2022588
| Summary: | gcc: Linking against libgcc_s should imply linking with libgcc (aarch64) | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Daniel Black <daniel> | ||||
| Component: | gcc | Assignee: | Marek Polacek <mpolacek> | ||||
| gcc sub component: | system-version | QA Contact: | Václav Kadlčík <vkadlcik> | ||||
| Status: | CLOSED ERRATA | Docs Contact: | |||||
| Severity: | high | ||||||
| Priority: | unspecified | CC: | ahajkova, fweimer, jakub, ohudlick | ||||
| Version: | 8.5 | Keywords: | Bugfix, Triaged | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | aarch64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | gcc-8.5.0-5.el8 | Doc Type: | No Doc Update | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2022-05-10 15:27:26 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
Daniel Black
2021-11-12 05:11:15 UTC
The functions are provided by libgcc, not libatomic: # nm /usr/lib/gcc/aarch64-redhat-linux/8/libgcc.a | grep ldadd4 0000000000000000 T __aarch64_ldadd4_relax 0000000000000000 T __aarch64_ldadd4_acq 0000000000000000 T __aarch64_ldadd4_rel 0000000000000000 T __aarch64_ldadd4_acq_rel Unlike libatomic, libgcc is linked implicitly by default. Since this happens only on some of your aarch64 systems, I would assume a system misconfiguration. The next step is to reproduce this without ccache, and discover the full linker command line (using g++ -v). [buildbot@8f69ebcb2426 build]$ cmake -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_CXX_FLAGS=-v . ... [buildbot@8f69ebcb2426 build]$ cmake --build . --target query_response_time -v Consolidate compiler generated dependencies of target query_response_time gmake[3]: Leaving directory '/home/buildbot/build' /usr/bin/gmake -f plugin/query_response_time/CMakeFiles/query_response_time.dir/build.make plugin/query_response_time/CMakeFiles/query_response_time.dir/build gmake[3]: Entering directory '/home/buildbot/build' [100%] Building CXX object plugin/query_response_time/CMakeFiles/query_response_time.dir/query_response_time.cc.o cd /home/buildbot/build/plugin/query_response_time && /usr/bin/g++ -DDBUG_TRACE -DHAVE_CONFIG_H -DHAVE_RESPONSE_TIME_DISTRIBUTION -DMYSQL_DYNAMIC_PLUGIN -D_FILE_OFFSET_BITS=64 -Dquery_response_time_EXPORTS -I/source/wsrep-lib/include -I/source/wsrep-lib/wsrep-API/v26 -I/home/buildbot/build/include -I/source/include/providers -I/source/include -I/source/sql -v -pie -fPIC -fstack-protector --param=ssp-buffer-size=4 -moutline-atomics -O2 -g -DNDEBUG -fno-omit-frame-pointer -D_FORTIFY_SOURCE=2 -DDBUG_OFF -Wall -Wextra -Wno-format-truncation -Wno-init-self -Wno-nonnull-compare -Wno-unused-parameter -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -fPIC -std=gnu++11 -MD -MT plugin/query_response_time/CMakeFiles/query_response_time.dir/query_response_time.cc.o -MF CMakeFiles/query_response_time.dir/query_response_time.cc.o.d -o CMakeFiles/query_response_time.dir/query_response_time.cc.o -c /source/plugin/query_response_time/query_response_time.cc Using built-in specs. COLLECT_GCC=/usr/bin/g++ Target: aarch64-redhat-linux Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-gnu-indirect-function --build=aarch64-redhat-linux Thread model: posix gcc version 8.5.0 20210514 (Red Hat 8.5.0-3) (GCC) COLLECT_GCC_OPTIONS='-D' 'DBUG_TRACE' '-D' 'HAVE_CONFIG_H' '-D' 'HAVE_RESPONSE_TIME_DISTRIBUTION' '-D' 'MYSQL_DYNAMIC_PLUGIN' '-D' '_FILE_OFFSET_BITS=64' '-D' 'query_response_time_EXPORTS' '-I' '/source/wsrep-lib/include' '-I' '/source/wsrep-lib/wsrep-API/v26' '-I' '/home/buildbot/build/include' '-I' '/source/include/providers' '-I' '/source/include' '-I' '/source/sql' '-v' '-pie' '-fstack-protector' '--param' 'ssp-buffer-size=4' '-moutline-atomics' '-O2' '-g' '-D' 'NDEBUG' '-fno-omit-frame-pointer' '-D' '_FORTIFY_SOURCE=2' '-D' 'DBUG_OFF' '-Wall' '-Wextra' '-Wformat-truncation=0' '-Wno-init-self' '-Wno-nonnull-compare' '-Wno-unused-parameter' '-Woverloaded-virtual' '-Wnon-virtual-dtor' '-Wvla' '-Wwrite-strings' '-fPIC' '-std=gnu++11' '-MD' '-MT' 'plugin/query_response_time/CMakeFiles/query_response_time.dir/query_response_time.cc.o' '-MF' 'CMakeFiles/query_response_time.dir/query_response_time.cc.o.d' '-o' 'CMakeFiles/query_response_time.dir/query_response_time.cc.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' /usr/libexec/gcc/aarch64-redhat-linux/8/cc1plus -quiet -v -I /source/wsrep-lib/include -I /source/wsrep-lib/wsrep-API/v26 -I /home/buildbot/build/include -I /source/include/providers -I /source/include -I /source/sql -MD CMakeFiles/query_response_time.dir/query_response_time.cc.d -MF CMakeFiles/query_response_time.dir/query_response_time.cc.o.d -MT plugin/query_response_time/CMakeFiles/query_response_time.dir/query_response_time.cc.o -D_GNU_SOURCE -D DBUG_TRACE -D HAVE_CONFIG_H -D HAVE_RESPONSE_TIME_DISTRIBUTION -D MYSQL_DYNAMIC_PLUGIN -D _FILE_OFFSET_BITS=64 -D query_response_time_EXPORTS -D NDEBUG -D _FORTIFY_SOURCE=2 -D DBUG_OFF /source/plugin/query_response_time/query_response_time.cc -quiet -dumpbase query_response_time.cc -moutline-atomics -mlittle-endian -mabi=lp64 -auxbase-strip CMakeFiles/query_response_time.dir/query_response_time.cc.o -g -O2 -Wall -Wextra -Wformat-truncation=0 -Wno-init-self -Wno-nonnull-compare -Wno-unused-parameter -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -std=gnu++11 -version -fstack-protector -fno-omit-frame-pointer -fPIC --param ssp-buffer-size=4 -o /tmp/ccTpHxT3.s GNU C++11 (GCC) version 8.5.0 20210514 (Red Hat 8.5.0-3) (aarch64-redhat-linux) compiled by GNU C version 8.5.0 20210514 (Red Hat 8.5.0-3), GMP version 6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.16.1-GMP GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/usr/lib/gcc/aarch64-redhat-linux/8/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/aarch64-redhat-linux/8/../../../../aarch64-redhat-linux/include" #include "..." search starts here: #include <...> search starts here: /source/wsrep-lib/include /source/wsrep-lib/wsrep-API/v26 /home/buildbot/build/include /source/include/providers /source/include /source/sql /usr/lib/gcc/aarch64-redhat-linux/8/../../../../include/c++/8 /usr/lib/gcc/aarch64-redhat-linux/8/../../../../include/c++/8/aarch64-redhat-linux /usr/lib/gcc/aarch64-redhat-linux/8/../../../../include/c++/8/backward /usr/lib/gcc/aarch64-redhat-linux/8/include /usr/local/include /usr/include End of search list. GNU C++11 (GCC) version 8.5.0 20210514 (Red Hat 8.5.0-3) (aarch64-redhat-linux) compiled by GNU C version 8.5.0 20210514 (Red Hat 8.5.0-3), GMP version 6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.16.1-GMP GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 15324aab02465443882f9c779bb84a58 COLLECT_GCC_OPTIONS='-D' 'DBUG_TRACE' '-D' 'HAVE_CONFIG_H' '-D' 'HAVE_RESPONSE_TIME_DISTRIBUTION' '-D' 'MYSQL_DYNAMIC_PLUGIN' '-D' '_FILE_OFFSET_BITS=64' '-D' 'query_response_time_EXPORTS' '-I' '/source/wsrep-lib/include' '-I' '/source/wsrep-lib/wsrep-API/v26' '-I' '/home/buildbot/build/include' '-I' '/source/include/providers' '-I' '/source/include' '-I' '/source/sql' '-v' '-pie' '-fstack-protector' '--param' 'ssp-buffer-size=4' '-moutline-atomics' '-O2' '-g' '-D' 'NDEBUG' '-fno-omit-frame-pointer' '-D' '_FORTIFY_SOURCE=2' '-D' 'DBUG_OFF' '-Wall' '-Wextra' '-Wformat-truncation=0' '-Wno-init-self' '-Wno-nonnull-compare' '-Wno-unused-parameter' '-Woverloaded-virtual' '-Wnon-virtual-dtor' '-Wvla' '-Wwrite-strings' '-fPIC' '-std=gnu++11' '-MD' '-MT' 'plugin/query_response_time/CMakeFiles/query_response_time.dir/query_response_time.cc.o' '-MF' 'CMakeFiles/query_response_time.dir/query_response_time.cc.o.d' '-o' 'CMakeFiles/query_response_time.dir/query_response_time.cc.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' as -v -I /source/wsrep-lib/include -I /source/wsrep-lib/wsrep-API/v26 -I /home/buildbot/build/include -I /source/include/providers -I /source/include -I /source/sql -EL -mabi=lp64 -o CMakeFiles/query_response_time.dir/query_response_time.cc.o /tmp/ccTpHxT3.s GNU assembler version 2.30 (aarch64-redhat-linux) using BFD version version 2.30-108.el8 COMPILER_PATH=/usr/libexec/gcc/aarch64-redhat-linux/8/:/usr/libexec/gcc/aarch64-redhat-linux/8/:/usr/libexec/gcc/aarch64-redhat-linux/:/usr/lib/gcc/aarch64-redhat-linux/8/:/usr/lib/gcc/aarch64-redhat-linux/ LIBRARY_PATH=/usr/lib/gcc/aarch64-redhat-linux/8/:/usr/lib/gcc/aarch64-redhat-linux/8/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/aarch64-redhat-linux/8/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-D' 'DBUG_TRACE' '-D' 'HAVE_CONFIG_H' '-D' 'HAVE_RESPONSE_TIME_DISTRIBUTION' '-D' 'MYSQL_DYNAMIC_PLUGIN' '-D' '_FILE_OFFSET_BITS=64' '-D' 'query_response_time_EXPORTS' '-I' '/source/wsrep-lib/include' '-I' '/source/wsrep-lib/wsrep-API/v26' '-I' '/home/buildbot/build/include' '-I' '/source/include/providers' '-I' '/source/include' '-I' '/source/sql' '-v' '-pie' '-fstack-protector' '--param' 'ssp-buffer-size=4' '-moutline-atomics' '-O2' '-g' '-D' 'NDEBUG' '-fno-omit-frame-pointer' '-D' '_FORTIFY_SOURCE=2' '-D' 'DBUG_OFF' '-Wall' '-Wextra' '-Wformat-truncation=0' '-Wno-init-self' '-Wno-nonnull-compare' '-Wno-unused-parameter' '-Woverloaded-virtual' '-Wnon-virtual-dtor' '-Wvla' '-Wwrite-strings' '-fPIC' '-std=gnu++11' '-MD' '-MT' 'plugin/query_response_time/CMakeFiles/query_response_time.dir/query_response_time.cc.o' '-MF' 'CMakeFiles/query_response_time.dir/query_response_time.cc.o.d' '-o' 'CMakeFiles/query_response_time.dir/query_response_time.cc.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' [100%] Building CXX object plugin/query_response_time/CMakeFiles/query_response_time.dir/plugin.cc.o cd /home/buildbot/build/plugin/query_response_time && /usr/bin/g++ -DDBUG_TRACE -DHAVE_CONFIG_H -DHAVE_RESPONSE_TIME_DISTRIBUTION -DMYSQL_DYNAMIC_PLUGIN -D_FILE_OFFSET_BITS=64 -Dquery_response_time_EXPORTS -I/source/wsrep-lib/include -I/source/wsrep-lib/wsrep-API/v26 -I/home/buildbot/build/include -I/source/include/providers -I/source/include -I/source/sql -v -pie -fPIC -fstack-protector --param=ssp-buffer-size=4 -moutline-atomics -O2 -g -DNDEBUG -fno-omit-frame-pointer -D_FORTIFY_SOURCE=2 -DDBUG_OFF -Wall -Wextra -Wno-format-truncation -Wno-init-self -Wno-nonnull-compare -Wno-unused-parameter -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -fPIC -std=gnu++11 -MD -MT plugin/query_response_time/CMakeFiles/query_response_time.dir/plugin.cc.o -MF CMakeFiles/query_response_time.dir/plugin.cc.o.d -o CMakeFiles/query_response_time.dir/plugin.cc.o -c /source/plugin/query_response_time/plugin.cc Using built-in specs. COLLECT_GCC=/usr/bin/g++ Target: aarch64-redhat-linux Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-gnu-indirect-function --build=aarch64-redhat-linux Thread model: posix gcc version 8.5.0 20210514 (Red Hat 8.5.0-3) (GCC) COLLECT_GCC_OPTIONS='-D' 'DBUG_TRACE' '-D' 'HAVE_CONFIG_H' '-D' 'HAVE_RESPONSE_TIME_DISTRIBUTION' '-D' 'MYSQL_DYNAMIC_PLUGIN' '-D' '_FILE_OFFSET_BITS=64' '-D' 'query_response_time_EXPORTS' '-I' '/source/wsrep-lib/include' '-I' '/source/wsrep-lib/wsrep-API/v26' '-I' '/home/buildbot/build/include' '-I' '/source/include/providers' '-I' '/source/include' '-I' '/source/sql' '-v' '-pie' '-fstack-protector' '--param' 'ssp-buffer-size=4' '-moutline-atomics' '-O2' '-g' '-D' 'NDEBUG' '-fno-omit-frame-pointer' '-D' '_FORTIFY_SOURCE=2' '-D' 'DBUG_OFF' '-Wall' '-Wextra' '-Wformat-truncation=0' '-Wno-init-self' '-Wno-nonnull-compare' '-Wno-unused-parameter' '-Woverloaded-virtual' '-Wnon-virtual-dtor' '-Wvla' '-Wwrite-strings' '-fPIC' '-std=gnu++11' '-MD' '-MT' 'plugin/query_response_time/CMakeFiles/query_response_time.dir/plugin.cc.o' '-MF' 'CMakeFiles/query_response_time.dir/plugin.cc.o.d' '-o' 'CMakeFiles/query_response_time.dir/plugin.cc.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' /usr/libexec/gcc/aarch64-redhat-linux/8/cc1plus -quiet -v -I /source/wsrep-lib/include -I /source/wsrep-lib/wsrep-API/v26 -I /home/buildbot/build/include -I /source/include/providers -I /source/include -I /source/sql -MD CMakeFiles/query_response_time.dir/plugin.cc.d -MF CMakeFiles/query_response_time.dir/plugin.cc.o.d -MT plugin/query_response_time/CMakeFiles/query_response_time.dir/plugin.cc.o -D_GNU_SOURCE -D DBUG_TRACE -D HAVE_CONFIG_H -D HAVE_RESPONSE_TIME_DISTRIBUTION -D MYSQL_DYNAMIC_PLUGIN -D _FILE_OFFSET_BITS=64 -D query_response_time_EXPORTS -D NDEBUG -D _FORTIFY_SOURCE=2 -D DBUG_OFF /source/plugin/query_response_time/plugin.cc -quiet -dumpbase plugin.cc -moutline-atomics -mlittle-endian -mabi=lp64 -auxbase-strip CMakeFiles/query_response_time.dir/plugin.cc.o -g -O2 -Wall -Wextra -Wformat-truncation=0 -Wno-init-self -Wno-nonnull-compare -Wno-unused-parameter -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -std=gnu++11 -version -fstack-protector -fno-omit-frame-pointer -fPIC --param ssp-buffer-size=4 -o /tmp/ccrWtIPp.s GNU C++11 (GCC) version 8.5.0 20210514 (Red Hat 8.5.0-3) (aarch64-redhat-linux) compiled by GNU C version 8.5.0 20210514 (Red Hat 8.5.0-3), GMP version 6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.16.1-GMP GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/usr/lib/gcc/aarch64-redhat-linux/8/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/aarch64-redhat-linux/8/../../../../aarch64-redhat-linux/include" #include "..." search starts here: #include <...> search starts here: /source/wsrep-lib/include /source/wsrep-lib/wsrep-API/v26 /home/buildbot/build/include /source/include/providers /source/include /source/sql /usr/lib/gcc/aarch64-redhat-linux/8/../../../../include/c++/8 /usr/lib/gcc/aarch64-redhat-linux/8/../../../../include/c++/8/aarch64-redhat-linux /usr/lib/gcc/aarch64-redhat-linux/8/../../../../include/c++/8/backward /usr/lib/gcc/aarch64-redhat-linux/8/include /usr/local/include /usr/include End of search list. GNU C++11 (GCC) version 8.5.0 20210514 (Red Hat 8.5.0-3) (aarch64-redhat-linux) compiled by GNU C version 8.5.0 20210514 (Red Hat 8.5.0-3), GMP version 6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.16.1-GMP GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 15324aab02465443882f9c779bb84a58 COLLECT_GCC_OPTIONS='-D' 'DBUG_TRACE' '-D' 'HAVE_CONFIG_H' '-D' 'HAVE_RESPONSE_TIME_DISTRIBUTION' '-D' 'MYSQL_DYNAMIC_PLUGIN' '-D' '_FILE_OFFSET_BITS=64' '-D' 'query_response_time_EXPORTS' '-I' '/source/wsrep-lib/include' '-I' '/source/wsrep-lib/wsrep-API/v26' '-I' '/home/buildbot/build/include' '-I' '/source/include/providers' '-I' '/source/include' '-I' '/source/sql' '-v' '-pie' '-fstack-protector' '--param' 'ssp-buffer-size=4' '-moutline-atomics' '-O2' '-g' '-D' 'NDEBUG' '-fno-omit-frame-pointer' '-D' '_FORTIFY_SOURCE=2' '-D' 'DBUG_OFF' '-Wall' '-Wextra' '-Wformat-truncation=0' '-Wno-init-self' '-Wno-nonnull-compare' '-Wno-unused-parameter' '-Woverloaded-virtual' '-Wnon-virtual-dtor' '-Wvla' '-Wwrite-strings' '-fPIC' '-std=gnu++11' '-MD' '-MT' 'plugin/query_response_time/CMakeFiles/query_response_time.dir/plugin.cc.o' '-MF' 'CMakeFiles/query_response_time.dir/plugin.cc.o.d' '-o' 'CMakeFiles/query_response_time.dir/plugin.cc.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' as -v -I /source/wsrep-lib/include -I /source/wsrep-lib/wsrep-API/v26 -I /home/buildbot/build/include -I /source/include/providers -I /source/include -I /source/sql -EL -mabi=lp64 -o CMakeFiles/query_response_time.dir/plugin.cc.o /tmp/ccrWtIPp.s GNU assembler version 2.30 (aarch64-redhat-linux) using BFD version version 2.30-108.el8 COMPILER_PATH=/usr/libexec/gcc/aarch64-redhat-linux/8/:/usr/libexec/gcc/aarch64-redhat-linux/8/:/usr/libexec/gcc/aarch64-redhat-linux/:/usr/lib/gcc/aarch64-redhat-linux/8/:/usr/lib/gcc/aarch64-redhat-linux/ LIBRARY_PATH=/usr/lib/gcc/aarch64-redhat-linux/8/:/usr/lib/gcc/aarch64-redhat-linux/8/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/aarch64-redhat-linux/8/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-D' 'DBUG_TRACE' '-D' 'HAVE_CONFIG_H' '-D' 'HAVE_RESPONSE_TIME_DISTRIBUTION' '-D' 'MYSQL_DYNAMIC_PLUGIN' '-D' '_FILE_OFFSET_BITS=64' '-D' 'query_response_time_EXPORTS' '-I' '/source/wsrep-lib/include' '-I' '/source/wsrep-lib/wsrep-API/v26' '-I' '/home/buildbot/build/include' '-I' '/source/include/providers' '-I' '/source/include' '-I' '/source/sql' '-v' '-pie' '-fstack-protector' '--param' 'ssp-buffer-size=4' '-moutline-atomics' '-O2' '-g' '-D' 'NDEBUG' '-fno-omit-frame-pointer' '-D' '_FORTIFY_SOURCE=2' '-D' 'DBUG_OFF' '-Wall' '-Wextra' '-Wformat-truncation=0' '-Wno-init-self' '-Wno-nonnull-compare' '-Wno-unused-parameter' '-Woverloaded-virtual' '-Wnon-virtual-dtor' '-Wvla' '-Wwrite-strings' '-fPIC' '-std=gnu++11' '-MD' '-MT' 'plugin/query_response_time/CMakeFiles/query_response_time.dir/plugin.cc.o' '-MF' 'CMakeFiles/query_response_time.dir/plugin.cc.o.d' '-o' 'CMakeFiles/query_response_time.dir/plugin.cc.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' [100%] Linking CXX shared module query_response_time.so cd /home/buildbot/build/plugin/query_response_time && /usr/bin/cmake -E cmake_link_script CMakeFiles/query_response_time.dir/link.txt --verbose=1 /usr/bin/g++ -fPIC -v -pie -fPIC -fstack-protector --param=ssp-buffer-size=4 -moutline-atomics -O2 -g -DNDEBUG -fno-omit-frame-pointer -D_FORTIFY_SOURCE=2 -DDBUG_OFF -Wall -Wextra -Wno-format-truncation -Wno-init-self -Wno-nonnull-compare -Wno-unused-parameter -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -Wl,-z,relro,-z,now -shared -o query_response_time.so CMakeFiles/query_response_time.dir/query_response_time.cc.o CMakeFiles/query_response_time.dir/plugin.cc.o -pthread ../../libservices/libmysqlservices.a -pthread Using built-in specs. COLLECT_GCC=/usr/bin/g++ COLLECT_LTO_WRAPPER=/usr/libexec/gcc/aarch64-redhat-linux/8/lto-wrapper Target: aarch64-redhat-linux Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-gnu-indirect-function --build=aarch64-redhat-linux Thread model: posix gcc version 8.5.0 20210514 (Red Hat 8.5.0-3) (GCC) COMPILER_PATH=/usr/libexec/gcc/aarch64-redhat-linux/8/:/usr/libexec/gcc/aarch64-redhat-linux/8/:/usr/libexec/gcc/aarch64-redhat-linux/:/usr/lib/gcc/aarch64-redhat-linux/8/:/usr/lib/gcc/aarch64-redhat-linux/ LIBRARY_PATH=/usr/lib/gcc/aarch64-redhat-linux/8/:/usr/lib/gcc/aarch64-redhat-linux/8/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/aarch64-redhat-linux/8/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-fPIC' '-fstack-protector' '--param' 'ssp-buffer-size=4' '-moutline-atomics' '-O2' '-g' '-D' 'NDEBUG' '-fno-omit-frame-pointer' '-D' '_FORTIFY_SOURCE=2' '-D' 'DBUG_OFF' '-Wall' '-Wextra' '-Wformat-truncation=0' '-Wno-init-self' '-Wno-nonnull-compare' '-Wno-unused-parameter' '-Woverloaded-virtual' '-Wnon-virtual-dtor' '-Wvla' '-Wwrite-strings' '-shared' '-o' 'query_response_time.so' '-pthread' '-pthread' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' /usr/libexec/gcc/aarch64-redhat-linux/8/collect2 -plugin /usr/libexec/gcc/aarch64-redhat-linux/8/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/aarch64-redhat-linux/8/lto-wrapper -plugin-opt=-fresolution=/tmp/ccEaptrM.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -shared -X -EL -maarch64linux -o query_response_time.so /usr/lib/gcc/aarch64-redhat-linux/8/../../../../lib64/crti.o /usr/lib/gcc/aarch64-redhat-linux/8/crtbeginS.o -L/usr/lib/gcc/aarch64-redhat-linux/8 -L/usr/lib/gcc/aarch64-redhat-linux/8/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/aarch64-redhat-linux/8/../../.. -z relro -z now CMakeFiles/query_response_time.dir/query_response_time.cc.o CMakeFiles/query_response_time.dir/plugin.cc.o ../../libservices/libmysqlservices.a -lstdc++ -lm -lgcc_s -lpthread -lc -lgcc_s /usr/lib/gcc/aarch64-redhat-linux/8/crtendS.o /usr/lib/gcc/aarch64-redhat-linux/8/../../../../lib64/crtn.o COLLECT_GCC_OPTIONS='-v' '-fPIC' '-fstack-protector' '--param' 'ssp-buffer-size=4' '-moutline-atomics' '-O2' '-g' '-D' 'NDEBUG' '-fno-omit-frame-pointer' '-D' '_FORTIFY_SOURCE=2' '-D' 'DBUG_OFF' '-Wall' '-Wextra' '-Wformat-truncation=0' '-Wno-init-self' '-Wno-nonnull-compare' '-Wno-unused-parameter' '-Woverloaded-virtual' '-Wnon-virtual-dtor' '-Wvla' '-Wwrite-strings' '-shared' '-o' 'query_response_time.so' '-pthread' '-pthread' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' gmake[3]: Leaving directory '/home/buildbot/build' [100%] Built target query_response_time gmake[2]: Leaving directory '/home/buildbot/build' /usr/bin/cmake -E cmake_progress_start /home/buildbot/build/CMakeFiles 0 gmake[1]: Leaving directory '/home/buildbot/build' [buildbot@8f69ebcb2426 build]$ readelf -a plugin/query_response_time/CMakeFiles/query_response_time.dir/query_response_time.cc.o | grep ldadd 000000000300 00240000011b R_AARCH64_CALL26 0000000000000000 __aarch64_ldadd4_relax + 0 00000000030c 00250000011b R_AARCH64_CALL26 0000000000000000 __aarch64_ldadd8_relax + 0 36: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __aarch64_ldadd4_relax 37: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __aarch64_ldadd8_relax [buildbot@8f69ebcb2426 build]$ readelf -d plugin/query_response_time/query_response_time.so Dynamic section at offset 0xfcc8 contains 31 entries: Tag Type Name/Value 0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6] 0x0000000000000001 (NEEDED) Shared library: [libm.so.6] 0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1] 0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x0000000000000001 (NEEDED) Shared library: [ld-linux-aarch64.so.1] So the shared libgcc. [buildbot@8f69ebcb2426 build]$ rpm -qf /usr/lib64/libgcc_s.so.1 libgcc-8.5.0-3.el8.aarch64 [buildbot@8f69ebcb2426 build]$ readelf -a /usr/lib64/libgcc_s.so.1 | grep ldadd [buildbot@8f69ebcb2426 build]$ Without __aarch64_ldadd{4,8}_relax symbols. libgcc_s.so is not a linker script:
# ls -l /usr/lib/gcc/aarch64-redhat-linux/8/libgcc_s.so
lrwxrwxrwx. 1 root root 20 Jul 14 09:16 /usr/lib/gcc/aarch64-redhat-linux/8/libgcc_s.so -> /lib64/libgcc_s.so.1
The -moutline-atomics backport on the upstream branch gets it right, but the gcc.spec file overrides it. aarch64 is missing from %ifarch:
mkdir -p %{buildroot}/%{_lib}
mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1
chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1
ln -sf libgcc_s-%{gcc_major}-%{DATE}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1
%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 ppc64le %{arm}
rm -f $FULLPATH/libgcc_s.so
echo '/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
OUTPUT_FORMAT('`gcc -Wl,--print-output-format -nostdlib -r -o /dev/null`')
GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so
%else
ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
%endif
Thank you. I think I omitted to say that this affects RHEL7 too. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (gcc bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2022:2072 |