Fix for prelink

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi everyone,

I have the following interim fix for prelink, until we get upstream
prelink to recognize that there might be two different possible linker
paths on the same architecture. It's trivially correct, and described
within the patch below. Tested.

Jon.
commit f03d58359deab8fa90ec914f13da25d4965e7661
Author: Jon Masters <jcm@xxxxxxxxxxxxxx>
Date:   Thu Nov 29 00:06:57 2012 -0500

    arm: Specifically switch the dynamic linker on hard float ABI ARM systems
    
    The prelink utility currently has the notion that a given architecture will
    have only one possible dynamic_linker path. Unfortunately, on ARM, we have
    two ABIs that might be in use, depending upon hard or soft float ABI use.
    Fortunately, prelink is aware of the linker possibilities so will not
    fall over like on SPARC, since it will match on either of the linker
    paths when matching the linker, but when examining ELF headers, it
    throws a (harmless-ish) warning on ARMv7 that this patch removes.
    
    Signed-off-by: Jon Masters <jcm@xxxxxxxxxxxxxx>

diff --git a/prelink-armhf-dynamic-linker.patch b/prelink-armhf-dynamic-linker.patch
new file mode 100644
index 0000000..8961010
--- /dev/null
+++ b/prelink-armhf-dynamic-linker.patch
@@ -0,0 +1,12 @@
+diff -urNp prelink_orig/src/arch-arm.c prelink/src/arch-arm.c
+--- prelink_orig/src/arch-arm.c	2011-08-26 03:20:49.000000000 -0400
++++ prelink/src/arch-arm.c	2012-11-28 23:59:28.030164736 -0500
+@@ -832,7 +832,7 @@ PL_ARCH = {
+   .R_COPY = R_ARM_COPY,
+   .R_RELATIVE = R_ARM_RELATIVE,
+   .rtype_class_valid = RTYPE_CLASS_VALID,
+-  .dynamic_linker = "/lib/ld-linux.so.3",
++  .dynamic_linker = "/lib/ld-linux-armhf.so.3",
+   .adjust_dyn = arm_adjust_dyn,
+   .adjust_rel = arm_adjust_rel,
+   .adjust_rela = arm_adjust_rela,
diff --git a/prelink.spec b/prelink.spec
index 49264e8..48df41d 100644
--- a/prelink.spec
+++ b/prelink.spec
@@ -1,7 +1,7 @@
 Summary: An ELF prelinking utility
 Name: prelink
 Version: 0.4.6
-Release: 7%{?dist}
+Release: 7%{?dist}.jcm1
 %global svnver 200
 License: GPLv2+
 Group: System Environment/Base
@@ -12,6 +12,7 @@ Source: http://people.redhat.com/jakub/prelink/prelink-%{date}.tar.bz2
 Source2: prelink.conf
 Source3: prelink.cron
 Source4: prelink.sysconfig
+Patch0: prelink-armhf-dynamic-linker.patch
 
 BuildRequires: elfutils-libelf-devel-static
 BuildRequires: libselinux-static, libselinux-utils
@@ -29,6 +30,12 @@ and thus programs come up faster.
 %prep
 %setup -q -n prelink
 
+# We have two possible dynamic linkers on ARM (soft/hard float ABI). For now,
+# specifically patch the name of the linker on hard float systems. FIXME.
+%ifarch armv7hl
+%patch0 -p1 -b .armhfp-dynamic-linker
+%endif
+
 %build
 sed -i -e '/^prelink_LDADD/s/$/ -lpthread/' src/Makefile.{am,in}
 %configure --disable-shared
@@ -99,6 +106,9 @@ touch /var/lib/prelink/force
 %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/log/prelink/prelink.log
 
 %changelog
+* Thu Nov 29 2012 Jon Masters <jcm@xxxxxxxxxxxxxx> - 0.4.6-7.jcm1
+- Specifically switch the dynamic linker on ARM hard float (longterm fix req.)
+
 * Sat Jul 21 2012 Fedora Release Engineering <rel-eng@xxxxxxxxxxxxxxxxxxxxxxx> - 0.4.6-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
 
_______________________________________________
arm mailing list
arm@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/arm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM (Vger)]     [Linux ARM]     [ARM Kernel]     [Fedora User Discussion]     [Older Fedora Users Discussion]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Maintainers]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [Linux Apps]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]

Powered by Linux