[SeaBIOS] [PATCH] Makefile: Explicitly pass `no-pic` to compiler

Kevin O'Connor kevin at koconnor.net
Tue Oct 25 17:21:58 CEST 2016


On Sun, Oct 23, 2016 at 08:57:28PM +0200, Paul Menzel wrote:
> Date: Sun, 23 Oct 2016 18:56:28 +0200
> 
> Debian enables PIE hardening flags by default since package gcc-6
> 6.2.0-7 [1].
> 
> With that change, SeaBIOS fails to build with the error below [2][3].
> 
> ```
> $ make
>   Build Kconfig config file
>   Compile checking out/src/misc.o
>   Compile checking out/src/stacks.o
> src/stacks.c: Assembler messages:
> src/stacks.c:567: Error: found '(', expected: ')'
> src/stacks.c:567: Error: junk `(%ebp))' after expression
> src/stacks.c:568: Warning: indirect call without `*'
> Makefile:133: die Regel für Ziel „out/src/stacks.o“ scheiterte
> make: *** [out/src/stacks.o] Fehler 1
> ```

I just built and compiled gcc v6.2.0 and it compiles seabios fine.
So, this looks like a debian bug, and I think it should be filed
there.

> Passing `no-pic` to the compiler fixes this issue.

I don't see where pic (position independent code) is related.  My
guess is that it just causes random code changes which then doesn't
tickle the underlying issue.

Does adding '-fno-pie' help?

-Kevin



More information about the SeaBIOS mailing list