On Wed, 2022-07-13 at 00:29 +0200, Christoph Lauer wrote: > From: Christoph Lauer <[email protected]> > > Since commit d756b346f248df47b0540644adb1d0f17bcc4b6e kernel modules are > stripped by the functions 'runstrip' and 'splitdebuginfo'. Signed modules > must not be stripped. Function 'runstrip' avoids this by running > is_kernel_module_signed. Apply the same check to splitdebuginfo. > > Signed-off-by: Christoph Lauer <[email protected]> > --- > meta/classes/package.bbclass | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass > index 4850134022..78ec96df85 100644 > --- a/meta/classes/package.bbclass > +++ b/meta/classes/package.bbclass > @@ -382,6 +382,11 @@ def splitdebuginfo(file, dvar, dv, d): > debugfile = dvar + dest > sources = [] > > + if oe.package.is_elf(file)[1] & 16: > + if oe.package.is_kernel_module_signed(file): > + bb.debug(1, "Skip strip on signed module %s" % file) > + return (file, sources) > + > # Split the file... > bb.utils.mkdirhier(os.path.dirname(debugfile)) > #bb.note("Split %s -> %s" % (file, debugfile))
That is better but I think we can do better still. splitdebuginfo is called as: results = oe.utils.multiprocess_launch(splitdebuginfo, list(elffiles), d, extraargs=(dvar, dv, d)) and earlier in the function there is also: results = oe.utils.multiprocess_launch(oe.package.is_elf, checkelf.keys(), d) i.e. we already probably called is_elf() which isn't a cheap operation either. I think we can tweak things so we reuse that data? Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#167946): https://lists.openembedded.org/g/openembedded-core/message/167946 Mute This Topic: https://lists.openembedded.org/mt/92346271/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
