[gold] arm: fix exidx in relocatable builds

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


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