> On Dec 9, 2022, at 11:57 AM, Laurent Bourgès <lbour...@openjdk.org> wrote:
>
> On Thu, 8 Dec 2022 19:41:16 GMT, Xue-Lei Andrew Fan <xue...@openjdk.org>
> wrote:
>
>>> Hi,
>>>
>>> May I have this update reviewed?
>>>
>>> The sprintf is deprecated in Xcode 14 because of security concerns, and the
>>> use of it causing building failure. The build could pass if warnings are
>>> disabled for codes that use sprintf method. For the long run, the sprintf
>>> could be replaced with snprintf. This patch is trying to check if snprintf
>>> could be used.
>>>
>>> Thanks,
>>> Xuelei
>>
>> Xue-Lei Andrew Fan has updated the pull request with a new target base due
>> to a merge or a rebase. The incremental webrev excludes the unrelated
>> changes brought in by the merge/rebase. The pull request contains 24
>> additional commits since the last revision:
>>
>> - adlc update per review
>> - Merge
>> - update on review feedback
>> - comment for snprintf_checked
>> - use checked snprintf for adlc
>> - use checked snprintf
>> - no check on adlc
>> - revert use of assert
>> - extra sizeof typo
>> - more size_t updare for windows build
>> - ... and 14 more: https://git.openjdk.org/jdk/compare/2309602b...49bb58fd
>
> LGTM, build on macos 13 + xcode 14.1 (x64): OK
>
> I run successfully few applications with built jdk image...
>
>
> Configuration summary:
> * Name: macosx-x86_64-server-release
> * Debug level: release
> * HS debug level: product
> * JVM variants: server
> * JVM features: server: 'cds compiler1 compiler2 dtrace epsilongc g1gc jfr
> jni-check jvmci jvmti management parallelgc serialgc services shenandoahgc
> vm-structs zgc'
> * OpenJDK target: OS: macosx, CPU architecture: x86, address length: 64
> * Version string: 20-internal-adhoc.jmmc.jdk-gh (20-internal)
> * Source date: 1670605929 (2022-12-09T17:12:09Z)
>
> Tools summary:
> * Boot JDK: openjdk version "20-ea" 2023-03-21 OpenJDK Runtime
> Environment (build 20-ea+26-2022) OpenJDK 64-Bit Server VM (build
> 20-ea+26-2022, mixed mode, sharing) (at
> /Users/jmmc/apps/jdk-20.jdk/Contents/Home)
> * Toolchain: clang (clang/LLVM from Xcode 14.1)
> * Sysroot:
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk
> * C Compiler: Version 14.0.0 (at /usr/bin/clang)
> * C++ Compiler: Version 14.0.0 (at /usr/bin/clang++)
>
> -------------
>
> PR: https://git.openjdk.org/jdk/pull/11115
Fwiw, Where I seem to differ…
macOS 12.6
* Version string: 20-internal-adhoc.mjh.jdk (20-internal)
* Source date: 1668643046 (2022-11-16T23:57:26Z)
* Boot JDK: openjdk version "19" 2022-09-20 OpenJDK Runtime Environment
(build 19+36-2238) OpenJDK 64-Bit Server VM (build 19+36-2238, mixed mode,
sharing) (at /Library/Java/JavaVirtualMachines/jdk-19.jdk/Contents/Home)
But it did build without the cmstypes errors.
Attempting tier 1 tests showed an sprintf deprecation error as follows…
=== Output from failing command(s) repeated here ===
* For target
support_test_hotspot_jtreg_native_support_libAsyncExceptionOnMonitorEnter_libAsyncExceptionOnMonitorEnter.o:
/Users/mjh/Documents/GitHub/jdk/test/hotspot/jtreg/runtime/Thread/libAsyncExceptionOnMonitorEnter.cpp:37:3:
error: 'sprintf' is deprecated: This function is provided for compatibility
reasons only. Due to security concerns inherent in the design of sprintf(3),
it is highly recommended that you use snprintf(3) instead.
[-Werror,-Wdeprecated-declarations]
sprintf(name, "MyRawMonitor");
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk/usr/include/stdio.h:188:1:
note: 'sprintf' has been explicitly marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.
Due to security concerns inherent in the design of sprintf(3), it is highly
recommended that you use snprintf(3) instead.")
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk/usr/include/sys/cdefs.h:215:48:
note: expanded from macro '__deprecated_msg'
#define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
^
1 error generated.