[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 2/8] lib: collect library files in an archive
On 09.12.2020 12:37, Bertrand Marquis wrote: >> On 23 Nov 2020, at 15:21, Jan Beulich <jbeulich@xxxxxxxx> wrote: >> >> In order to (subsequently) drop odd things like CONFIG_NEEDS_LIST_SORT >> just to avoid bloating binaries when only some arch-es and/or >> configurations need generic library routines, combine objects under lib/ >> into an archive, which the linker then can pick the necessary objects >> out of. >> >> Note that we can't use thin archives just yet, until we've raised the >> minimum required binutils version suitably. >> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> > Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx> Thanks. >> @@ -60,7 +64,14 @@ include Makefile >> # --------------------------------------------------------------------------- >> >> quiet_cmd_ld = LD $@ >> -cmd_ld = $(LD) $(XEN_LDFLAGS) -r -o $@ $(real-prereqs) >> +cmd_ld = $(LD) $(XEN_LDFLAGS) -r -o $@ $(filter-out %.a,$(real-prereqs)) \ >> + --start-group $(filter %.a,$(real-prereqs)) --end-group > > This might be a good idea to add a comment to explain why the start/end-group > is needed so that someone does not change this back in the future. Since we're trying to inherit Linux'es build system, I did look there and iirc there was no comment, so I didn't see a basis for us to have one. > Something like: put libraries between start/end group to have unused symbols > removed. Now that's not the reason - why you describe is the default behavior for archives, and there is something like a "whole archive" option iirc to change to a mode where all objects get pulled out. Instead this is a symbol resolution thing aiui - by default earlier archives can't resolve undefined symbols first referenced by objects pulled out of later archives. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |