From 0c19c093358fa65d93c86cc8978fa50b5bd97026 Mon Sep 17 00:00:00 2001 From: Nathan Rossi Date: Wed, 11 Sep 2019 14:13:07 +0000 Subject: gcc-cross.inc: Process binaries in build dir to be relocatable 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). (From OE-Core rev: 34d9f60a8c2e98fdacbb799af11ec015bc5700f4) Signed-off-by: Nathan Rossi Signed-off-by: Richard Purdie --- meta/recipes-devtools/gcc/gcc-cross.inc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'meta/recipes-devtools/gcc/gcc-cross.inc') diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc index 95af6d89a9..8855bb1f34 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" -BUILDDIRSTASH = "${WORKDIR}/stashed-builddir" +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/build" 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 -- cgit v1.2.3-54-g00ecf