https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64540
--- Comment #2 from zan <zanpeeters at gmail dot com> --- Thank you for the info. I tried recompiling gcc 4.9.2 and found in build/gcc/config.log: configure:24745: checking assembler for filds and fists mnemonics configure:24754: /opt/local/bin/as -o conftest.o conftest.s >&5 clang -cc1as: fatal error: error in backend: 32-bit absolute addressing is not supported in 64-bit mode configure:24757: $? = 1 configure: failed program was filds mem; fists mem configure:24768: result: no configure:24776: checking assembler for fildq and fistpq mnemonics configure:24785: /opt/local/bin/as -o conftest.o conftest.s >&5 clang -cc1as: fatal error: error in backend: 32-bit absolute addressing is not supported in 64-bit mode configure:24788: $? = 1 configure: failed program was fildq mem; fistpq mem configure:24799: result: no /opt/local/bin/as is a wrapper script that calls either clang integrated-as or regular as. If I run the regular as assembler on "filds mem; fists mem": tmp.s:1:32-bit absolute addressing is not supported for x86-64 tmp.s:1:cannot do signed 4 byte relocation tmp.s:1:32-bit absolute addressing is not supported for x86-64 tmp.s:1:cannot do signed 4 byte relocation So it's not about the choice of assembler. If I change mem to something like 0(%rax), both commands complete without error. I don't know enough about assembly to understand what's going on, but gcc build completes and the minimal example compiles without error (assembly uses filds). This seems to be a Mac OS X specific problem (https://stackoverflow.com/questions/26394359/mach-o-64-bit-format-does-not-support-32-bit-absolute-addresses-nasm).