Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
021a2f3
8385507: Bump update version for OpenJDK: jdk-25.0.5
GoeLin Jun 3, 2026
12b4515
8247690: RunTest does not support running of JTREG manual tests
jerboaa Jun 3, 2026
cab0f95
8362884: [GCC static analyzer] unix NetworkInterface.c addif leak on …
fthevenet Jun 3, 2026
3729e03
8385584: CAInterop.java#buypassclass3ca fails with Intermediate Root …
jerboaa Jun 3, 2026
b0aebfd
8374886: CAInterop.java#microsoftrsa2017 test fails as EE certificate…
jerboaa Jun 3, 2026
fcc82d0
8360116: Add support for AVX10 floating point minmax instruction
Jun 4, 2026
a0f7604
8375125: assert(false) failed: "Attempting to acquire lock NativeHeap…
GoeLin Jun 8, 2026
42174d8
8378462: Build fails with --enable-linktime-gc set when using some de…
MBaesken Jun 9, 2026
c6388b2
8378180: Compiling OpenJDK with C23 C-Compiler gives warning: initial…
fthevenet Jun 10, 2026
1430c4c
Merge
GoeLin Jun 10, 2026
395159d
8364106: Include java.runtime.version in thread dump output
Jun 10, 2026
5a9b65b
8372546: UnixMultiResolutionSplashTest.java fails intermittently on U…
Jun 10, 2026
59e4f5c
8385165: [ubsan] TestDockerMemoryMetricsSubgroup.java jtreg test fail…
MBaesken Jun 11, 2026
b177fb8
8382166: [AOT Cache] CRC was not checked on Code Region
Jun 12, 2026
8fd86ab
8386345: Remove redundant @requires from TestGarbageCollectionEventWi…
GoeLin Jun 15, 2026
86e5f47
8366926: Unexpected exception occurs when executing code in a "local"…
GoeLin Jun 15, 2026
5d05ef0
8372731: Detailed authentication failure messages
GoeLin Jun 15, 2026
6d212e8
8386551: Windows build broken because of MSys2/Make update
GoeLin Jun 16, 2026
fcc3f6b
8381771: Add a check for DNS label not to end with a hyphen
Jun 16, 2026
11743f5
8369447: GenShen: Regulator thread may observe inconsistent states
Jun 16, 2026
3674bc6
8364305: Support AVX10 saturating floating point conversion instructions
Jun 16, 2026
58ef22f
8383611: assert(count == os::processor_count() + 1) failed: invalid e…
raneashay Jun 17, 2026
3060b04
8368861: [TEST] compiler/floatingpoint/ScalarFPtoIntCastTest.java exp…
Jun 17, 2026
5803dd3
8376400: C2: folding ifs may cause incorrect execution when trap is t…
rwestrel Jun 18, 2026
15629b7
8369488: Update to use jtreg 8.1
GoeLin Jun 19, 2026
653ff49
8376355: Update to use jtreg 8.2.1
GoeLin Jun 19, 2026
19fd4bc
8341382: EXCEPTION_ACCESS_VIOLATION in awt.dll after JDK-8185862
GoeLin Jun 19, 2026
ff40bdf
8378838: Fix issues with "dead" code elimination and serviceability a…
MBaesken Jun 19, 2026
4450293
8351842: Windows specific issues in combination of JEP 493 and --with…
MBaesken Jun 19, 2026
2946429
8385454: Provide more NUMA related information in hsinfo/hserr files
MBaesken Jun 19, 2026
ca10ac5
8373246: JDK-8351842 broke native debugging on Linux
MBaesken Jun 19, 2026
2fc458b
8367027: java/lang/ProcessBuilder/Basic.java fails on Windows AArch64
Jun 22, 2026
a1206f0
8386578: double_keccak stub does not set its return value on x86
Jun 22, 2026
85925b9
Merge
GoeLin Jun 24, 2026
567ecce
8380993: [REDO] Incorrect Interpretation of POSIX TZ Environment Vari…
srutjay Jun 25, 2026
d721341
8365579: ml64.exe is not the right assembler for Windows aarch64
raneashay Jun 29, 2026
5aeda18
8357220: Introduce a BSMAttributeEntry struct
GoeLin Jun 29, 2026
6fc6063
8368073: PKCS11 HKDF can't use byte array IKM in FIPS mode
GoeLin Jun 29, 2026
eb4b360
8378211: Test ChangedJarFile.java failed: missing "timestamp has chan…
GoeLin Jun 29, 2026
2dd96cd
8372615: Many container tests fail when running rootless on cgroup v1
GoeLin Jun 29, 2026
b84eb05
8368514: TLS stateless session ticket decryption fails on some providers
GoeLin Jun 29, 2026
1ddfb33
8382063: Jtreg test javax/swing/SwingWorker/TestDoneBeforeDoInBackgro…
ArnoZeller Jul 1, 2026
de3cb2f
8361125: Fix typo in onTradAbsence
GoeLin Jul 1, 2026
3b47a4e
8368520: TLS 1.3 KeyUpdate fails with SunPKCS11 provider
GoeLin Jul 1, 2026
7ec1d5f
8377991: TestLimitsUpdating.java fails with runtime exception even af…
GoeLin Jul 1, 2026
b0d5b7d
8352565: Add native method implementation of Reference.get()
chmielewskiandreas Jul 1, 2026
137b05b
8387381: RISC-V: assert failed with fastdebug build on systems with d…
zifeihan Jul 2, 2026
acbebd5
8379516: Adjust JVM debug helper exports
MBaesken Jul 2, 2026
7f6b120
8381840: Lots of /tmp/8173970-<number> folders on test machines
ArnoZeller Jul 6, 2026
3e7cdc8
8382222: sun/security/ssl/SSLSocketImpl/SSLSocketBruteForceClose.java…
ArnoZeller Jul 6, 2026
d380cc8
8384161: [PPC64] Consolidate code related to calls in nmethods that u…
reinrich Jul 6, 2026
a432e7e
8365426: [macos26] Graphics2D tests fail on new macOS 26
Jul 6, 2026
074560f
8384804: JMX remote bootstrap tests fail on Windows
raneashay Jul 8, 2026
d3342fe
8375352: java/net/httpclient/ConnectTimeoutWithProxy*.java tests fail…
raneashay Jul 8, 2026
03d9056
8380896: Reduce runtime for MonitorVmStartTerminate.java on hosts wit…
ArnoZeller Jul 8, 2026
92590ce
8348862: runtime/ErrorHandling/CreateCoredumpOnCrash fails on Windows…
raneashay Jul 8, 2026
e5ff6ce
8349535: Refactor ./pkcs11/Provider/MultipleLogins.sh to java test
raneashay Jul 8, 2026
6bbae6d
8372757: MacOS, Accessibility: Crash in [MenuAccessibility accessibil…
MBaesken Jul 10, 2026
009a192
8385817: Headless jdk still contains bin/jconsole
MBaesken Jul 10, 2026
9f38d9a
8385166: PPC: C2: c_return_value and return_value should not set 2nd …
reinrich Jul 11, 2026
2b36443
8387015: C2: crash with "named projection 2 not found" from ArrayCopy…
rwestrel Jul 13, 2026
b2e10cf
8379129: C2 crash in LoadNode::can_split_through_phi_base during Esca…
olivergillespie Jul 13, 2026
25379ba
8380390: Shenandoah: Missing store barrier when resetting bitmaps
Jul 13, 2026
f45ef0c
8360934: Add AVX-512 intrinsics for ML-KEM - enhancement on AVX512_VBMI
Jul 14, 2026
52d3822
8374755: ML-KEM's 12-bit decompression can be simplified on aarch64
Jul 14, 2026
6224bfc
8347901: C2 should remove unused leaf / pure runtime calls
tabjy Jul 15, 2026
a709f64
8386852: Lower peak throughput with AOTCache
Jul 16, 2026
c259a22
8378713: C2: performance regression due to missing constant folding f…
tabjy Jul 16, 2026
eea95f3
8387985: sun/tools/jstat shell tests fail on platforms that do not su…
Jul 16, 2026
fe46233
Merge
GoeLin Jul 22, 2026
474cc11
8369020: Test compiler/intrinsics/TestLongUnsignedDivMod.java complet…
Jul 22, 2026
746b1c2
8370653: Fix race in CompressedClassSpaceSizeInJmapHeap.java
Jul 22, 2026
52a01cf
8365498: jdk/jfr/event/os/TestCPULoad.java fails with Expected at lea…
RealCLanger Jul 23, 2026
c53c4d9
8387625: Add "dt_socket" to `CheckedFeatures.notImplemented` for Wind…
raneashay Jul 23, 2026
d9aa7a3
8388703: Launching with AOT cache fatally crashes with SIGILL (0x4) d…
Jul 24, 2026
21d24d2
8372625: [Linux] Remove unnecessary logic for supports_fast_thread_cp…
mmm-choi Jul 27, 2026
6f795f7
8387593: Using XOR mode to clear the content leaves some traces in metal
GoeLin Jul 29, 2026
3334974
8352728: InternalError loading java.security due to Windows parent fo…
franferrax Jul 30, 2026
4e2eb85
8377983: (zipfs) ZipFileSystem.initCEN needlessly reads END header
GoeLin Aug 1, 2026
80e832d
8365893: test/jdk/java/lang/Thread/virtual/JfrEvents.java failing int…
Aug 2, 2026
864929f
8372584: [Linux]: Replace reading proc to get thread user CPU time wi…
mmm-choi Aug 3, 2026
ba20602
7067310: 3 tests from closed/javax/sound/sampled caused BSOD on win 7…
Aug 3, 2026
b08da48
8343232: PKCS#12 KeyStore support for RFC 9879: Use of Password-Based…
Aug 3, 2026
49fc8c9
8368694: PKCS11-NSS generic keys generated by DH have leading zeroes …
Aug 3, 2026
1fffa46
8367656: Refactor Constantpool's operand array into two
Aug 3, 2026
83e90e7
8314323: Implement JEP 527: TLS 1.3 Hybrid Key Exchange
Aug 3, 2026
fadd739
8379433: Throwing proper exception for invalid encapsulation length i…
Aug 3, 2026
8616dd9
8362894: PKCS12 KeyStore PBMAC1 interoperability testing
Aug 3, 2026
2a26511
8377992: (zipfs) Align ZipFileSystem END header validation with the Z…
GoeLin Aug 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .jcheck/conf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[general]
project=jdk-updates
jbs=JDK
version=25.0.4
version=25.0.5

[checks]
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists,copyright
Expand Down
2 changes: 2 additions & 0 deletions doc/testing.html
Original file line number Diff line number Diff line change
Expand Up @@ -523,6 +523,8 @@ <h4 id="repeat_count">REPEAT_COUNT</h4>
<h4 id="report">REPORT</h4>
<p>Use this report style when reporting test results (sent to JTReg as
<code>-report</code>). Defaults to <code>files</code>.</p>
<h4 id="manual">MANUAL</h4>
<p>Set to <code>true</code> to execute manual tests only.</p>
<h3 id="gtest-keywords">Gtest keywords</h3>
<h4 id="repeat">REPEAT</h4>
<p>The number of times to repeat the tests
Expand Down
4 changes: 4 additions & 0 deletions doc/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -499,6 +499,10 @@ helps to reproduce intermittent test failures. Defaults to 0.
Use this report style when reporting test results (sent to JTReg as `-report`).
Defaults to `files`.

#### MANUAL

Set to `true` to execute manual tests only.

### Gtest keywords

#### REPEAT
Expand Down
79 changes: 3 additions & 76 deletions make/Bundles.gmk
Original file line number Diff line number Diff line change
Expand Up @@ -125,13 +125,6 @@ define SetupBundleFileBody
&& $(TAR) cf - -$(TAR_INCLUDE_PARAM) $$($1_$$d_LIST_FILE) \
$(TAR_IGNORE_EXIT_VALUE) ) \
| ( $(CD) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) && $(TAR) xf - )$$(NEWLINE) )
# Rename stripped pdb files
ifeq ($(call isTargetOs, windows)+$(SHIP_DEBUG_SYMBOLS), true+public)
for f in `$(FIND) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) -name "*.stripped.pdb"`; do \
$(ECHO) Renaming $$$${f} to $$$${f%stripped.pdb}pdb $(LOG_INFO); \
$(MV) $$$${f} $$$${f%stripped.pdb}pdb; \
done
endif
# Unzip any zipped debuginfo files
ifeq ($$($1_UNZIP_DEBUGINFO), true)
for f in `$(FIND) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) -name "*.diz"`; do \
Expand Down Expand Up @@ -192,96 +185,30 @@ endif

ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )

