Bug 1808

Summary: prelink support for new R_ARM_TLS_DESC
Product: [Yocto Project Subprojects] Cross-prelink Reporter: Mark Hatle <mark.hatle>
Component: cross-prelinkAssignee: Mark Hatle <mark.hatle>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: sgw, yp.cp.watcher, yp.watcher
Version: unspecified   
Target Milestone: 1.2   
Hardware: Other   
OS: arm   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---

Description Mark Hatle 2011-12-04 08:37:24 UTC
On 12/4/11 9:43 AM, Michael McTernan wrote:

...

> I've been trying prelink on ARM, using the Codesourcery 2011.03 tools.
> It looks like they have a new relocation type for TLS on ARM which isn't
> supported:
> 
>     http://sourceware.org/ml/libc-alpha/2011-02/msg00136.html
> 
> This leads to the following warning/error which then prevents most
> things getting pre-linked since most things end up needing libc-2:
> 
>     /lib/libc-2.13.so: Unknown arm relocation type 13

...

See http://sourcery.mentor.com/public/publications/RFC-TLSDESC-ARM.txt

Also the latest trunk version of eglibc does contain the matching elf.h definitions, so presumably it also includes the implementation.
Comment 1 Mark Hatle 2012-01-26 15:47:50 UTC
Mentor Graphics has provided me with a patch to address this issue.  Currently working on integrating it into the cross prelinkers.
Comment 2 Mark Hatle 2012-02-02 11:52:11 UTC
Hi Mark,

Sorry for the delay on this, but I've finally found the time to check 
out the fix.  Good news - it works!

To be doubly sure I checked the /proc/x/maps for some of the executables 
to see that the libs were laid out at the addresses reported by prelink.

This is with Code Soucery 2011.03 targeted for CortexA8 in one build, 
ARM9 in another.

Many Thanks for tracking this one down!

Kind Regards,

Mike