https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118142
Bug ID: 118142 Summary: libatomic fails to build for AARCH64:ILP32 Product: gcc Version: 14.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: zhangtianhao6 at huawei dot com Target Milestone: --- An error occurred while building libatomic for AARCH64:ILP32. The detailed error information is as follows: In file included from /home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/../../open_source/hcc_arm64le_build_src/wireless/gcc/libatomic/config/aarch64/host-config.h:46, from /home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/../../open_source/hcc_arm64le_build_src/wireless/gcc/libatomic/libatomic_i.h:232, from /home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/../../open_source/hcc_arm64le_build_src/wireless/gcc/libatomic/fenv.c:24: /home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/../../open_source/hcc_arm64le_build_src/wireless/gcc/libatomic/config/linux/aarch64/host-config.h: In function 'has_lse128': /home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/../../open_source/hcc_arm64le_build_src/wireless/gcc/libatomic/config/linux/aarch64/host-config.h:37:30: error: left shift count >= width of type [-Werror=shift-count-overflow] 37 | # define HWCAP2_LSE128 (1UL << 47) | ^~ /home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/../../open_source/hcc_arm64le_build_src/wireless/gcc/libatomic/config/linux/aarch64/host-config.h:95:30: note: in expansion of macro 'HWCAP2_LSE128' 95 | && features->_hwcap2 & HWCAP2_LSE128) | ^~~~~~~~~~~~~ cc1: all warnings being treated as errors The detailed compilation commands are as follows: > /home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/arm64le_build_dir/obj/build-gcc-final/./gcc/xgcc > > -B/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/arm64le_build_dir/obj/build-gcc-final/./gcc/ > -B/usr/local/aarch64-target-linux-gnu/bin/ > -B/usr/local/aarch64-target-linux-gnu/lib/ -isystem > /usr/local/aarch64-target-linux-gnu/include -isystem > /usr/local/aarch64-target-linux-gnu/sys-include > --sysroot=/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/arm64le_build_dir/hcc_arm64le/sysroot > -DHAVE_CONFIG_H > -I/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/../../open_source/hcc_arm64le_build_src/wireless/gcc/libatomic/config/aarch64 > > -I/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/../../open_source/hcc_arm64le_build_src/wireless/gcc/libatomic/config/linux/aarch64 > > -I/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/../../open_source/hcc_arm64le_build_src/wireless/gcc/libatomic/config/posix > > -I/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/../../open_source/hcc_arm64le_build_src/wireless/gcc/libatomic > -I. > --sysroot=/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/arm64le_build_dir/hcc_arm64le/sysroot > -mno-outline-atomics -Wall -Werror -pthread -g -O2 -mabi=ilp32 -MT fenv.lo > -MD -MP -MF .deps/fenv.Tpo -c > /home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/../../open_source/hcc_arm64le_build_src/wireless/gcc/libatomic/fenv.c > -fPIC -DPIC -o .libs/fenv.o Does HWCAP2_LSE128 marco in libatomic/config/linux/aarch64/host-config.h adapt to aarch64 ilp32? How about change # define HWCAP2_LSE128 (1UL << 47) to # define HWCAP2_LSE128 (1ULL << 47). After the modification I recompile and it's ok. GCC VERSION:14.2.0 System type: Linux cpu 4.15.0-156-generic #163-Ubuntu SMP Thu Aug 19 23:31:58 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux GCC configure: /home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/../../open_source/hcc_arm64le_build_src/wireless/gcc/configure --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=aarch64-target-linux-gnu --with-arch=armv8-a --with-multilib-list=lp64,ilp32 --enable-__cxa_atexit --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-libgomp --enable-threads --enable-plugin --enable-c99 --enable-long-long --disable-nls --enable-shared --enable-poison-system-directories --enable-symvers=gnu --enable-languages=c,c++ --with-sysroot=/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/arm64le_build_dir/hcc_arm64le/sysroot --with-build-sysroot=/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/arm64le_build_dir/hcc_arm64le/sysroot --with-gmp=/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/arm64le_build_dir/hcc_arm64le --with-mpfr=/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/arm64le_build_dir/hcc_arm64le --with-mpc=/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/arm64le_build_dir/hcc_arm64le --with-isl=/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/arm64le_build_dir/hcc_arm64le --with-build-time-tools=/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/arm64le_build_dir/hcc_arm64le/aarch64-target-linux-gnu/bin --libdir=/home/zth/gcc_update/SDK_CPU_HCC/build/hcc_arm64le/arm64le_build_dir/hcc_arm64le/lib64 --disable-bootstrap --disable-libcilkrts --disable-libstdcxx-dual-abi --with-system-zlib