RFR: 8352284: EXTRA_CFLAGS incorrectly applied to BUILD_LIBJVM src/hotspot C++ source files [v2]

Patrick Zhang qpzhang at openjdk.org
Sat Mar 22 10:09:46 UTC 2025


> Building jdk with `--with-extra-cflags='-Wno-incompatible-pointer-types'` triggers 1000+ warning messages like `cc1plus: warning: command-line option ‘-Wno-incompatible-pointer-types’ is valid for C/ObjC but not for C++`. 
> 
> The root cause is that `JVM_CFLAGS ` which contains both `EXTRA_CXXFLAGS` and `EXTRA_CFLAGS` when compiling `src/hotspot` C++ source files and building `BUILD_LIBJVM`.
> 
> This PR does:
> 1. Not to append `EXTRA_CFLAGS` or `EXTRA_CXXFLAGS` into `JVM_CFLAGS` before calling `SetupJdkLibrary`, instead let `SetupCompilerFlags` accept and merge `EXTRA_CFLAGS` and `EXTRA_CXXFLAGS` passed from `SetupJdkLibrary` as parameters, so CPP compilation will only see `EXTRA_CXXFLAGS` as expected.
> 2. Correct `PCH_COMMAND` to use `EXTRA_CXXFLAGS` as precompiled.hpp.gch should not be compiled with `EXTRA_CFLAGS`.
> 3. Fixed `STATIC_LIB_CFLAGS` in `Flags.gmk` to `-DSTATIC_BUILD=1`, which was missed by [cbab40bc](https://github.com/openjdk/jdk/commit/cbab40bce45a2f58906be49c841178fa1dfd457e#diff-ab3ce05e795360030f19402fd0c2fad1dc1f7c5e7acc993cc4a2096cf31ccf40R114-R121) for the refactor of building static libs.
> 
> Tests: Passed jdk building on an AArch64 Linux system and tier1 sanity tests, also passed OpenJDK GHA Sanity Checks.

Patrick Zhang has updated the pull request incrementally with three additional commits since the last revision:

 - Fixed a typo
   
   Signed-off-by: Patrick Zhang <patrick at os.amperecomputing.com>
 - Added comments to describe why EXTRA_CFLAGS is excluded from JVM_CFLAGS
   
   Signed-off-by: Patrick Zhang <patrick at os.amperecomputing.com>
 - Revert the changes of adding new params to SetupNativeCompilation
   
   Signed-off-by: Patrick Zhang <patrick at os.amperecomputing.com>

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/24115/files
  - new: https://git.openjdk.org/jdk/pull/24115/files/cf61e94a..aa242dd5

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=24115&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24115&range=00-01

  Stats: 9 lines in 5 files changed: 3 ins; 2 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/24115.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24115/head:pull/24115

PR: https://git.openjdk.org/jdk/pull/24115


More information about the build-dev mailing list