SYMBOLS_EXCLUDE_PATTERN := %.debuginfo %.diz %.map

# There may be files with spaces in the names, so use ShellFindFiles
# explicitly.
# There may be files with spaces in the names, so use ShellFindFiles explicitly.
ALL_JDK_FILES := $(call ShellFindFiles, $(JDK_IMAGE_DIR))
ifneq ($(JDK_IMAGE_DIR), $(JDK_SYMBOLS_IMAGE_DIR))
ALL_JDK_SYMBOLS_FILES := $(call ShellFindFiles, $(JDK_SYMBOLS_IMAGE_DIR))
else
ALL_JDK_SYMBOLS_FILES := $(ALL_JDK_FILES)
endif
ifneq ($(JDK_IMAGE_DIR), $(JDK_DEMOS_IMAGE_DIR))
ALL_JDK_DEMOS_FILES := $(call ShellFindFiles, $(JDK_DEMOS_IMAGE_DIR))
else
ALL_JDK_DEMOS_FILES := $(ALL_JDK_FILES)
endif

# Create special filter rules when dealing with unzipped .dSYM directories on
# macosx
ifeq ($(call isTargetOs, macosx), true)
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
JDK_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
$(call containing, .dSYM/, $(patsubst $(JDK_IMAGE_DIR)/%, %, \
$(ALL_JDK_SYMBOLS_FILES))))
endif
endif

