1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 17:19:20 +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:
Joshua Watt
2018-04-10 21:21:55 -05:00
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
}