Sample Header Ad - 728x90

avoiding __uint128_t in libc when cross compiling for 32-bit targets

0 votes
0 answers
79 views
I'm attempting to build a 32-bit toolchain in a docker container with an aarch64 architecture. I have explicitly called --without-long-double-128 in my first pass of gcc but glibc is failing compile due to missing __uint128_t types. I've looked through libc configuration options and I don't see a way to explicitly avoid these types. Does anyone know a way around this? **First Error** 1.504 /opt/usr/include/asm/sigcontext.h:81:9: error: unknown type name '__uint128_t'; did you mean '__uint32_t'? 1.504 81 | __uint128_t vregs; 1.504 | ^~~~~~~~~~~ 1.504 | __uint32_t 1.514 In file included from ../sysdeps/unix/sysv/linux/powerpc/sys/user.h:24, 1.514 from ../sysdeps/unix/sysv/linux/sys/procfs.h:35, 1.514 from ../sysdeps/nptl/thread_db.h:28, 1.514 from ../nptl/descr.h:31: **GCC first pass config** RUN mkdir -p ${WORKROOT}/src/gcc/build WORKDIR ${WORKROOT}/src/gcc/build RUN ../configure --prefix=${WORKROOT}/tools \ --target=powerpc-linux-gnu \ --with-sysroot=${WORKROOT} \ --with-newlib \ --without-headers \ --enable-initfini-array \ --enable-default-pie \ --enable-default-ssp \ --disable-nls \ --disable-shared \ --disable-multilib \ --disable-decimal-float \ --disable-threads \ --disable-libatomic \ --disable-libgomp \ --disable-libquadmath \ --disable-libssp \ --disable-libvtv \ --disable-libstdcxx \ --disable-gcov \ --without-long-double-128 \ --enable-languages=c,c++ **glibc config** RUN ../configure \ --prefix=/usr \ --host=powerpc-linux-gnu \ --build=$(../scripts/config.guess) \ --enable-kernel=4.14 \ --with-headers=${WORKROOT}/usr/include \ libc_cv_slibdir=/usr/lib
Asked by mreff555 (131 rep)
Nov 14, 2024, 12:43 AM