# Create special filter rules when dealing with debug symbols on windows
ifeq ($(call isTargetOs, windows), true)
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JDK_SYMBOLS_EXCLUDE_PATTERN := %.pdb
else
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
JDK_SYMBOLS_EXCLUDE_PATTERN := \
$(filter-out \
%.stripped.pdb, \
$(filter %.pdb, $(ALL_JDK_FILES)) \
)
endif
endif
endif

JDK_BUNDLE_FILES := \
$(filter-out \
$(JDK_SYMBOLS_EXCLUDE_PATTERN) \
$(JDK_EXTRA_EXCLUDES) \
$(SYMBOLS_EXCLUDE_PATTERN) \
$(JDK_IMAGE_HOMEDIR)/demo/% \
, \
$(ALL_JDK_FILES) \
)

JDK_SYMBOLS_BUNDLE_FILES := \
$(filter-out \
%.stripped.pdb, \
$(call FindFiles, $(SYMBOLS_IMAGE_DIR)) \
)
JDK_SYMBOLS_BUNDLE_FILES := $(call FindFiles, $(SYMBOLS_IMAGE_DIR))

TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_DEMOS_IMAGE_HOMEDIR)/demo/%, \
$(ALL_JDK_DEMOS_FILES))

ALL_JRE_FILES := $(call ShellFindFiles, $(JRE_IMAGE_DIR))

