Как настроить ССЗ, таких, что `двойной` = `двойной` = 64 бит

Я кросс-компиляции для GCC (6.4.0) на машине X64_64 для i386, и пытается указать, что должны использовать 64 бит как двойной. На ССЗ документации имеет конфигурацию плит, как и . Но хотя мой собрал GCC показывает, что он был настроен с обоих вариантов [1], простой sizeof тест показывает, что имеет 96 бит [2]. Есть ли другой способ, чтобы заставить long double на самом деле будет 64 бит?

[1]

[email protected]:/static-benchmarks# ./musl-cross-make-0.9.8/output/bin/i386-linux-musl-gcc -v       
Using built-in specs.
COLLECT_GCC=./musl-cross-make-0.9.8/output/bin/i386-linux-musl-gcc
COLLECT_LTO_WRAPPER=/static-benchmarks/musl-cross-make-0.9.8/output/bin/../libexec/gcc/i386-linux-musl/6.4.0/lto-wrapper
Target: i386-linux-musl
Configured with: ../src_gcc/configure --enable-languages=c,c++ CFLAGS='-g0 -O2 -fno-align-functions -fno-align-jumps -fno-align-loops -fno-align-labels' CXXFLAGS='-g0 -O2 -fno-align-functions -fno-align-jumps -fno-align-loops -fno-align-labels' FFLAGS='-g0 -O2 -fno-align-functions -fno-align-jumps -fno-align-loops -fno-align-labels' LDFLAGS='-s -static --static' --disable-nls --enable-languages=c,c++ --disable-decimal-float --enable-softfloat --with-long-double-64 --without-long-double-128 --disable-werror --target=i386-linux-musl --prefix= --libdir=/lib --disable-multilib --with-sysroot=/i386-linux-musl --enable-tls --disable-libmudflap --disable-libsanitizer --disable-gnu-indirect-function --disable-libmpx --enable-libstdcxx-time --with-build-sysroot=/static-benchmarks/musl-cross-make-0.9.8/build/local/i386-linux-musl/obj_sysroot AR_FOR_TARGET=/static-benchmarks/musl-cross-make-0.9.8/build/local/i386-linux-musl/obj_binutils/binutils/ar AS_FOR_TARGET=/static-benchmarks/musl-cross-make-0.9.8/build/local/i386-linux-musl/obj_binutils/gas/as-new LD_FOR_TARGET=/static-benchmarks/musl-cross-make-0.9.8/build/local/i386-linux-musl/obj_binutils/ld/ld-new NM_FOR_TARGET=/static-benchmarks/musl-cross-make-0.9.8/build/local/i386-linux-musl/obj_binutils/binutils/nm-new OBJCOPY_FOR_TARGET=/static-benchmarks/musl-cross-make-0.9.8/build/local/i386-linux-musl/obj_binutils/binutils/objcopy OBJDUMP_FOR_TARGET=/static-benchmarks/musl-cross-make-0.9.8/build/local/i386-linux-musl/obj_binutils/binutils/objdump RANLIB_FOR_TARGET=/static-benchmarks/musl-cross-make-0.9.8/build/local/i386-linux-musl/obj_binutils/binutils/ranlib READELF_FOR_TARGET=/static-benchmarks/musl-cross-make-0.9.8/build/local/i386-linux-musl/obj_binutils/binutils/readelf STRIP_FOR_TARGET=/static-benchmarks/musl-cross-make-0.9.8/build/local/i386-linux-musl/obj_binutils/binutils/strip-new
Thread model: posix
gcc version 6.4.0 (GCC) 

[2]

[email protected]:/static-benchmarks# ./musl-cross-make-0.9.8/output/bin/i386-linux-musl-gcc -static hello.c -o testelf; ./testelf
Hello float: 5.0 hello double: 3.0, hello long double: 2.0
sizeof float: 4, sizeof double: 8, sizeof long double: 12
0
2019-09-17 20:33:38
источник
0 ответов

Посмотрите другие вопросы по меткам