mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 05:29:32 +00:00
icecc-create-env: Fix RUNPATH files
Some newer libraries and programs use RUNPATH to specify the library search path. These executables were being skipped by the rpath fixup code because it was grepping the ELF header for RPATH only. A more correct solution is to ask patchelf to report the rpath, as that tool will properly report either RPATH or RUNPATH as appropriate. (From OE-Core rev: d1e88ad01df9b6419e02f632b1ba288d4cc3b2bf) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
57ca83dac1
commit
beb38c1117
@@ -42,11 +42,13 @@ fix_rpath ()
|
||||
if ! is_dynamic_elf "$path"; then
|
||||
return
|
||||
fi
|
||||
local new_rpath="`readelf -w -d "$path" | grep RPATH | \
|
||||
local old_rpath="`$PATCHELF --print-rpath "$path"`"
|
||||
local new_rpath="`echo "$old_rpath" | \
|
||||
sed 's/.*\[\(.*\)\]/\1/g' | \
|
||||
sed "s,\\\$ORIGIN,/$origin,g"`"
|
||||
|
||||
if test -n "$new_rpath"; then
|
||||
print_debug "Converting RPATH '$old_rpath' -> '$new_rpath'"
|
||||
$PATCHELF --set-rpath "$new_rpath" "$path"
|
||||
fi
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user