From 36e0be7bf3a3314eb5632f46c71fc8bba559c40e Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Sat, 13 Feb 2021 14:36:55 +0100 Subject: [PATCH] Allow multiple symbol definitions Compiling the codebase with GCC results in many errors about multiple redefinitions, such as: /usr/lib/gcc/x86_64-alpine-linux-musl/10.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: GccUnixR/orgfixup.o:(.bss+0x8): multiple definition of `MODULEARCH'; GccUnixR/main.o:(.bss+0x0): first defined here /usr/lib/gcc/x86_64-alpine-linux-musl/10.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: GccUnixR/orgfixup.o:(.bss+0x9): multiple definition of `ZEROLOCALS'; GccUnixR/main.o:(.bss+0x1): first defined here while this could be limited to musl, I believe even binutils has marked this as deprecated. There is a flag however allowing to work-around this, allowing proper compilation. Signed-off-by: Olliver Schinagl --- gccLinux64.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gccLinux64.mak b/gccLinux64.mak index eb6e381..fc9c623 100644 --- a/gccLinux64.mak +++ b/gccLinux64.mak @@ -40,7 +40,7 @@ $(OUTD): $(OUTD)/$(TARGET1) : $(OUTD)/main.o $(proj_obj) ifeq ($(DEBUG),0) - $(CC) -D __UNIX__ $(OUTD)/main.o $(proj_obj) -s -o $@ -Wl,-Map,$(OUTD)/$(TARGET1).map + $(CC) -D __UNIX__ $(OUTD)/main.o $(proj_obj) -s -o $@ -Wl,--allow-multiple-definition,-Map,$(OUTD)/$(TARGET1).map else $(CC) -D __UNIX__ $(OUTD)/main.o $(proj_obj) -o $@ -Wl,-Map,$(OUTD)/$(TARGET1).map endif -- 2.30.0