[jdk8u-dev] RFR: 8074840: Resolve disabled warnings for libjli and libjli_static
Andrew John Hughes
andrew at openjdk.org
Fri Jan 9 02:52:39 UTC 2026
On Mon, 8 Dec 2025 18:55:16 GMT, Zdenek Zambersky <zzambers at openjdk.org> wrote:
> Backport, which fixes compiler errors/warnings in libjli.
>
> **Motivation:**
> - to fix compilation error (and some warnings) on macos-15 (clang):
>
> ...
> 2025-11-19T17:50:19.3284070Z /Users/runner/work/jdk8u-dev/jdk8u-dev/jdk/jdk/src/share/bin/parse_manifest.c:680:12: note: use '==' to turn this assignment into an equality comparison
> 2025-11-19T17:50:19.3285850Z 680 | if (rc = find_file(fd, &entry, manifest_name) != 0) {
> 2025-11-19T17:50:19.3286370Z | ^
> 2025-11-19T17:50:19.3287050Z | ==
> 2025-11-19T17:50:19.3287530Z 4 warnings generated.
> 2025-11-19T17:50:19.3289930Z /Users/runner/work/jdk8u-dev/jdk8u-dev/jdk/jdk/src/share/bin/splashscreen_stubs.c:64:30: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'int' [-Wint-conversion]
> 2025-11-19T17:50:19.3291940Z 64 | INVOKE(SplashLoadMemory, NULL)(pdata, size);
> 2025-11-19T17:50:19.3292900Z | ^~~~
> ...
>
>
> **Differences in 8:**
> - excluded changes in `jdk/make/lib/CoreLibraries.gmk` due to differences in build system (not applicable to 8)
> - excluded cast of `STACK_SIZE_MINIMUM` in `java.c`, as [JDK-6762191](https://bugs.openjdk.org/browse/JDK-6762191), which adds that code, is missing in 8
> - excluded modifications to `readAt` function in `parse_manifest.c`, as function was added by [JDK-8073158](https://bugs.openjdk.org/browse/JDK-8073158), which is missing in 8
> - copyright differences due to missing backports or backport applied out of order (some had to be updated manually)
> - differences in paths
>
> Apart from above differences most of remaining code changes applied cleanly (with updated paths).
>
> **Testing:**
> Tier1 in GHA: **OK** (Failures of `TestCPUAwareness.java` are [unrelated](https://github.com/openjdk/jdk8u-dev/pull/727))
Change looks good. Copyright header changes are adjusted appropriately and omissions understandable. The `ergo_i586.c` exclusion seems to be already covered by this `jdk/make/lib/CoreLibraries.gmk` logic in 8u:
~~~
# if the architecture specific ergo file exists then
# use it, else use the generic definitions from ergo.c
ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)), )
BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
else # !ERGO_ARCH_FILE
LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
endif # ERGO_ARCH_FILE
~~~
It only exists for Solaris.
It also seems to have been removed in 11u in [JDK-8169001](https://bugs.openjdk.org/browse/JDK-8169001).
-------------
Marked as reviewed by andrew (Reviewer).
PR Review: https://git.openjdk.org/jdk8u-dev/pull/733#pullrequestreview-3642116219
PR Comment: https://git.openjdk.org/jdk8u-dev/pull/733#issuecomment-3726809836
More information about the jdk8u-dev
mailing list