iains / gcc-darwin-arm64

GCC master branch for Darwin with experimental support for Arm64. Currently GCC-15.0.0 [September 2024]
GNU General Public License v2.0
268 stars 33 forks source link

Darwin: Use 'enable-darwin-at-rpath' on newer macOS versions #94

Closed markmentovai closed 1 year ago

markmentovai commented 2 years ago

Hi, Iain. This one makes sense for both https://github.com/iains/gcc-darwin-arm64 and https://github.com/iains/gcc-12-branch, and perhaps older branches.

Along with https://github.com/gcc-mirror/gcc/commit/6725f186cb70d48338f69456864bf469a12ee5be and https://patchwork.ozlabs.org/project/gcc/patch/20220610201145.34747-1-mark@mentovai.com/, it should bring things into shape for macOS 13, modulo one SDK fix required in Xcode 14.0b1 and already reported to Apple.


https://patchwork.ozlabs.org/project/gcc/patch/20211117210319.92514-4-iain@sandoe.co.uk/ added enable-darwin-at-runpath and enabled it by default on macOS versions from 10.11 through 12 inclusive, but was not future-proof. macOS 13 is expected for public release later this year.

This change extends support through macOS 19, which is expected to be good for 7 more years under the current OS versioning scheme.

ChangeLog:

    * libtool.m4: Future-proof default setting of
    'enable-darwin-at-runpath'.

gcc/ChangeLog:

    * configure: Regenerate.

libatomic/ChangeLog:

    * configure: Regenerate.

libcc1/ChangeLog:

    * configure: Regenerate.

libffi/ChangeLog:

    * configure: Regenerate.

libgfortran/ChangeLog:

    * configure: Regenerate.

libgomp/ChangeLog:

    * configure: Regenerate.

libitm/ChangeLog:

    * configure: Regenerate.

libobjc/ChangeLog:

    * configure: Regenerate.

liboffloadmic/ChangeLog:

    * configure: Regenerate.

libphobos/ChangeLog:

    * configure: Regenerate.

libquadmath/ChangeLog:

    * configure: Regenerate.

libsanitizer/ChangeLog:

    * configure: Regenerate.

libssp/ChangeLog:

    * configure: Regenerate.

libstdc++-v3/ChangeLog:

    * configure: Regenerate.

libvtv/ChangeLog:

    * configure: Regenerate.

lto-plugin/ChangeLog:

    * configure: Regenerate.

zlib/ChangeLog:

    * configure: Regenerate.

Signed-off-by: Mark Mentovai mark@mentovai.com

iains commented 2 years ago

Hi Mark, thanks for the patch.

.. this seems reasonable. However, the master version of the aarch64 port really needs rebasing (I have been very busy with other work) so I think I'll probably apply this to 12.1r1 and 11.3r2 (maybe even 10.4r0) first and pull it into the master version at a later date.

markmentovai commented 2 years ago

That’s no problem. I was primarily hoping to get this into iains/gcc-12-branch as that’s where MacPorts gcc-devel on mac-arm64 is currently pulling from (although it’d be great if that could move to the gcc trunk as well). Thanks.

iains commented 1 year ago

I think this is now handled OK in 12.x and master, right?

markmentovai commented 1 year ago

I think this is now handled OK in 12.x and master, right?

Think so. I think that this was only a problem in your branches. Upstream doesn’t have enable_darwin_at_rpath at all.

iains commented 1 year ago

OK, thanks again for the patch - as it happened, libtool.m4 Darwin changes were reworked to deal with some other issues and we now cover a wider range of OS versions (at least until Darwin30) as part of that, so closing this pull request.