I try to cross compile gcc 14.1.0 for an older arm linux. During compilation it fails with a long list of linking problems for libstdc++.so I configured gcc with: ../configure --prefix=/opt/armv7_$(GCC_VERSION) --enable-languages=c,c++ --with-sysroot=/opt/podman_debian8/merged --enable-multiarch --with-fpu=vfpv3-d16 --with-mode=thumb --with-arch=armv7-a --target=arm-linux-gnueabihf --disable-multilib --with-stdc++lib=static Is it possible to add/remove some flags for ./configure to get the new compiler to work even with the libm.a library from the target system which was not compiled with fPic. Thanks Klaus #### full error message: libtool: link: /home/krud/compiler_install/gcc-14.1.0/build_armv7/./gcc/xgcc -shared-libgcc -B/home/krud/compiler_install/gcc-14.1.0/build_armv7/./gcc -nostdinc++ -L/home/krud/compiler_install/gcc-14.1.0/build_armv7/arm-linux-gnueabihf/libstdc++-v3/src -L/home/krud/compiler_install/gcc-14.1.0/build_armv7/arm-linux-gnueabihf/libstdc++-v3/src/.libs -L/home/krud/compiler_install/gcc-14.1.0/build_armv7/arm-linux-gnueabihf/libstdc++-v3/libsupc++/.libs -B/opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ -B/opt/armv7_14.1.0/arm-linux-gnueabihf/lib/ -isystem /opt/armv7_14.1.0/arm-linux-gnueabihf/include -isystem /opt/armv7_14.1.0/arm-linux-gnueabihf/sys-include -fPIC -DPIC -D_GLIBCXX_SHARED -shared -nostdlib /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/crti.o /home/krud/compiler_install/gcc-14.1.0/build_armv7/./gcc/crtbeginS.o .libs/compatibility.o .libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o .libs/compatibility-atomic-c++0x.o .libs/compatibility-c++0x.o .libs/compatibility-chrono.o .libs/compatibility-condvar.o .libs/compatibility-thread-c++0x.o -Wl,--whole-archive ../libsupc++/.libs/libsupc++convenience.a ../src/c++98/.libs/libc++98convenience.a ../src/c++11/.libs/libc++11convenience.a ../src/c++17/.libs/libc++17convenience.a ../src/c++20/.libs/libc++20convenience.a -Wl,--no-whole-archive -L/home/krud/compiler_install/gcc-14.1.0/build_armv7/arm-linux-gnueabihf/libstdc++-v3/libsupc++/.libs -L/home/krud/compiler_install/gcc-14.1.0/build_armv7/arm-linux-gnueabihf/libstdc++-v3/src -L/home/krud/compiler_install/gcc-14.1.0/build_armv7/arm-linux-gnueabihf/libstdc++-v3/src/.libs -lm -L/home/krud/compiler_install/gcc-14.1.0/build_armv7/./gcc -L/opt/armv7_14.1.0/arm-linux-gnueabihf/bin -L/opt/armv7_14.1.0/arm-linux-gnueabihf/lib -L/opt/podman_debian8/merged/lib/arm-linux-gnueabihf -L/opt/podman_debian8/merged/lib -L/opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf -L/opt/podman_debian8/merged/usr/lib -lc -lgcc_s /home/krud/compiler_install/gcc-14.1.0/build_armv7/./gcc/crtendS.o /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/crtn.o -Wl,-O1 -Wl,-z -Wl,relro -Wl,--gc-sections -Wl,--version-script=libstdc++-symbols.ver -Wl,-soname -Wl,libstdc++.so.6 -o .libs/libstdc++.so.6.0.33 /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(s_atan.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(s_sin.o): relocation R_ARM_THM_MOVW_ABS_NC against `__sincostab' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(s_tan.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(w_acos.o): relocation R_ARM_THM_MOVW_ABS_NC against `_LIB_VERSION' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(w_asin.o): relocation R_ARM_THM_MOVW_ABS_NC against `_LIB_VERSION' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(w_atan2.o): relocation R_ARM_THM_MOVW_ABS_NC against `_LIB_VERSION' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(w_cosh.o): relocation R_ARM_THM_MOVW_ABS_NC against `_LIB_VERSION' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(w_exp.o): relocation R_ARM_THM_MOVW_ABS_NC against `_LIB_VERSION' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(w_fmod.o): relocation R_ARM_THM_MOVW_ABS_NC against `_LIB_VERSION' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(w_hypot.o): relocation R_ARM_THM_MOVW_ABS_NC against `_LIB_VERSION' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(w_log.o): relocation R_ARM_THM_MOVW_ABS_NC against `_LIB_VERSION' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(w_log10.o): relocation R_ARM_THM_MOVW_ABS_NC against `_LIB_VERSION' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(w_pow.o): relocation R_ARM_THM_MOVW_ABS_NC against `_LIB_VERSION' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(w_sinh.o): relocation R_ARM_THM_MOVW_ABS_NC against `_LIB_VERSION' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(w_sqrt.o): relocation R_ARM_THM_MOVW_ABS_NC against `_LIB_VERSION' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(branred.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(dosincos.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(mpa.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(mpatan.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(mpsqrt.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(sincos32.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(k_standard.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(e_asin.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(e_atan2.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(e_exp.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(e_fmod.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(e_log.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(e_pow.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(e_sqrt.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(s_rint.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(doasin.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(mpatan2.o): relocation R_ARM_THM_MOVW_ABS_NC against `mpone' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(mplog.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(slowpow.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(halfulp.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(mpexp.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(mpa.o): in function `__dvd': (.text+0xf60): dangerous relocation: unsupported relocation /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(mpsqrt.o): in function `__mpsqrt': (.text+0x168): dangerous relocation: unsupported relocation /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(sincos32.o): in function `__sin32': (.text+0x2f0): dangerous relocation: unsupported relocation /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(sincos32.o): in function `__cos32': (.text+0x3f8): dangerous relocation: unsupported relocation (.text+0x3fc): dangerous relocation: unsupported relocation /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(sincos32.o): in function `__mpranred': (.text+0x5d0): dangerous relocation: unsupported relocation (.text+0x5d4): dangerous relocation: unsupported relocation /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(sincos32.o): in function `__mpsin': (.text+0x6c0): dangerous relocation: unsupported relocation /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(sincos32.o): in function `__mpcos': (.text+0x7a8): dangerous relocation: unsupported relocation /opt/armv7_14.1.0/arm-linux-gnueabihf/bin/ld: /opt/podman_debian8/merged/usr/lib/arm-linux-gnueabihf/libm.a(k_standard.o)(.text+0x46a): unresolvable R_ARM_THM_MOVW_ABS_NC relocation against symbol `stderr@@GLIBC_2.4' collect2: error: ld returned 1 exit status make[6]: *** [Makefile:764: libstdc++.la] Fehler 1 make[6]: Verzeichnis „/home/krud/compiler_install/gcc-14.1.0/build_armv7/arm-linux-gnueabihf/libstdc++-v3/src“ wird verlassen make[5]: *** [Makefile:797: all-recursive] Fehler 1 make[5]: Verzeichnis „/home/krud/compiler_install/gcc-14.1.0/build_armv7/arm-linux-gnueabihf/libstdc++-v3/src“ wird verlassen make[4]: *** [Makefile:577: all-recursive] Fehler 1 make[4]: Verzeichnis „/home/krud/compiler_install/gcc-14.1.0/build_armv7/arm-linux-gnueabihf/libstdc++-v3“ wird verlassen make[3]: *** [Makefile:502: all] Fehler 2 make[3]: Verzeichnis „/home/krud/compiler_install/gcc-14.1.0/build_armv7/arm-linux-gnueabihf/libstdc++-v3“ wird verlassen make[2]: *** [Makefile:14092: all-target-libstdc++-v3] Fehler 2 make[2]: Verzeichnis „/home/krud/compiler_install/gcc-14.1.0/build_armv7“ wird verlassen make[1]: *** [Makefile:1070: all] Fehler 2 make[1]: Verzeichnis „/home/krud/compiler_install/gcc-14.1.0/build_armv7“ wird verlassen