boot/pc32: Avoid issues at -O2.
authorzrj <rimvydas.jasinskas@gmail.com>
Fri, 4 May 2018 11:29:02 +0000 (14:29 +0300)
committerzrj <zrj@dragonflybsd.org>
Sat, 5 May 2018 10:43:00 +0000 (13:43 +0300)
The 32-bit Legacy boot loader is intended to be compiled at -O1
optimization level. It is easy to forget this when overriding cflags.
For now do not use of frame pointer register as a general register.

sys/boot/pc32/Makefile.inc

index d71e15c..3b5c550 100644 (file)
@@ -5,7 +5,7 @@ __pc32__:
 
 LOADER_ADDRESS?= 0x200000
 WORLD_CCOPTLEVEL=      1 # Force -O1, -O2 implodes
-CFLAGS+=       -ffreestanding
+CFLAGS+=       -ffreestanding -fno-omit-frame-pointer
 CFLAGS+=       -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float
 
 # override CPU type, so that gcc doesn't insert mmx/sse instructions