Dear Kevin,

On 10/25/16 17:27, Paul Menzel wrote:

On 10/25/16 17:21, Kevin O'Connor wrote:
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.

Yes, that’s exactly what I wrote.

Debian decided to enable PIE hardening flags by default in the GCC package.

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?

Isn’t that already used due to `COMMONCFLAGS += $(call
cc-option,$(CC),-nopie,)` in the `Makefile`?

I’ll try it anyway.

That also worked. Should I sent an updated patch?


Kind regards,

Paul

_______________________________________________
SeaBIOS mailing list
[email protected]
https://www.coreboot.org/mailman/listinfo/seabios

Reply via email to