Skip to contentSkip to conversation

Re-enable prelink for IA32 and MIPS

PATCH In review Mark Hatle 1 participant 5 messages Aug 18, 2016 – Aug 19, 2016

lore
Share & tools
lore

Mark Hatle

author
#0 lore raw

cover Re-enable prelink for IA32 and MIPS

*** BLURB HERE ***
The following changes since commit ecc8d346223030ee06aa6d83427f757982e948e4:

sanity: Require bitbake 1.31.1 for multi-config changes (2016-08-18 10:07:18 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib mhatle/prelink
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=mhatle/prelink

Mark Hatle (3):
prelink: Move to latest version of prelink local.conf.sample: Disable ARM and PPC due to prelink test case
failures
Revert "local.conf.sample: Disable prelink by default"

 meta/conf/local.conf.sample                  | 12 ++++++++++--
 meta/recipes-devtools/prelink/prelink_git.bb |  2 +-
 2 files changed, 11 insertions(+), 3 deletions(-)
Signature · 1 line
2.5.5
author
#1 lore raw

PATCH 1/3 prelink: Move to latest version of prelink

* Uprev rtld emulation to glibc-2.23
* Fix compilation warnings
* Add additional debug scopes
* Change rtld build_local_scope to be breadth-first
* Fix LD_PRELOAD emulation
* Change function reordering to work with latest binutils

---
 meta/recipes-devtools/prelink/prelink_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-devtools/prelink/prelink_git.bb +1 -1
index e223ef6..5d9f260 100644
@@ -8,7 +8,7 @@ and executables, so that far fewer relocations need to be resolved at \
 runtime and thus programs come up faster."
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
-SRCREV = "927979bbd115eeb8a75db3231906ef6aca4c4eb6"
+SRCREV = "ef20628dd78b92e1a3123afc67b64cf010bdd9e4"
 PV = "1.0+git${SRCPV}"
 
 #
Signature · 1 line
2.5.5
author
#2 lore raw

PATCH 2/3 local.conf.sample: Disable ARM and PPC due to prelink test case failures

In reply to Mark Hatle

Internal prelink test cases reloc8 and reloc9 are failing on both ARM and PPC systems. Disable them by removing the prelink from the IMAGE_CLASSES setting.

---
 meta/conf/local.conf.sample | 9 +++++++++
 1 file changed, 9 insertions(+)
meta/conf/local.conf.sample +9 -0
index 2949ffb..8879a08 100644
@@ -132,6 +132,15 @@ EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
 # image-prelink disabled for now due to issues with IFUNC symbol relocation
 USER_CLASSES ?= "buildstats image-mklibs"
 
+# Prelinker tests are currently failing on ARM and PPC.  Prevent us from
+# running on those architectures until the failure is explained.
+USER_CLASSES_remove_arm = 'image-prelink'
+USER_CLASSES_remove_armeb = 'image-prelink'
+USER_CLASSES_remove_aarch64 = 'image-prelink'
+USER_CLASSES_remove_aarch64eb = 'image-prelink'
+USER_CLASSES_remove_powerpc = 'image-prelink'
+USER_CLASSES_remove_powerpc64 = 'image-prelink'
+
 
 #
 # Runtime testing of images
Signature · 1 line
2.5.5
author
#3 lore raw

Re: [PATCH 2/3] local.conf.sample: Disable ARM and PPC due to prelink test case failures

Just an FYI - I've investigated the ARM and PPC failures further. It looks like it may be a binutils problem.

Both of the failed tests link applications using the arguments "-Wl,-z,nocopyreloc"

Once this has been done, the executable will not run. (Aborts very early.)

I'm currently verifying if this did work in the past.

--Mark

Quoted 30 lines · Mark Hatle

Internal prelink test cases reloc8 and reloc9 are failing on both ARM and PPC systems. Disable them by removing the prelink from the IMAGE_CLASSES setting.

---
 meta/conf/local.conf.sample | 9 +++++++++
 1 file changed, 9 insertions(+)
meta/conf/local.conf.sample +9 -0
index 2949ffb..8879a08 100644
@@ -132,6 +132,15 @@ EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
 # image-prelink disabled for now due to issues with IFUNC symbol relocation
 USER_CLASSES ?= "buildstats image-mklibs"
 
+# Prelinker tests are currently failing on ARM and PPC.  Prevent us from
+# running on those architectures until the failure is explained.
+USER_CLASSES_remove_arm = 'image-prelink'
+USER_CLASSES_remove_armeb = 'image-prelink'
+USER_CLASSES_remove_aarch64 = 'image-prelink'
+USER_CLASSES_remove_aarch64eb = 'image-prelink'
+USER_CLASSES_remove_powerpc = 'image-prelink'
+USER_CLASSES_remove_powerpc64 = 'image-prelink'
+
 
 #
 # Runtime testing of images
author
#4 lore raw

PATCH 3/3 Revert "local.conf.sample: Disable prelink by default"

In reply to Mark Hatle

This reverts commit 300f858ba07c938427ccd05a3d7220027a03d461.

Reenable prelink

---
 meta/conf/local.conf.sample | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
meta/conf/local.conf.sample +1 -2
index 8879a08..b35db51 100644
@@ -129,8 +129,7 @@ EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
 #   - 'image-swab' to perform host system intrusion detection
 # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
 # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
-# image-prelink disabled for now due to issues with IFUNC symbol relocation
-USER_CLASSES ?= "buildstats image-mklibs"
+USER_CLASSES ?= "buildstats image-mklibs image-prelink"
 
 # Prelinker tests are currently failing on ARM and PPC.  Prevent us from
 # running on those architectures until the failure is explained.
Signature · 1 line
2.5.5