The EXTRA_STRIPFLAGS variable can be used to pass additional parameters to the strip command. This can be used to remove additional sections or to keep symbols. The removal of additional sections can be useful to enable reproducible builds. Sections which contain paths or md5sums of the debug binaries (like gnu_debuglink) can be eliminated with this flag.
Signed-off-by: Pascal Bach <pascal.b...@siemens.com> Signed-off-by: Michael Blättler <michael.blaett...@siemens.com> --- meta/classes/package.bbclass | 5 +++-- meta/lib/oe/package.py | 12 +++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index a6f0a7a..7e1c5c3 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1055,14 +1055,15 @@ python split_and_strip_files () { # Now lets go back over things and strip them # if (d.getVar('INHIBIT_PACKAGE_STRIP', True) != '1'): + extraflags = d.getVar('EXTRA_STRIPFLAGS', True) or '' strip = d.getVar("STRIP", True) sfiles = [] for file in elffiles: elf_file = int(elffiles[file]) #bb.note("Strip %s" % file) - sfiles.append((file, elf_file, strip)) + sfiles.append((file, elf_file, strip, extraflags)) for f in kernmods: - sfiles.append((f, 16, strip)) + sfiles.append((f, 16, strip, extraflags)) oe.utils.multiprocess_exec(sfiles, oe.package.runstrip) diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py index 02642f2..ab5f616 100644 --- a/meta/lib/oe/package.py +++ b/meta/lib/oe/package.py @@ -10,7 +10,7 @@ def runstrip(arg): import stat, subprocess - (file, elftype, strip) = arg + (file, elftype, strip, extraflags) = arg newmode = None if not os.access(file, os.W_OK) or os.access(file, os.R_OK): @@ -18,17 +18,15 @@ def runstrip(arg): newmode = origmode | stat.S_IWRITE | stat.S_IREAD os.chmod(file, newmode) - extraflags = "" - - # kernel module + # kernel module if elftype & 16: - extraflags = "--strip-debug --remove-section=.comment --remove-section=.note --preserve-dates" + extraflags += " --strip-debug --remove-section=.comment --remove-section=.note --preserve-dates" # .so and shared library elif ".so" in file and elftype & 8: - extraflags = "--remove-section=.comment --remove-section=.note --strip-unneeded" + extraflags += " --remove-section=.comment --remove-section=.note --strip-unneeded" # shared or executable: elif elftype & 8 or elftype & 4: - extraflags = "--remove-section=.comment --remove-section=.note" + extraflags += " --remove-section=.comment --remove-section=.note" stripcmd = "'%s' %s '%s'" % (strip, extraflags, file) bb.debug(1, "runstrip: %s" % stripcmd) -- 2.1.4 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core