Please sign in to comment.
arch/x86_64: Suppress spurious linker-generated code in the 32 bit stub
Within the past few days, an update to the Ubuntu 18.04 toolchain has begun emitting code sections during link that are messing with our stub generation. They are appearing in the 32 bit stub link despite not being defined in the single object file, and (worse) being included in the output segment (i.e. at the start of the bootloader entry point!) despite not being specifically included by the linker script. I don't understand this behavior at all, and it appears to be directly contrary to the way the linker is documented. Marc Herbert discovered this was down to gcc being called with --enable-default-pie, so -no-pie works to suppress this behavior and restore the default. And it's correct: we aren't actually generating a position independent executable, even if we don't understand why the linker script is being disregarded (to include sections we don't include). See discussion in the linked github issue. Fixes #15877 Signed-off-by: Andy Ross <email@example.com>
- Loading branch information...
Showing with 2 additions and 2 deletions.