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-8269031: linux x86_64 check for binutils 2.25 or higher after 8265783 #4548

Closed
wants to merge 2 commits into from

Conversation

MBaesken
Copy link
Member

@MBaesken MBaesken commented Jun 22, 2021

This change adds a check for binutils 2.25 or higher after 8265783. The change 8265783 introduced on linux x86_64 a minimum requirement for binutils : "Minimum required would be binutils 2.25 where AVX512 support was added for Skylake." (see https://bugs.openjdk.java.net/browse/JDK-8265783 )
I adjusted the existing check that already checked the binutils version by looking at the linker output (we do not look at the assembler version and it seems to me we do not really invoke the assembler directly, just indirectly via gcc).


Progress

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

Issue

  • JDK-8269031: linux x86_64 check for binutils 2.25 or higher after 8265783

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/4548/head:pull/4548
$ git checkout pull/4548

Update a local copy of the PR:
$ git checkout pull/4548
$ git pull https://git.openjdk.java.net/jdk pull/4548/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 4548

View PR using the GUI difftool:
$ git pr show -t 4548

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/4548.diff

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Jun 22, 2021

👋 Welcome back mbaesken! 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 Jun 22, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Jun 22, 2021

@MBaesken The following label will be automatically applied to this pull request:

  • build

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

@openjdk openjdk bot added the build label Jun 22, 2021
@mlbridge
Copy link

@mlbridge mlbridge bot commented Jun 22, 2021

Webrevs

@@ -221,6 +221,11 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
AC_ARG_WITH(toolchain-type, [AS_HELP_STRING([--with-toolchain-type],
[the toolchain type (or family) to use, use '--help' to show possible values @<:@platform dependent@:>@])])

# Linux x86_64 needs higher binutils after 8265783
if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
Copy link
Member

@magicus magicus Jun 22, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
# (This really is a dependency on as version, but we mis-use ld as a check for a general binutils version)
if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then

@magicus
Copy link
Member

@magicus magicus commented Jun 22, 2021

The test should really be on as version, but I agree that it does not seem worth the hassle to add another version check, when in practice ld and as are bundled together as binutils.

However, I would appreciate a comment clarifying this. I added a suggestion, feel free to use it or modify it. Apart from this it looks good, so I'll approve it.

@openjdk
Copy link

@openjdk openjdk bot commented Jun 22, 2021

@MBaesken 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:

8269031: linux x86_64 check for binutils 2.25 or higher after 8265783

Reviewed-by: ihse, erikj

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 39 new commits pushed to the master branch:

  • 2e639dd: 8267657: Add missing PrintC1Statistics before incrementing counters
  • 1f0ea7c: 8268857: Merge VM_PrintJNI and VM_PrintThreads and remove the unused field 'is_deadlock' of DeadlockCycle
  • 1a81815: 8269077: TestSystemGC uses "require vm.gc.G1" for large pages subtest
  • 0458113: Merge
  • d3ad8cd: 8268672: C2: assert(!loop->is_member(u_loop)) failed: can be in outer loop or out of both loops only
  • f25e719: 8268717: Upstream: 8268673: Stack walk across optimized entry frame on fresh native thread fails
  • 22ebd19: 8268362: [REDO] C2 crash when compile negative Arrays.copyOf length after loop
  • f8df953: 8268702: JFR diagnostic commands lack argument descriptors when viewed using Platform MBean Server
  • c294ae4: 8267042: bug in monitor locking/unlocking on ARM32 C1 due to uninitialized BasicObjectLock::_displaced_header
  • b358b54: 8269063: Build failure due to VerifyReceiverTypes was not declared after JDK-8268405
  • ... and 29 more: https://git.openjdk.java.net/jdk/compare/5ae9a12858a20361c163e1dfe6b67970f27e4e40...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 Jun 22, 2021
@MBaesken
Copy link
Member Author

@MBaesken MBaesken commented Jun 22, 2021

The test should really be on as version, but I agree that it does not seem worth the hassle to add another version check, when in practice ld and as are bundled together as binutils.

However, I would appreciate a comment clarifying this. I added a suggestion, feel free to use it or modify it. Apart from this it looks good, so I'll approve it.

Thanks for the feedback, adding some words about as version makes of course a lot of sense, I adjusted the comment a bit.

@MBaesken
Copy link
Member Author

@MBaesken MBaesken commented Jun 22, 2021

/integrate

@openjdk
Copy link

@openjdk openjdk bot commented Jun 22, 2021

Going to push as commit 18a1dd2.
Since your change was applied there have been 39 commits pushed to the master branch:

  • 2e639dd: 8267657: Add missing PrintC1Statistics before incrementing counters
  • 1f0ea7c: 8268857: Merge VM_PrintJNI and VM_PrintThreads and remove the unused field 'is_deadlock' of DeadlockCycle
  • 1a81815: 8269077: TestSystemGC uses "require vm.gc.G1" for large pages subtest
  • 0458113: Merge
  • d3ad8cd: 8268672: C2: assert(!loop->is_member(u_loop)) failed: can be in outer loop or out of both loops only
  • f25e719: 8268717: Upstream: 8268673: Stack walk across optimized entry frame on fresh native thread fails
  • 22ebd19: 8268362: [REDO] C2 crash when compile negative Arrays.copyOf length after loop
  • f8df953: 8268702: JFR diagnostic commands lack argument descriptors when viewed using Platform MBean Server
  • c294ae4: 8267042: bug in monitor locking/unlocking on ARM32 C1 due to uninitialized BasicObjectLock::_displaced_header
  • b358b54: 8269063: Build failure due to VerifyReceiverTypes was not declared after JDK-8268405
  • ... and 29 more: https://git.openjdk.java.net/jdk/compare/5ae9a12858a20361c163e1dfe6b67970f27e4e40...master

Your commit was automatically rebased without conflicts.

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

@openjdk openjdk bot commented Jun 22, 2021

@MBaesken Pushed as commit 18a1dd2.

💡 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
build integrated
3 participants