On Fri Aug 25, 2023 at 4:32 PM EEST, Jo Van Bulck wrote: > Use -ffreestanding to assert the enclave compilation targets a > freestanding environment (i.e., without "main" or standard libraries). > This fixes clang reporting "undefined reference to `memset'" after > erroneously optimizing away the provided memset/memcpy implementations. > > Still need to instruct the linker from using standard system startup > functions, but drop -nostartfiles as it is implied by -nostdlib. > > Signed-off-by: Jo Van Bulck <jo.vanbulck@xxxxxxxxxxxxxx> > --- > tools/testing/selftests/sgx/Makefile | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/sgx/Makefile b/tools/testing/selftests/sgx/Makefile > index 2de970f7237c..f96667bdf9f2 100644 > --- a/tools/testing/selftests/sgx/Makefile > +++ b/tools/testing/selftests/sgx/Makefile > @@ -14,8 +14,8 @@ endif > INCLUDES := -I$(top_srcdir)/tools/include > HOST_CFLAGS := -Wall -Werror -g $(INCLUDES) -fPIC > HOST_LDFLAGS := -z noexecstack -lcrypto > -ENCL_CFLAGS := -Wall -Werror -static-pie -nostdlib -nostartfiles -fPIE \ > - -fno-stack-protector -mrdrnd $(INCLUDES) > +ENCL_CFLAGS := -Wall -Werror -static-pie -nostdlib -ffreestanding -fPIE \ > + -fno-stack-protector -mrdrnd $(INCLUDES) > ENCL_LDFLAGS := -Wl,-T,test_encl.lds,--build-id=none > > TEST_CUSTOM_PROGS := $(OUTPUT)/test_sgx > -- > 2.25.1 Reviewed-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx> BR, Jarkko