[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 2/8] lib: collect library files in an archive
Hi Jan, > On 9 Dec 2020, at 14:42, Jan Beulich <jbeulich@xxxxxxxx> wrote: > > 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. ah yes i remember seeing that. Maybe just add your last sentence in the commit message. Cheers Bertrand > > Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |