py/py.mk: Use additional CFLAGS to compile string0.c.
Otherwise functions like memset might get optimised to call themselves (eg with gcc 10). And provide CFLAGS_BUILTIN so these options can be changed by a port if needed. Fixes issue #6053.
This commit is contained in:
parent
2bd6d05663
commit
f43834aba2
5
py/py.mk
5
py/py.mk
|
@ -346,6 +346,11 @@ $(HEADER_BUILD)/qstrdefs.generated.h: $(PY_SRC)/makeqstrdata.py $(HEADER_BUILD)/
|
||||||
|
|
||||||
$(PY_BUILD)/qstr.o: $(HEADER_BUILD)/qstrdefs.generated.h
|
$(PY_BUILD)/qstr.o: $(HEADER_BUILD)/qstrdefs.generated.h
|
||||||
|
|
||||||
|
# Standard C functions like memset need to be compiled with special flags so
|
||||||
|
# the compiler does not optimise these functions in terms of themselves.
|
||||||
|
CFLAGS_BUILTIN ?= -ffreestanding -fno-builtin -fno-lto
|
||||||
|
$(BUILD)/lib/libc/string0.o: CFLAGS += $(CFLAGS_BUILTIN)
|
||||||
|
|
||||||
# Force nlr code to always be compiled with space-saving optimisation so
|
# Force nlr code to always be compiled with space-saving optimisation so
|
||||||
# that the function preludes are of a minimal and predictable form.
|
# that the function preludes are of a minimal and predictable form.
|
||||||
$(PY_BUILD)/nlr%.o: CFLAGS += -Os
|
$(PY_BUILD)/nlr%.o: CFLAGS += -Os
|
||||||
|
|
Loading…
Reference in New Issue