path: root/recipes-core
diff options
authorWenlin Kang <wenlin.kang@windriver.com>2018-06-13 01:37:31 -0700
committerRichard Leitner <richard.leitner@skidata.com>2018-06-15 12:06:25 +0200
commit29f391531fae7d544cb391239676eebd7a72d39f (patch)
tree05bf7754b3f215b46f10251291a67d6ed2072797 /recipes-core
parent228b3517835d6c278876e48c2dcb9d4f09b4bf86 (diff)
openjdk-8: remove debuglink
During openjdk-8 compiling, its debug file is xxx.debuginfo, and it will add libjvm.debuginfo as libjvm.so's debuglink section's file name, this name is different with that we will create and add in splitdebuginfo() of package.bbclass, in oe-core, the debug file name is the same with the corresponding executable file or library file, this will make we can't get symbol information when debug libjvm.so in gdb, so we must remove the previous debuglink before add it if it has existed(if a file has contained the debuglink section, it will not be changed when add again). Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com> Tested-by: Richard Leitner <richard.leitner@skidata.com> Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
Diffstat (limited to 'recipes-core')
1 files changed, 16 insertions, 0 deletions
diff --git a/recipes-core/openjdk/openjdk-8-cross.inc b/recipes-core/openjdk/openjdk-8-cross.inc
index 46f13fd..03cab11 100644
--- a/recipes-core/openjdk/openjdk-8-cross.inc
+++ b/recipes-core/openjdk/openjdk-8-cross.inc
@@ -105,5 +105,21 @@ EXTRA_OEMAKE_append = '\
images \
+python remove_debuglink() {
+ dvar = d.getVar('PKGD', True)
+ objcopy = d.getVar("OBJCOPY", True)
+ # Remove the previous debuglink if it has existed, because it has a different file name with that we will add.
+ if d.getVar('PN', True).find("jre") != -1:
+ file = dvar + d.getVar("JRE_HOME", True) + "/lib/" + d.getVar("JDK_ARCH", True) + "/server/libjvm.so"
+ else:
+ file = dvar + d.getVar("JDK_HOME", True) + "/jre/lib/" + d.getVar("JDK_ARCH", True) + "/server/libjvm.so"
+ cmd = "'%s' --remove-section .gnu_debuglink '%s'" % (objcopy, file)
+ oe.utils.getstatusoutput(cmd)
+PACKAGE_PREPROCESS_FUNCS += "remove_debuglink"
# There is a symlink to a .so but this one is valid.
INSANE_SKIP_${PN} = "dev-so"