https://sourceware.org/bugzilla/show_bug.cgi?id=26757
--- Comment #9 from Tamar Christina <tnfchris at sourceware dot org> --- (In reply to sourceware-bugzilla from comment #8) > > 0x00007ffb2ba04818 <+24>: lea -0x60f1481f(%rip),%rax # > 0x7ffacaaf0000 > 0x00007ffb2ba0481f <+31>: test %rax,%rax > 0x00007ffb2ba04822 <+34>: je 0x7ffb2ba04829 > 0x00007ffb2ba04824 <+36>: call 0x7ffacaaf0000 > > So the fact that the compiler decided to use lea in its if(<symbol>) check > means it was subject to the same range limitations as the call, and > therefore can never evaluate 0. Hmmm that's very unfortunate.. I don't remember off the top of my head at the moment, but I don't believe you can have a weak undef __declspec(dllimport) can you? If not, we could fix this by relaxing the instruction from lea to e.g. a xor %rax, %rax during relocation processing if the symbol is still weak and undef. in the meantime, you can get the build to work by specifying a low `--image-base` in LDFLAGS. -- You are receiving this mail because: You are on the CC list for the bug.