# Create special filter rules when dealing with unzipped .dSYM directories on
# macosx
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
JRE_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
$(call containing, .dSYM/, $(patsubst $(JRE_IMAGE_DIR)/%, %, $(ALL_JRE_FILES))))
endif
endif

# Create special filter rules when dealing with debug symbols on windows
ifeq ($(call isTargetOs, windows), true)
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JRE_SYMBOLS_EXCLUDE_PATTERN := %.pdb
else
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
JRE_SYMBOLS_EXCLUDE_PATTERN := \
$(filter-out \
%.stripped.pdb, \
$(filter %.pdb, $(ALL_JRE_FILES)) \
)
endif
endif
endif

JRE_BUNDLE_FILES := $(filter-out \
$(JRE_SYMBOLS_EXCLUDE_PATTERN) \
$(SYMBOLS_EXCLUDE_PATTERN), \
$(ALL_JRE_FILES))
JRE_BUNDLE_FILES := $(ALL_JRE_FILES)

ifeq ($(MACOSX_CODESIGN_MODE), hardened)
# Macosx release build and code signing available.
Expand Down
8 changes: 6 additions & 2 deletions make/CreateJmods.gmk
Original file line number Diff line number Diff line change
Expand Up @@ -218,10 +218,14 @@ ifeq ($(call isTargetOs, windows), true)
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.pdb,*.map}'
else
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.map}'
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.map}'
endif
else
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
else
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*}'
endif
endif

