[gold] arm: fix exidx in relocatable builds

Yury Usishchev y.usishchev@samsung.com
Thu Jan 28 14:50:00 GMT 2016


Forgot to attach the file=)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: exidx_fix.patch
Type: text/x-diff
Size: 4292 bytes
Desc: patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20160128/a55c7d28/attachment.bin>
-------------- next part --------------

BR,
Yury Usishchev

Yury Usishchev <y.usishchev@samsung.com> writes:
> Hello all!
>
> I want to fix PR19524 (https://sourceware.org/bugzilla/show_bug.cgi?id=19524).
> In relocatable builds linker does not fix unwind info, leaving some gaps, this can cause problems in unwinder including
> segmentation faults.
> The same issue was fixed for BFD linker in PR17323 (https://sourceware.org/bugzilla/show_bug.cgi?id=17323).
>
> To fix the problem I suppose I need to add part of relaxation where exidx fixup is done to relocatable builds and
> generate correct relocation for new unwind info.
>
> For now I managed to generate required 'cantunwind' but not the relocation, and it is done in very hacky way (see
> attached).
>
> Could some Gold hacker help me with advice on creating the fix? Here are the main issues I would like to discuss:
> 1) Where exidx fix should be called from in relocatable builds?(how wrong is it to run relaxation in such builds)
> 2) Is it possible to create a relocation in Gold? If so, how can I achieve this?
> 3) Where should this relocation be created and placed?
>
> Any help will be appreciated.
>
> BR,
> Yury Usishchev


More information about the Binutils mailing list