It seems a lot simpler to just sort the sections and let the relocations do the rest.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Looks good to me. The earlier we can do the re-ordering the better.
I'm currently trying to investigate some test failures in libcxxabi, libcxx using libunwind to do with ARM exceptions. I've got 6 failures in libcxxabi and 44 failures in libcxx when I run it with lld on ARM [*]. I'll run this past the tests on Monday (getting too late in the evening for me to function properly). If I turn up any extra problems I'll let you know.
- Only difference I can find between ld.bfd and lld is that ld.bfd (and gold) generate a .cantunwind entry for sections that don't have a .ARM.exidx entry.
Comment Actions
I ran the libcxx and libcxxabi test suites without any problems before and after this change, which is good news. I found out that the test failures were caused by libunwind depending on ld.bfd putting a sentinel EXIDX_CANTUNWIND as the last element of the table and have raised PR31091 to cover.