From dd51fc0ffb02460798d62908e1b2189fc69a9ba4 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 6 Aug 2007 09:10:08 +0000 Subject: [PATCH] package.bbclass: Try stripping files more enthusiastically git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2372 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- meta/classes/package.bbclass | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 6dbb7413e2..202e594c08 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -157,27 +157,33 @@ def runstrip(file, d): strip = bb.data.getVar("STRIP", d, 1) objcopy = bb.data.getVar("OBJCOPY", d, 1) - bb.debug(1, "runstrip: %s %s" % (strip, file)) - newmode = None if not os.access(file, os.W_OK): origmode = os.stat(file)[os.stat.ST_MODE] newmode = origmode | os.stat.S_IWRITE os.chmod(file, newmode) - bb.mkdirhier(os.path.join(os.path.dirname(file), ".debug")) + extraflags = "" + if ".so" in file and "shared" in result: + extraflags = "--remove-section=.comment --remove-section=.note --strip-unneeded" + elif "shared" in result or "executable" in result: + extraflags = "--remove-section=.comment --remove-section=.note" + bb.mkdirhier(os.path.join(os.path.dirname(file), ".debug")) debugfile=os.path.join(os.path.dirname(file), ".debug", os.path.basename(file)) + stripcmd = "'%s' %s '%s'" % (strip, extraflags, file) + bb.debug(1, "runstrip: %s" % stripcmd) + os.system("%s'%s' --only-keep-debug '%s' '%s'" % (pathprefix, objcopy, file, debugfile)) - ret = os.system("%s'%s' '%s'" % (pathprefix, strip, file)) + ret = os.system("%s%s" % (pathprefix, stripcmd)) os.system("%s'%s' --add-gnu-debuglink='%s' '%s'" % (pathprefix, objcopy, debugfile, file)) if newmode: os.chmod(file, origmode) if ret: - bb.error("runstrip: %s %s: strip failed" % (strip, file)) + bb.error("runstrip: '%s' strip command failed" % stripcmd) return 1