mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-02-07 06:53:33 +00:00
Make --ftrace work better with cosmocc
This change causes cosmocc to use -fno-inline-functions-called-once by default, unless -Os or -finline-functions-called-once is defined. This is important since I believe it generally makes code go faster, and it most importantly makes --ftrace output much more understandable, since the trace will be more likely to reflect the actual shape of the code. We've always used this flag in the mono repo when ftracing is enabled, but it slipped my mind to incorporate this into the cosmocc toolchain.
This commit is contained in:
parent
77ddf4cb07
commit
fc3c536ec2
2 changed files with 6 additions and 6 deletions
|
@ -79,6 +79,7 @@ OPT=
|
|||
ARGS=
|
||||
FLAGS=
|
||||
OUTPUT=
|
||||
MDFLAG=0
|
||||
MCOSMO=0
|
||||
INTENT=ld
|
||||
NEED_JOIN=
|
||||
|
@ -88,9 +89,8 @@ APELINKFLAGS=
|
|||
FLAGS_X86_64=
|
||||
FLAGS_AARCH64=
|
||||
INPUT_FILE_COUNT=0
|
||||
MDFLAG=0
|
||||
NEED_DEPENDENCY_OUTPUT=
|
||||
DEPENDENCY_OUTPUT=
|
||||
NEED_DEPENDENCY_OUTPUT=
|
||||
for x; do
|
||||
if [ x"$x" != x"${x#* }" ]; then
|
||||
fatal_error "arguments containing spaces unsupported: $x"
|
||||
|
@ -267,8 +267,8 @@ LDFLAGS_AARCH64="$LDFLAGS -L$BIN/../aarch64-linux-cosmo/lib -Wl,-T,$BIN/../aarch
|
|||
LDLIBS_AARCH64="-lcosmo"
|
||||
|
||||
if [ x"$OPT" != x"-Os" ] && [ x"$MODE" != x"tiny" ]; then
|
||||
CFLAGS_X86_64="${CFLAGS_X86_64} -fpatchable-function-entry=18,16"
|
||||
CFLAGS_AARCH64="${CFLAGS_AARCH64} -fpatchable-function-entry=7,6"
|
||||
CFLAGS_X86_64="${CFLAGS_X86_64} -fpatchable-function-entry=18,16 -fno-inline-functions-called-once"
|
||||
CFLAGS_AARCH64="${CFLAGS_AARCH64} -fpatchable-function-entry=7,6 -fno-inline-functions-called-once"
|
||||
fi
|
||||
|
||||
if [ x"$PROG" != x"${PROG%++}" ]; then
|
||||
|
|
|
@ -193,9 +193,9 @@ fi
|
|||
if [ x"$OPT" != x"-Os" ] && # $OPT != -Os
|
||||
[ x"${MODE%tiny}" = x"${MODE}" ]; then # $MODE not in (tiny, aarch64-tiny)
|
||||
if [ x"$ARCH" = x"x86_64" ]; then
|
||||
CFLAGS="$CFLAGS -fpatchable-function-entry=18,16"
|
||||
CFLAGS="$CFLAGS -fpatchable-function-entry=18,16 -fno-inline-functions-called-once"
|
||||
elif [ x"$ARCH" = x"aarch64" ]; then
|
||||
CFLAGS="$CFLAGS -fpatchable-function-entry=7,6"
|
||||
CFLAGS="$CFLAGS -fpatchable-function-entry=7,6 -fno-inline-functions-called-once"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
Loading…
Reference in a new issue