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

JDK-8260518: Change default -mmacosx-version-min to 10.12 #2268

Closed
wants to merge 2 commits into from

Conversation

erikj79
Copy link
Member

@erikj79 erikj79 commented Jan 27, 2021

To guarantee backwards compatible binaries on Macos, we use the option -mmacosx-version-min. This is currently set to 10.9, which is a really ancient version. I propose we bump this to 10.12, which is still a rather conservative old version (support ended in 2019).

The driving issue for bumping this now is the aarch64 port, where building for aarch64 requires the version min to be set to 11.0. Having a large gap between the target versions becomes problematic as we hit a lot of deprecation warnings in shared code. To be able to fix these deprecation warnings, we need a smaller version gap.

Just bumping us to 10.12 triggers warnings in libsplashscreen, so I will temporarily add "deprecated-declarations" to the list of disabled warnings there until they can be fixed in JDK-8260402.


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed

Issue

  • JDK-8260518: Change default -mmacosx-version-min to 10.12

Reviewers

Download

$ git fetch https://git.openjdk.java.net/jdk pull/2268/head:pull/2268
$ git checkout pull/2268

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Jan 27, 2021

👋 Welcome back erikj! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk openjdk bot added the rfr label Jan 27, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Jan 27, 2021

@erikj79 The following labels will be automatically applied to this pull request:

  • 2d
  • build

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command.

@openjdk openjdk bot added 2d build labels Jan 27, 2021
@mlbridge
Copy link

@mlbridge mlbridge bot commented Jan 27, 2021

Webrevs

Copy link
Member

@tbell29552 tbell29552 left a comment

Looks good.

@openjdk
Copy link

@openjdk openjdk bot commented Jan 27, 2021

@erikj79 This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8260518: Change default -mmacosx-version-min to 10.12

Reviewed-by: tbell, prr, ihse, serb

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 26 new commits pushed to the master branch:

  • 1de3c55: 8260584: Shenandoah: simplify "Concurrent Thread Roots" logging
  • bbbfaa5: 8249262: Initialize InstanceKlass::_package_entry during CDS dump time
  • 3aabbd7: 8260432: allocateSpaceForGP in freetypeScaler.c might leak memory
  • abc4300: 8257746: Regression introduced with JDK-8250984 - memory might be null in some machines
  • 13ca433: 8259628: jdk/net/ExtendedSocketOption/AsynchronousSocketChannelNAPITest.java fails intermittently
  • baf46ba: 8259801: Enable XML Signature secure validation mode by default
  • 20e7df5: 8260466: Test TestHeapDumpOnOutOfMemoryError.java needs multiple @test sections
  • 11d6467: 8260407: cmp != __null && cmp->Opcode() == Op_CmpL failure with -XX:StressLongCountedLoop=200000000 in lucene
  • d07af2b: 8255531: MethodHandles::permuteArguments throws NPE when duplicating dropped arguments
  • a68c6c2: 8260579: PPC64 and S390 builds failures after JDK-8260467
  • ... and 16 more: https://git.openjdk.java.net/jdk/compare/0eed2c3312fbb5e06bb9c41b4d210790bd1822a4...master

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready label Jan 27, 2021
prrace
prrace approved these changes Jan 27, 2021
@mrserb
Copy link
Member

@mrserb mrserb commented Jan 28, 2021

Will this affect the minimum version of macOS which will be able to run on? don't we need a CSR(not sure)?

Copy link
Member

@magicus magicus left a comment

Looks good to me.

@mlbridge
Copy link

@mlbridge mlbridge bot commented Jan 28, 2021

Mailing list message from erik.joelsson at oracle.com on build-dev:

On 2021-01-27 19:57, Sergey Bylokhov wrote:

On Wed, 27 Jan 2021 20:43:44 GMT, Phil Race <prr at openjdk.org> wrote:

To guarantee backwards compatible binaries on Macos, we use the option -mmacosx-version-min. This is currently set to 10.9, which is a really ancient version. I propose we bump this to 10.12, which is still a rather conservative old version (support ended in 2019).

The driving issue for bumping this now is the aarch64 port, where building for aarch64 requires the version min to be set to 11.0. Having a large gap between the target versions becomes problematic as we hit a lot of deprecation warnings in shared code. To be able to fix these deprecation warnings, we need a smaller version gap.

Just bumping us to 10.12 triggers warnings in libsplashscreen, so I will temporarily add "deprecated-declarations" to the list of disabled warnings there until they can be fixed in JDK-8260402.
Marked as reviewed by prr (Reviewer).
Will this affect the minimum version of macOS which will be able to run on? don't we need a CSR(not sure)?

Yes it will and no, as far as I'm aware, we don't need anything like
that. For Oracle, the support matrix for JDK 16 was 10.13+. The problem
would be if some other OpenJDK distributor wanted to keep supporting
something older.

/Erik

mrserb
mrserb approved these changes Jan 28, 2021
@erikj79
Copy link
Member Author

@erikj79 erikj79 commented Jan 29, 2021

/integrate

@openjdk openjdk bot closed this Jan 29, 2021
@openjdk openjdk bot added integrated and removed ready rfr labels Jan 29, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Jan 29, 2021

@erikj79 Since your change was applied there have been 37 commits pushed to the master branch:

Your commit was automatically rebased without conflicts.

Pushed as commit 53f1b93.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2d build integrated
5 participants