Patchwork [2/3] package.bbclass: change RPATHs for cross-canadian binaries

login
register
mail settings
Submitter Laurentiu Palcu
Date Aug. 17, 2012, 3:44 a.m.
Message ID <f816e741fd76acb79b4f807a47bba6f159d13189.1345174354.git.laurentiu.palcu@intel.com>
Download mbox | patch
Permalink /patch/34777/
State Accepted
Commit b40a03c43d5d9d738a9aa5b43b2ecfe74fc95018
Headers show

Comments

Laurentiu Palcu - Aug. 17, 2012, 3:44 a.m.
When building the meta-toolchain, the binaries didn't get relocatable
RPATHs. They were hardcoded to the default path. Hence, if one had
already installed one SDK in the default path and one in another
location, the later toolchain's binaries would search and load libraries
from the first location, ending in a "Segmentation Fault".

[YOCTO #2927]

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
---
 meta/classes/package.bbclass |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index d122cd9..278f0f0 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -448,7 +448,7 @@  python perform_packagecopy () {
     subprocess.call('tar -cf - -C %s -ps . | tar -xf - -C %s' % (dest, dvar), shell=True)
 
     # replace RPATHs for the nativesdk binaries, to make them relocatable
-    if bb.data.inherits_class('nativesdk', d):
+    if bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('cross-canadian', d):
         rpath_replace (dvar, d)
 }