Patchwork Openembedded and ld-linux-armhf.so.3

login
register
mail settings
Submitter Martin Ertsaas
Date April 30, 2012, 6 a.m.
Message ID <4F9E2A64.6040302@gmail.com>
Download mbox | patch
Permalink /patch/26585/
State Rejected
Headers show

Comments

Martin Ertsaas - April 30, 2012, 6 a.m.
On 04/29/12 04:40, Khem Raj wrote:
> On Fri, Apr 27, 2012 at 5:38 AM, Martin Ertsås <martiert@gmail.com> wrote:
>> Hi.
>>
>> I'm working on a pandaboard with OMAP4460. Were trying to use the newest
>> PVR drivers, which conforms to the result that arose from
>> https://wiki.linaro.org/OfficeofCTO/HardFloat/LinkerPathCallApr2012
>>
>> We have applied the patch at the bottom of that page gcc, and also a
>> patch for making eglibc make ld-linux-armhf, and load ld-linux-armhf
>> instead of ld-linux. Problem is, this gives us a kernel panic when it
>> tries to run init. Linking ld-linux.so.3 to ld-linux-armhf.so.3 does not
>> work, and we're kind of in the dark as to what is missing.
>>
>> We tried fixing this by renaming the toolchain to be
>> arm-none-linux-gnueabihf instead of arm-none-linux-gnueabi, as we heard
>> this might be a problem with hardfloats, but this needed a lot of extra
>> patches, and some patchwork on other packages like openssl and shadow.
>>
>> My question is, are there any ongoing plans to fix this, and make sure
>> that if we have set hard float we make ld-linux-armhf in openembedded?
>>
>> For the record we are using eglibc2.15 and gcc4.6 from openembedded-core.
> would you show the patches so I can take a look what you did and whats going on
Sure, the patches are attached.
>> Best regards
>> Martin Ertsaas
>>
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Khem Raj - April 30, 2012, 11 p.m.
On Sun, Apr 29, 2012 at 11:00 PM, Martin Ertsås <martiert@gmail.com> wrote:
> Sure, the patches are attached.

these patches are not right. Drop the eglibc patches completely they are bogus
gcc patch you can take a look here

http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/misc&id=7cc84a60662f9f2f5a1ad0264e94cea8a6954cec

eglibc patches are still work in progress. I am working on something
but its not final yet

Patch

# DP: For ARM hard float, set the dynamic linker to
# DP: /lib/ld-linux-armhf.so.3.

diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
index 80bd825..8c9d2e7 100644
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -62,7 +62,11 @@ 
 /* Use ld-linux.so.3 so that it will be possible to run "classic"
    GNU/Linux binaries on an EABI system.  */
 #undef  GLIBC_DYNAMIC_LINKER
-#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.3"
+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
+#define GLIBC_DYNAMIC_LINKER \
+   "%{mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \
+    %{!mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "}"

 /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
    use the GNU/Linux version, not the generic BPABI version.  */