RFR: 8345016: [ASAN] java.c false positive ‘%s’ directive argument is null [-Werror=format-truncation=]

SendaoYan syan at openjdk.org
Wed Dec 4 15:03:14 UTC 2024


Hi all,
The file src/java.base/share/native/libjli/java.c generate  false positive compile warning by gcc14 with gcc options `-fsanitize=undefined -O2`, and make jdk build error when configure with option `--enable-asan`. So I think it's necessory to disable the false positive compile warning to make jdk build normally with configure option `--enable-asan`.
This PR use gcc `_Pragma` to disbale the `-Wformat-truncation` compile warning, to make the disable code area as small as possible, and make the change looks ugly. There is another solution to disable the compile warning seen as below, but it will disable the compile warning of java.c. So I use the first solution.


diff --git a/make/modules/java.base/lib/CoreLibraries.gmk b/make/modules/java.base/lib/CoreLibraries.gmk
index 61ac495968a..5bc83cf0978 100644
--- a/make/modules/java.base/lib/CoreLibraries.gmk
+++ b/make/modules/java.base/lib/CoreLibraries.gmk
@@ -178,6 +178,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
     OPTIMIZATION := HIGH, \
     CFLAGS := $(LIBJLI_CFLAGS) $(LIBZ_CFLAGS), \
     DISABLED_WARNINGS_gcc := unused-function unused-variable, \
+    DISABLED_WARNINGS_gcc_java.c := format-truncation, \
     DISABLED_WARNINGS_clang := deprecated-non-prototype format-nonliteral \
         unused-function, \
     DISABLED_WARNINGS_clang_java_md_macosx.m := unused-variable, \

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

Commit messages:
 - 8345016: [ASAN] java.c false positive ‘%s’ directive argument is null [-Werror=format-truncation=]

Changes: https://git.openjdk.org/jdk/pull/22546/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=22546&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8345016
  Stats: 7 lines in 1 file changed: 7 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/22546.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22546/head:pull/22546

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


More information about the core-libs-dev mailing list