Add -fno-shrink-wrap, to force GCC to push the frames at the very beginning

of the functions. Otherwise DDB is unable to display a correct stack trace
if a fault occurred in a function before the frame was pushed.

Discussed on tech-kern@, flag suggested by Krister Walfridsson. Should fix
PR/52560.
This commit is contained in:
maxv 2018-02-23 09:00:55 +00:00
parent 54d67daa03
commit fa15de1fb8
2 changed files with 4 additions and 4 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.amd64,v 1.64 2017/11/15 18:02:37 maxv Exp $ # $NetBSD: Makefile.amd64,v 1.65 2018/02/23 09:00:56 maxv Exp $
# Makefile for NetBSD # Makefile for NetBSD
# #
@ -35,7 +35,7 @@ GENASSYM_CONF= ${AMD64}/amd64/genassym.cf
## ##
DEFCOPTS= -O2 -fno-omit-frame-pointer DEFCOPTS= -O2 -fno-omit-frame-pointer
CPPFLAGS+= -Damd64 -Dx86_64 CPPFLAGS+= -Damd64 -Dx86_64
CFLAGS+= -mcmodel=kernel CFLAGS+= -mcmodel=kernel -fno-shrink-wrap
# -mno-sse implies -mno-sse2 (etc), explicitly disable avx to be extra sure # -mno-sse implies -mno-sse2 (etc), explicitly disable avx to be extra sure
CFLAGS+= -mno-red-zone -mno-mmx -mno-sse -mno-avx CFLAGS+= -mno-red-zone -mno-mmx -mno-sse -mno-avx
# make absolutely sure we don't get x87 registers used as well # make absolutely sure we don't get x87 registers used as well

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.i386,v 1.187 2017/12/10 14:29:47 christos Exp $ # $NetBSD: Makefile.i386,v 1.188 2018/02/23 09:00:55 maxv Exp $
# Makefile for NetBSD # Makefile for NetBSD
# #
@ -35,7 +35,7 @@ GENASSYM_CONF= ${I386}/i386/genassym.cf
## ##
DEFCOPTS= -O2 -fno-omit-frame-pointer DEFCOPTS= -O2 -fno-omit-frame-pointer
CPPFLAGS+= -Di386 CPPFLAGS+= -Di386
CFLAGS+= -msoft-float CFLAGS+= -msoft-float -fno-shrink-wrap
## no-sse implies no-sse2 but not no-avx ## no-sse implies no-sse2 but not no-avx
CFLAGS+= -mno-mmx -mno-sse -mno-avx CFLAGS+= -mno-mmx -mno-sse -mno-avx