-
Notifications
You must be signed in to change notification settings - Fork 172
8374899: [8u] Fully handle clang as the toolchain in flags.m4 #740
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
base: master
Are you sure you want to change the base?
Conversation
|
👋 Welcome back andrew! A progress list of the required criteria for merging this PR into |
|
❗ This change is not yet ready to be integrated. |
|
I think this may have to be a regular PR to generate the pr/740 branch. |
fc9d406 to
2727009
Compare
|
The parent pull request that this pull request depends on has now been integrated and the target branch of this pull request has been updated. This means that changes from the dependent pull request can start to show up as belonging to this pull request, which may be confusing for reviewers. To remedy this situation, simply merge the latest changes from the new target branch into this pull request by running commands similar to these in the local repository for your personal fork: git checkout JDK-8374899
git fetch https://git.openjdk.org/jdk8u-dev.git master
git merge FETCH_HEAD
# if there are conflicts, follow the instructions given by git merge
git commit -m "Merge master"
git push |
64c62cb to
f82b5ef
Compare
jerboaa
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems OK. Thanks!
|
|
There are a number of cases in
flags.m4where the toolchain is checked andclang(now the default on all supported versions of XCode on MacOS) is not handled. In particular, this means-std=gnu++98is never added and attempts to build with MacOS 15 fail as it is trying to meet the demands of C++11.This PR updates the file to handle clang with gcc in most places as there is more commonality between the two than difference. It doesn't attempt to remove the gcc on MacOS support and so some areas will differ from 11u and later where MacOS is assumed to be clang-only.
The changes are as follows:
PICFLAGandPIEFLAG.-Oflag for both gcc & clang together as they only differ by OS.clanginFLAGS_SETUP_COMPILER_FLAGS_FOR_JDK-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE) to where the BSD, MacOS & AIX ones are added. This presumably means these were not previously being added for Linux on clang. This mirrors 11u handling.The changes in #3 mean that clang builds will now run the compiler tests for
-std=gnu++98,-Wformat-overflowand-ffp-contractas well as the warning &-fstack-protectorflags added in this block. Some of this may need to be exempted depending on testing.As MacOS GHA builds do not currently run, I will make #738 depend on this PR to test there.
This also adds
LOG_LEVEL=debugto the remaining OpenJDK GHA builds where it was absent (x86 Linux, Windows & Mac). This will mean noisier logs, but more useful ones when there is actually a failure. The current failing Mac ones don't tell us the commands being passed to the compiler. The same option has been present for x86_64 and alt Linux builds for some time.Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk8u-dev.git pull/740/head:pull/740$ git checkout pull/740Update a local copy of the PR:
$ git checkout pull/740$ git pull https://git.openjdk.org/jdk8u-dev.git pull/740/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 740View PR using the GUI difftool:
$ git pr show -t 740Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk8u-dev/pull/740.diff
Using Webrev
Link to Webrev Comment