[OE-core] [PATCH 4/6] gcc-cross.inc: Process binaries in build dir to be relocatable
Nathan Rossi
nathan at nathanrossi.com
Tue Sep 10 12:40:59 UTC 2019
Process binaries within the build directory before stashing to be
relocatable with ORIGIN relative rpaths. This corrects issues with
rpaths being invalid when trying to use the binaries from an unstashed
build directory (e.g. gcc-runtime).
Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
---
meta/recipes-devtools/gcc/gcc-cross.inc | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc
index 95af6d89a9..e20f6cb6c1 100644
--- a/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -206,9 +206,17 @@ do_package_write_ipk[noexec] = "1"
do_package_write_rpm[noexec] = "1"
do_package_write_deb[noexec] = "1"
+inherit chrpath
+
+python gcc_stash_builddir_fixrpaths() {
+ # rewrite rpaths, breaking hardlinks as required
+ process_dir("/", d.getVar("BUILDDIRSTASH"), d, break_hardlinks = True)
+}
+
BUILDDIRSTASH = "${WORKDIR}/stashed-builddir"
do_gcc_stash_builddir[dirs] = "${B}"
do_gcc_stash_builddir[cleandirs] = "${BUILDDIRSTASH}"
+do_gcc_stash_builddir[postfuncs] += "gcc_stash_builddir_fixrpaths"
do_gcc_stash_builddir () {
dest=${BUILDDIRSTASH}
hardlinkdir . $dest
---
2.23.0.rc1
More information about the Openembedded-core
mailing list