<div dir="ltr"><div><div><div>Hi Jow,<br><div class="gmail_extra"><br><div class="gmail_quote">2015-02-09 16:05 GMT+01:00 Jo-Philipp Wich <span dir="ltr"><<a href="mailto:jow@openwrt.org" target="_blank">jow@openwrt.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Etienne,<br>
<br>
please test after fresh build with these two patches applied:<br>
<br>
<a href="http://luci.subsignal.org/~jow/rpath/" target="_blank">http://luci.subsignal.org/~jow/rpath/</a><br>
<br>
My first thought was to fixup libtool to not spray rpaths all over the<br>
place but since replacing every libtool in every package seems futile<br>
the next best place to do so would be the rstrip.sh script which already<br>
prepares all executables and shared objects for packaging.<br>
<br>
The series above packages "patchelf" as host utility and uses it to<br>
strip rpaths which are either within $TOPDIR or exactly "/lib" or<br>
"/usr/lib" (standard library search path).<br>
<br>
We can extend this as needed to exclude other "dangerous" paths like<br>
"/tmp", "/var" or "/mnt"...<br>
<br>
~ Jow<br>
<br></blockquote><div>Thanks a lot! <br></div></div></div>It seems to be ok (looking in build_dir, not in staging_dir)<br></div><div>(but it's not run tested)<br></div><div><br></div><div>You should include /lib/ and /usr/lib/ (with the end /),<br>and maybe ban everything outside /lib/* and /usr/lib/* ?<br></div><div>(i've ~20 packages not building)<br></div><div><br>I've changed a bit my commands<br><br></div># cd ./build_dir/target-mips_34kc_uClibc-0.9.33.2<br># find */ipkg-ar71xx/ -type f | xargs -n1 -P24 file | grep ': ELF' | awk -F':' '{print $1}' | xargs -n1 
./checksec.sh --file | grep -v 'STACK CANARY' > checksec.txt<br># grep -v 'No RPATH' checksec.txt | awk '{print $NF}' > lib.txt<br># cat lib.txt | xargs -n1 readelf -a | grep RPATH | awk -F'[' '{print "["$2}' > rpath.txt<br></div></div><div><div><br></div><div>John, it's now "per package" :)<br><br></div><div>Etienne<br></div><div><br></div></div></div>