This is an archive of the discontinued LLVM Phabricator instance.

[LLD][ARM] Canonicalize output section name for .ARM.exidx sections
ClosedPublic

Authored by peter.smith on Aug 22 2016, 8:32 AM.

Details

Summary

The ARM Exception handling ABI requires that all ARM exception index table sections have a prefix of .ARM.exidx and are combined into a single contiguous block either in their own output section or as part of another output section.

In general clang will output a single .ARM.exidx section per object, but will use .ARM.exidx.<section name> when -ffunction-sections is used.

This change canonicalizes the names of sections with the .ARM.exidx prefix to just .ARM.exidx, which ensures that there is only a single output section.

This is the initial step in implementing ARM support for C++ exceptions.

Diff Detail

Event Timeline

peter.smith retitled this revision from to [LLD][ARM] Canonicalize output section name for .ARM.exidx sections.
peter.smith updated this object.
peter.smith added reviewers: ruiu, rafael.
peter.smith added subscribers: llvm-commits, rengolin.
ruiu accepted this revision.Aug 24 2016, 12:04 AM
ruiu edited edge metadata.

LGTM

This revision is now accepted and ready to land.Aug 24 2016, 12:04 AM
This revision was automatically updated to reflect the committed changes.