# Unless we are creating a very large module, use the small tool JVM options
Expand Down
22 changes: 13 additions & 9 deletions make/Images.gmk
Original file line number Diff line number Diff line change
Expand Up @@ -282,29 +282,33 @@ else
endif
CMDS_TARGET_SUBDIR := bin

# Param 1 - either JDK or JRE
# Copy debug info files into symbols bundle.
# In case of Windows and --with-external-symbols-in-bundles=public, take care to remove *.stripped.pdb files
SetupCopyDebuginfo = \
$(foreach m, $(ALL_$1_MODULES), \
$(eval dbgfiles := $(call FindDebuginfoFiles, $(SUPPORT_OUTPUTDIR)/modules_libs/$m)) \
$(eval dbgfiles := $(if $(filter true+public,$(call isTargetOs,windows)+$(SHIP_DEBUG_SYMBOLS)), \
$(filter-out %.stripped.pdb,$(dbgfiles)),$(dbgfiles)) \
) \
$(eval $(call SetupCopyFiles, COPY_$1_LIBS_DEBUGINFO_$m, \
SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/$m, \
DEST := $($1_IMAGE_DIR)/$(LIBS_TARGET_SUBDIR), \
FILES := $(call FindDebuginfoFiles, \
$(SUPPORT_OUTPUTDIR)/modules_libs/$m), \
FILES := $(dbgfiles), \
)) \
$(eval $1_TARGETS += $$(COPY_$1_LIBS_DEBUGINFO_$m)) \
$(eval dbgfiles := $(call FindDebuginfoFiles, $(SUPPORT_OUTPUTDIR)/modules_cmds/$m)) \
$(eval dbgfiles := $(if $(filter true+public,$(call isTargetOs,windows)+$(SHIP_DEBUG_SYMBOLS)), \
$(filter-out %.stripped.pdb,$(dbgfiles)),$(dbgfiles)) \
) \
$(eval $(call SetupCopyFiles, COPY_$1_CMDS_DEBUGINFO_$m, \
SRC := $(SUPPORT_OUTPUTDIR)/modules_cmds/$m, \
DEST := $($1_IMAGE_DIR)/$(CMDS_TARGET_SUBDIR), \
FILES := $(call FindDebuginfoFiles, \
$(SUPPORT_OUTPUTDIR)/modules_cmds/$m), \
FILES := $(dbgfiles), \
)) \
$(eval $1_TARGETS += $$(COPY_$1_CMDS_DEBUGINFO_$m)) \
)

# No space before argument to avoid having to put $(strip ) everywhere in
# implementation above.
$(call SetupCopyDebuginfo,JDK)
$(call SetupCopyDebuginfo,JRE)
# No space before argument to avoid having to put $(strip ) everywhere in implementation above.
$(call SetupCopyDebuginfo,SYMBOLS)

