Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libunwind/libunwind-headers: use only on < darwin11 #27319

Closed
wants to merge 1 commit into from

Conversation

kencu
Copy link
Contributor

@kencu kencu commented Jan 7, 2025

the functionality of the libunwind library was added to libSystem in darwin11. Installing this port on any system newer than darwin10 causes problems, and usually causes an older libunwind to be used than the one already in libSystem.

closes: https://trac.macports.org/ticket/66250

For interest:
a current libunwind is currently installed as part of the clang builds, eg.:

% port contents clang-19 | grep libunwind
/opt/local/libexec/llvm-19/include/__libunwind_config.h
/opt/local/libexec/llvm-19/include/libunwind.h
/opt/local/libexec/llvm-19/include/libunwind.modulemap
/opt/local/libexec/llvm-19/lib/libunwind/libunwind.1.0.dylib
/opt/local/libexec/llvm-19/lib/libunwind/libunwind.1.dylib
/opt/local/libexec/llvm-19/lib/libunwind/libunwind.a
/opt/local/libexec/llvm-19/lib/libunwind/libunwind.dylib

if testing a newer libunwind is desired on new systems, one can be found there.

@macportsbot
Copy link

Notifying maintainers:
@jeremyhu for port libunwind.

@macportsbot macportsbot added maintainer: open Affects an openmaintainer port by: member Created by a member with commit rights labels Jan 7, 2025
@kencu
Copy link
Contributor Author

kencu commented Jan 7, 2025

If this is committed, there will be ports discovered that have linked to ${prefix}/lib/libunwind.dylib and will then be broken. These ports will all need to be revbumped.

Some will have overtly had libunwind referenced in their dependencies. Other ports may likely have linked against it opportunistically.

@kencu kencu changed the title libunind/libunwind-headers: use only on < darwin11 libunwind/libunwind-headers: use only on < darwin11 Jan 7, 2025
@kencu kencu force-pushed the libunwinddefanged branch from c48c09a to ae79718 Compare January 7, 2025 07:55
the functionality of the libunwind library was added
to libSystem in darwin11. Installing this port on any
system newer than darwin10 causes problems, and usually
causes an older libunwind to be used than the one already in
libSystem.

closes: https://trac.macports.org/ticket/66250

For interest:
a current libunwind is currently installed  as part of the clang builds, eg.:

% port contents clang-19 | grep libunwind
  /opt/local/libexec/llvm-19/include/__libunwind_config.h
  /opt/local/libexec/llvm-19/include/libunwind.h
  /opt/local/libexec/llvm-19/include/libunwind.modulemap
  /opt/local/libexec/llvm-19/lib/libunwind/libunwind.1.0.dylib
  /opt/local/libexec/llvm-19/lib/libunwind/libunwind.1.dylib
  /opt/local/libexec/llvm-19/lib/libunwind/libunwind.a
  /opt/local/libexec/llvm-19/lib/libunwind/libunwind.dylib

if testing a newer libunwind is desired on new systems, one can be found there.
@kencu kencu force-pushed the libunwinddefanged branch from ae79718 to 458be5c Compare January 8, 2025 04:42
@kencu kencu closed this Jan 9, 2025
@kencu kencu reopened this Jan 20, 2025
@kencu
Copy link
Contributor Author

kencu commented Jan 20, 2025

There are ports that look for libunwind, and enable certain functionality if it is found.

On MacOS, that logic will have to be adjusted/changed.

Libunwind is part of libSystem on 10.7+, so looking for a separate libunwind library is pointless. The functionality will have to be tested and enabled a different way.

[edit -- there is in fact libunwind functionality in libSystem 10.6, but Jeremy needed newer stuff to build cctools on 10.6, in the past at least. Nobody has tested whether the libunwind enhancements are still needed on 10.6 to build cctools/etc but I suspect they are needed]

@kencu
Copy link
Contributor Author

kencu commented Jan 26, 2025

I/we need to verify that cctools will build on 10.7-10.X without the libunwind headers.

If it does, I think this could be pushed and then we start cleaning up the resulting mess of ports that have opportunistically or specifically linked against libunwind.

@kencu kencu closed this Jan 27, 2025
@kencu kencu deleted the libunwinddefanged branch January 27, 2025 02:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
by: member Created by a member with commit rights maintainer: open Affects an openmaintainer port
Development

Successfully merging this pull request may close these issues.

3 participants