Checks within prelink force 64 bit binaries into lib64 and n32 binaries into lib32. We load prelink.conf with all combinations but this code then defeats it for us and means /lib is ignored.
Comment out this code to disable it and allow our settings to work. This allows 64 bit binaries in /lib to work. We pass in the correct dyanamic loader path anyhow and our binaries don't contain ld.so so this should be safe for us. Signed-off-by: Richard Purdie <[email protected]> diff --git a/meta/recipes-devtools/prelink/prelink/64bitfix.patch b/meta/recipes-devtools/prelink/prelink/64bitfix.patch new file mode 100644 index 0000000..74b1a7d --- /dev/null +++ b/meta/recipes-devtools/prelink/prelink/64bitfix.patch @@ -0,0 +1,35 @@ +These checks force 64 bit binaries into lib64 and n32 binaries into lib32. We +load prelink.conf with all combinations but this code then defeats it for us +and means /lib is ignored. + +Comment out this code to disable it and allow our settings to work. This +allows 64 bit binaries in /lib to work. We pass in the correct dyanamic +loader path anyhow and our binaries don't contain ld.so so this should be +safe for us. + +Upstream-Status: Inappropriate +RP 2015/9/23 + + +Index: trunk/src/rtld/rtld.c +=================================================================== +--- trunk.orig/src/rtld/rtld.c ++++ trunk/src/rtld/rtld.c +@@ -334,7 +334,7 @@ load_ld_so_conf (int use_64bit, int use_ + + /* Only use the correct machine, to prevent mismatches if we + have both /lib/ld.so and /lib64/ld.so on x86-64. */ +- if (use_64bit) ++ /*if (use_64bit) + { + dst_LIB = "lib64"; + add_dir (&ld_dirs, "/lib64/tls", strlen ("/lib64/tls")); +@@ -350,7 +350,7 @@ load_ld_so_conf (int use_64bit, int use_ + add_dir (&ld_dirs, "/usr/lib32/tls", strlen ("/usr/lib32/tls")); + add_dir (&ld_dirs, "/usr/lib32", strlen ("/usr/lib32")); + } +- else ++ else*/ + { + dst_LIB = "lib"; + add_dir (&ld_dirs, "/lib/tls", strlen ("/lib/tls")); diff --git a/meta/recipes-devtools/prelink/prelink_git.bb b/meta/recipes-devtools/prelink/prelink_git.bb index 79a5f501..0cbce36 100644 --- a/meta/recipes-devtools/prelink/prelink_git.bb +++ b/meta/recipes-devtools/prelink/prelink_git.bb @@ -27,6 +27,7 @@ FILES_${PN}-cron = "${sysconfdir}/cron.daily ${sysconfdir}/default" PACKAGES =+ "${PN}-cron" SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;branch=cross_prelink \ + file://64bitfix.patch \ file://prelink.conf \ file://prelink.cron.daily \ file://prelink.default \ -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