################################################################################
Expand Down
11 changes: 9 additions & 2 deletions make/RunTests.gmk
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,8 @@ $(eval $(call SetTestOpt,AOT_JDK,JTREG))
$(eval $(call ParseKeywordVariable, JTREG, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR FAILURE_HANDLER_TIMEOUT \
TEST_MODE ASSERT VERBOSE RETAIN TEST_THREAD_FACTORY MAX_MEM RUN_PROBLEM_LISTS \
RETRY_COUNT REPEAT_COUNT MAX_OUTPUT REPORT AOT_JDK $(CUSTOM_JTREG_SINGLE_KEYWORDS), \
RETRY_COUNT REPEAT_COUNT MAX_OUTPUT REPORT AOT_JDK MANUAL \
$(CUSTOM_JTREG_SINGLE_KEYWORDS), \
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \
EXTRA_PROBLEM_LISTS LAUNCHER_OPTIONS \
$(CUSTOM_JTREG_STRING_KEYWORDS), \
Expand Down Expand Up @@ -901,7 +902,13 @@ define SetupRunJtregTestBody
-vmoption:-Dtest.boot.jdk="$$(BOOT_JDK)" \
-vmoption:-Djava.io.tmpdir="$$($1_TEST_TMP_DIR)"

$1_JTREG_BASIC_OPTIONS += -automatic -ignore:quiet
$1_JTREG_BASIC_OPTIONS += -ignore:quiet

ifeq ($$(JTREG_MANUAL), true)
$1_JTREG_BASIC_OPTIONS += -manual
else
$1_JTREG_BASIC_OPTIONS += -automatic
endif

# Make it possible to specify the JIB_DATA_DIR for tests using the
# JIB Artifact resolver
Expand Down
5 changes: 1 addition & 4 deletions make/autoconf/flags-cflags.m4
Original file line number Diff line number Diff line change
Expand Up @@ -531,12 +531,9 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fstack-protector"
TOOLCHAIN_CFLAGS_JDK="-fvisibility=hidden -pipe -fstack-protector"
# reduce lib size on linux in link step, this needs also special compile flags
# do this on s390x also for libjvm (where serviceability agent is not supported)
if test "x$ENABLE_LINKTIME_GC" = xtrue; then
TOOLCHAIN_CFLAGS_JDK="$TOOLCHAIN_CFLAGS_JDK -ffunction-sections -fdata-sections"
if test "x$OPENJDK_TARGET_CPU" = xs390x && test "x$DEBUG_LEVEL" == xrelease; then
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -fdata-sections"
fi
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -fdata-sections"
fi
# technically NOT for CXX (but since this gives *worse* performance, use
# no-strict-aliasing everywhere!)
Expand Down
15 changes: 7 additions & 8 deletions make/autoconf/flags-ldflags.m4
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -51,17 +51,16 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
# add -z,now ("full relro" - more of the Global Offset Table GOT is marked read only)
# add --no-as-needed to disable default --as-needed link flag on some GCC toolchains
BASIC_LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -Wl,--no-as-needed -Wl,--exclude-libs,ALL"

BASIC_LDFLAGS_JVM_ONLY=""
# Linux : remove unused code+data in link step
if test "x$ENABLE_LINKTIME_GC" = xtrue; then
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,--gc-sections"
else
BASIC_LDFLAGS_JDK_ONLY="$BASIC_LDFLAGS_JDK_ONLY -Wl,--gc-sections"
fi
# keep vtables : -Wl,--undefined-glob=_ZTV* (but this seems not to work with gold ld)
# so keep at least the Metadata vtable that is used in the serviceability agent
BASIC_LDFLAGS_JVM_ONLY="$BASIC_LDFLAGS_JVM_ONLY -Wl,--gc-sections -Wl,--undefined=_ZTV8Metadata"
BASIC_LDFLAGS_JDK_ONLY="$BASIC_LDFLAGS_JDK_ONLY -Wl,--gc-sections"
fi

BASIC_LDFLAGS_JVM_ONLY=""

LDFLAGS_CXX_PARTIAL_LINKING="$MACHINE_FLAG -r"

elif test "x$TOOLCHAIN_TYPE" = xclang; then
Expand Down
8 changes: 6 additions & 2 deletions make/autoconf/flags-other.m4
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -115,7 +115,11 @@ AC_DEFUN([FLAGS_SETUP_ASFLAGS],
# Force preprocessor to run, just to make sure
BASIC_ASFLAGS="-x assembler-with-cpp"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
BASIC_ASFLAGS="-nologo -c"
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
BASIC_ASFLAGS="-nologo"
else
BASIC_ASFLAGS="-nologo -c"
fi
fi
AC_SUBST(BASIC_ASFLAGS)

Expand Down
27 changes: 20 additions & 7 deletions make/autoconf/jdk-options.m4
Original file line number Diff line number Diff line change
Expand Up @@ -327,23 +327,36 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
AC_MSG_CHECKING([if we should add external native debug symbols to the shipped bundles])
AC_ARG_WITH([external-symbols-in-bundles],
[AS_HELP_STRING([--with-external-symbols-in-bundles],
[which type of external native debug symbol information shall be shipped in product bundles (none, public, full)
(e.g. ship full/stripped pdbs on Windows) @<:@none@:>@])])
[which type of external native debug symbol information shall be shipped with bundles/images (none, public, full).
@<:@none in release builds, full otherwise. --with-native-debug-symbols=external/zipped is a prerequisite. public is only supported on Windows@:>@])],
[],
[with_external_symbols_in_bundles=default])

