|
Message-Id: <C4F2B77WA4HO.SL717WBYUKU6@mussels> Date: Fri, 24 Jul 2020 15:23:19 -0300 From: Érico Nogueira <ericonr@...root.org> To: "Szabolcs Nagy" <nsz@...t70.net> Cc: <musl@...ts.openwall.com> Subject: Re: [PATCH] Makefile: fix src/api compilation. On Fri Jul 24, 2020 at 1:33 PM -03, Szabolcs Nagy wrote: > * Érico Rolim <ericonr@...root.org> [2020-07-23 00:44:33 -0300]: > > Adding all .o files in src/api to the api/main.OBJ variable led to them > > being included twice when linking api/main.exe, which failed with a > > double definition of the main() function. This can be tested by removing > > the failing definitions from unistdc.c and running make. > > thanks. > > > --- > > > > This is a patch for libc-test. > > > > Makefile | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/Makefile b/Makefile > > index 86b6ff5..683c850 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -113,7 +113,6 @@ $(B)/common/mtest.o: src/common/mtest.h > > $(math.OBJS): src/common/mtest.h > > > > $(B)/api/main.exe: $(api.OBJS) > > -api/main.OBJS:=$(api.OBJS) > > $(api.OBJS):$(B)/common/options.h > > $(api.OBJS):CFLAGS+=-pedantic-errors -Werror -Wno-unused -D_XOPEN_SOURCE=700 > > this is not the right fix, > > the problem is that api/main.o is duplicated: > once because of the %.exe: %.o rule and once > in the api/main.OBJS. > > but all other api/*.o files are not duplicated > and should be linked (so we link test all > referenced symbols not just include header test). > > i'm considering doing > > $(B)/%.exe: $(B)/%.o > - $(CC) $(LDFLAGS) $($*.LDFLAGS) -o $@ $< $($*.OBJS) $(LDLIBS) > $($*.LDLIBS) 2>$@....err || echo BUILDERROR $@; cat $@....err > + $(CC) $(LDFLAGS) $($*.LDFLAGS) -o $@ $(sort $< $($*.OBJS)) $(LDLIBS) > $($*.LDLIBS) 2>$@....err || echo BUILDERROR $@; cat $@....err > > (note: the make sort function removes duplicates) Didn't know about that! This worked here as a fix, thanks.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.