This is an archive of the discontinued LLVM Phabricator instance.

[libunwind] Remove the legacy Unwind_AppleExtras.cpp
ClosedPublic

Authored by ldionne on Apr 15 2023, 4:41 PM.

Details

Summary

Unwind_AppleExtras.cpp contained annotations telling the linker that
some symbols are not available on some very old platforms. However,
those platforms are not supported anymore, so the annotations are not
used.

Why remove this? In addition to cleaning up the code base, this also
removes the possibility of implementing those annotations incorrectly
(which was the case previously), which could lead to important symbols
being hidden when they should have been visible.

Diff Detail

Event Timeline

ldionne created this revision.Apr 15 2023, 4:41 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptApr 15 2023, 4:41 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
ldionne requested review of this revision.Apr 15 2023, 4:41 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 15 2023, 4:41 PM
ldionne added inline comments.Apr 15 2023, 4:45 PM
libunwind/src/Unwind_AppleExtras.cpp
63–82

I am very confident this isn't useful anymore.

88–94

These ones I have a bit more doubt. I think either we don't care about hiding those anymore, or we do but in that case the current annotations are out of date, since they only hide the symbols for os10.4, os10.5 and os10.6, which is far from the only "os"es released by Apple.

106–119

I am very confident this isn't useful anymore.

al45tair accepted this revision.Apr 16 2023, 2:12 AM

Agree with Louis; these symbols aren’t hidden on newer systems as we haven’t kept this up to date, so removing it seems sensible.

MaskRay accepted this revision as: Restricted Project.Apr 17 2023, 9:33 AM
MaskRay added a subscriber: MaskRay.

Rubber stamp from #libunwind

This revision is now accepted and ready to land.Apr 17 2023, 9:33 AM
steven_wu accepted this revision.Apr 17 2023, 9:45 AM
steven_wu added a subscriber: steven_wu.

I am pretty sure if they are not useful anymore. Those symbols are only useful for back-deployment (linking application to system libunwind). Even if someone decides to build libunwind for 10.4, they don't need those symbols as long as they link their application against the newly built libunwind.

The CI is passing modulo some unrelated failures, so I'll ship this!

This revision was landed with ongoing or failed builds.Apr 18 2023, 5:03 AM
This revision was automatically updated to reflect the committed changes.