if test "x$with_external_symbols_in_bundles" = x || test "x$with_external_symbols_in_bundles" = xnone ; then
AC_MSG_RESULT([no])
elif test "x$with_external_symbols_in_bundles" = xfull || test "x$with_external_symbols_in_bundles" = xpublic ; then
if test "x$OPENJDK_TARGET_OS" != xwindows ; then
AC_MSG_ERROR([--with-external-symbols-in-bundles currently only works on windows!])
elif test "x$COPY_DEBUG_SYMBOLS" != xtrue ; then
AC_MSG_ERROR([--with-external-symbols-in-bundles only works when --with-native-debug-symbols=external is used!])
elif test "x$with_external_symbols_in_bundles" = xfull ; then
if test "x$COPY_DEBUG_SYMBOLS" != xtrue ; then
AC_MSG_ERROR([--with-external-symbols-in-bundles only works when --with-native-debug-symbols=external/zipped is used!])
elif test "x$with_external_symbols_in_bundles" = xpublic && test "x$OPENJDK_TARGET_OS" != xwindows ; then
AC_MSG_ERROR([--with-external-symbols-in-bundles=public is only supported on Windows!])
fi

if test "x$with_external_symbols_in_bundles" = xfull ; then
AC_MSG_RESULT([full])
SHIP_DEBUG_SYMBOLS=full
else
AC_MSG_RESULT([public])
SHIP_DEBUG_SYMBOLS=public
fi
elif test "x$with_external_symbols_in_bundles" = xdefault ; then
if test "x$DEBUG_LEVEL" = xrelease ; then
AC_MSG_RESULT([no (default)])
elif test "x$COPY_DEBUG_SYMBOLS" = xtrue ; then
AC_MSG_RESULT([full (default)])
SHIP_DEBUG_SYMBOLS=full
else
AC_MSG_RESULT([no (default, native debug symbols are not external/zipped)])
fi
else
AC_MSG_ERROR([$with_external_symbols_in_bundles is an unknown value for --with-external-symbols-in-bundles])
fi
Expand Down
4 changes: 2 additions & 2 deletions make/autoconf/lib-tests.m4
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 2026, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -28,7 +28,7 @@
################################################################################

# Minimum supported versions
JTREG_MINIMUM_VERSION=8
JTREG_MINIMUM_VERSION=8.2.1
GTEST_MINIMUM_VERSION=1.14.0

################################################################################
Expand Down
7 changes: 5 additions & 2 deletions make/autoconf/toolchain.m4
Original file line number Diff line number Diff line change
Expand Up @@ -655,8 +655,11 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
AS="$CC -c"
else
if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
# On 64 bit windows, the assembler is "ml64.exe"
if test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
# On Windows aarch64, the assembler is "armasm64.exe"
UTIL_LOOKUP_TOOLCHAIN_PROGS(AS, armasm64)
elif test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
# On Windows x64, the assembler is "ml64.exe"
UTIL_LOOKUP_TOOLCHAIN_PROGS(AS, ml64)
else
# otherwise, the assembler is "ml.exe"
Expand Down
8 changes: 7 additions & 1 deletion make/common/native/CompileFile.gmk
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,12 @@ define CreateCompiledNativeFileBody
endif
$1_FLAGS := $$($1_FLAGS) -DASSEMBLY_SRC_FILE='"$$($1_REL_ASM_SRC)"' \
-include $(TOPDIR)/make/data/autoheaders/assemblyprefix.h
else ifeq ($(TOOLCHAIN_TYPE), microsoft)
ifeq ($(OPENJDK_TARGET_CPU), aarch64)
$1_NON_ASM_EXTENSION_FLAG :=
else
$1_NON_ASM_EXTENSION_FLAG := "-Ta"
endif
endif
else ifneq ($$(filter %.cpp %.cc %.mm, $$($1_FILENAME)), )
# Compile as a C++ or Objective-C++ file
Expand Down Expand Up @@ -236,7 +242,7 @@ define CreateCompiledNativeFileBody
# For assembler calls just create empty dependency lists
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
$$($1_COMPILER) $$($1_FLAGS) \
$(CC_OUT_OPTION)$$($1_OBJ) -Ta $$($1_SRC_FILE))) \
$(CC_OUT_OPTION)$$($1_OBJ) $$($1_NON_ASM_EXTENSION_FLAG) $$($1_SRC_FILE))) \
| $(TR) -d '\r' | $(GREP) -v -e "Assembling:" || test "$$$$?" = "1" ; \
$(ECHO) > $$($1_DEPS_FILE) ; \
$(ECHO) > $$($1_DEPS_TARGETS_FILE)
Expand Down
Loading
Loading