diff options
| author | Damien George <damien.p.george@gmail.com> | 2020-05-21 11:27:09 +1000 |
|---|---|---|
| committer | Scott Shawcroft <scott@tannewt.org> | 2020-07-22 16:26:47 -0700 |
| commit | f43834aba2ed9f8f69d961a6554bc81ecaa98f08 (patch) | |
| tree | bcc1e44f8a8ab772aa121fac4a9efb126a069fd4 | |
| parent | 2bd6d056638f05185eb497ca2d039ebe9f386327 (diff) | |
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.
| -rw-r--r-- | py/py.mk | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -346,6 +346,11 @@ $(HEADER_BUILD)/qstrdefs.generated.h: $(PY_SRC)/makeqstrdata.py $(HEADER_BUILD)/ $(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 # that the function preludes are of a minimal and predictable form. $(PY_BUILD)/nlr%.o: CFLAGS += -Os |
