Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Jiangli Zhou
On Sat, 29 Apr 2023 01:44:07 GMT, Jiangli Zhou wrote: > > > Erik, could you please share your > > > `support/native/java.base/java/BUILD_LAUNCHER_javastatic_static_link.cmdline`? > > > This generated .cmdline file contains the static linking command. Here > > > is the linking command from my b

Re: RFR: 8303796: Optionally build fully statically linked JDK image [v2]

2023-04-28 Thread Jiangli Zhou
> Initial implementation for supporting building a fully statically linked > (with a desired set of JDK native libraries and libjvm) Java launcher > executable, which is named as 'javastatic'. > > In this PR, the support is only added for the linux platform. Both gcc and > clang can be supporte

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Jiangli Zhou
On Fri, 28 Apr 2023 23:25:17 GMT, Erik Joelsson wrote: > > Erik, could you please share your > > `support/native/java.base/java/BUILD_LAUNCHER_javastatic_static_link.cmdline`? > > This generated .cmdline file contains the static linking command. Here is > > the linking command from my build: >

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Jiangli Zhou
On Fri, 28 Apr 2023 18:28:51 GMT, Phil Race wrote: > Umm. Does this mean you are linking both headless and xawt into the same > image ? For the xawt case, we statically link with libawt.a and libawt_xawt.a in our early prototype. For headless case, we statically link with libawt.a and libawt_

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Jiangli Zhou
On Fri, 28 Apr 2023 18:25:14 GMT, Phil Race wrote: > Why not ? Surely you aren't statically linking every library you find on the > platform that's referenced by JDK ? > I mean its fine to say that I'd prefer to statically link this library, but I > don't understand the claim that this is the o

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Jiangli Zhou
On Sat, 29 Apr 2023 00:03:24 GMT, Jiangli Zhou wrote: > Based the initial feedback from you and other reviewers in the thread, I'll > repurpose this PR for handling the .a part only. I'll split the 'javastatic' > static linking part into a separate branch for needed discussions (including > th

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Jiangli Zhou
On Fri, 28 Apr 2023 19:40:34 GMT, Erik Joelsson wrote: > I think it would be rather beneficial if this linking step could be performed > by some variant of SetupNativeCompilation. We don't want to have to maintain > logic for dealing with different platforms and linkers outside of the common >

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Jiangli Zhou
On Fri, 28 Apr 2023 18:14:48 GMT, Erik Joelsson wrote: > > If I understand the make file changes proposed here, it runs the native > linker to create "javastatic" with the launcher, libjvm and other JNI libs > linked into one executable, this is generated and copied into the run-time > image

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Erik Joelsson
On Fri, 28 Apr 2023 22:32:34 GMT, Jiangli Zhou wrote: > Erik, could you please share your > `support/native/java.base/java/BUILD_LAUNCHER_javastatic_static_link.cmdline`? > This generated .cmdline file contains the static linking command. Here is > the linking command from my build: I can't s

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Jiangli Zhou
On Fri, 28 Apr 2023 18:16:07 GMT, Erik Joelsson wrote: > I pulled this PR and had a go at building it. For me it failed with errors > like this: > > ``` > /home/erik/git/jdk/build/linux-x64/images/static-libs/lib/libjvm.a(os_linux.o):os_linux.cpp:function > os::Linux::fast_thread_clock_init():

Integrated: 8307110: zero build broken after JDK-8304265

2023-04-28 Thread Jorn Vernee
On Fri, 28 Apr 2023 19:51:02 GMT, Jorn Vernee wrote: > These changes were accidentally omitted from > https://github.com/openjdk/jdk/pull/13079 > > When building the zero VM on aarch64 and linux-x86 in our CI, compilation of > `libFallbackLinker.c` can fail because the function `ffi_get_struct

Re: RFR: 8307110: zero build broken after JDK-8304265

2023-04-28 Thread Erik Joelsson
On Fri, 28 Apr 2023 19:51:02 GMT, Jorn Vernee wrote: > These changes were accidentally omitted from > https://github.com/openjdk/jdk/pull/13079 > > When building the zero VM on aarch64 and linux-x86 in our CI, compilation of > `libFallbackLinker.c` can fails because the function `ffi_get_struc

Re: RFR: 8307110: zero build broken after JDK-8304265

2023-04-28 Thread Jorn Vernee
On Fri, 28 Apr 2023 19:51:02 GMT, Jorn Vernee wrote: > These changes were accidentally omitted from > https://github.com/openjdk/jdk/pull/13079 > > When building the zero VM on aarch64 and linux-x86 in our CI, compilation of > `libFallbackLinker.c` fails because the function `ffi_get_struct_of

RFR: 8307110: zero build broken after JDK-8304265

2023-04-28 Thread Jorn Vernee
These changes were accidentally omitted from https://github.com/openjdk/jdk/pull/13079 When building the zero VM on aarch64 and linux-x86 in our CI, compilation of `libFallbackLinker.c` fails because the function `ffi_get_struct_offsets` can not be found. The issue is that the libffi version f

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Jiangli Zhou
On Fri, 28 Apr 2023 04:57:45 GMT, David Holmes wrote: > @jianglizhou I thought this work was proposed to be done under the Project > Leyden umbrella? The other static-build tweaks have been fine but this seems > to be part of a bigger, yet unspecified, project that may need to be covered > by

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Erik Joelsson
On Fri, 28 Apr 2023 01:03:28 GMT, Jiangli Zhou wrote: > Initial implementation for supporting building a fully statically linked > (with a desired set of JDK native libraries and libjvm) Java launcher > executable, which is named as 'javastatic'. > > In this PR, the support is only added for t

Re: RFR: JDK-8306112 Implementation of JEP 445: Flexible Main Methods and Anonymous Main Classes (Preview) [v2]

2023-04-28 Thread Jim Laskey
On Fri, 28 Apr 2023 17:51:58 GMT, Jan Lahoda wrote: >> I believe we were discussing this some time ago, and there were some >> problems. I don't recall the exact details, but I'll try to look into this >> later. > > I've sketched this: > https://github.com/lahodaj/jdk/commit/efe55f7d354ed7bbf91

Re: RFR: JDK-8306112 Implementation of JEP 445: Flexible Main Methods and Anonymous Main Classes (Preview) [v6]

2023-04-28 Thread Jim Laskey
> Add flexible main methods and anonymous main classes to the Java language. Jim Laskey has updated the pull request incrementally with two additional commits since the last revision: - Leave exception alone - Unused variables - Changes: - all: https://git.openjdk.org/jdk/pull/

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Phil Race
On Fri, 28 Apr 2023 01:03:28 GMT, Jiangli Zhou wrote: > Initial implementation for supporting building a fully statically linked > (with a desired set of JDK native libraries and libjvm) Java launcher > executable, which is named as 'javastatic'. > > In this PR, the support is only added for t

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Erik Joelsson
On Fri, 28 Apr 2023 11:59:52 GMT, Alan Bateman wrote: > If I understand the make file changes proposed here, it runs the native > linker to create "javastatic" with the launcher, libjvm and other JNI libs > linked into one executable, this is generated and copied into the run-time > image crea

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Erik Joelsson
On Fri, 28 Apr 2023 01:03:28 GMT, Jiangli Zhou wrote: > Initial implementation for supporting building a fully statically linked > (with a desired set of JDK native libraries and libjvm) Java launcher > executable, which is named as 'javastatic'. > > In this PR, the support is only added for t

Re: RFR: JDK-8306112 Implementation of JEP 445: Flexible Main Methods and Anonymous Main Classes (Preview) [v2]

2023-04-28 Thread Jan Lahoda
On Fri, 28 Apr 2023 13:01:33 GMT, Jan Lahoda wrote: >> I see that logic in JavaCompiler - I wonder if that's just the way it is, or >> if there's a deeper reason as to why the sourcefile is set on the toplevel >> unit *after* parsing (I don't think I can see any, in which case that might >> be

Re: RFR: JDK-8306112 Implementation of JEP 445: Flexible Main Methods and Anonymous Main Classes (Preview) [v5]

2023-04-28 Thread Jim Laskey
> Add flexible main methods and anonymous main classes to the Java language. Jim Laskey has updated the pull request incrementally with one additional commit since the last revision: Can't be invokeExact for instance main - Changes: - all: https://git.openjdk.org/jdk/pull/13689

Re: RFR: JDK-8306112 Implementation of JEP 445: Flexible Main Methods and Anonymous Main Classes (Preview) [v3]

2023-04-28 Thread Jim Laskey
On Fri, 28 Apr 2023 14:26:10 GMT, Jan Lahoda wrote: >> Jim Laskey has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains 14 commits: >> >> - Merge branch 'master' into 8306112 >> - PreviewFeatures.isEnabled() >> - Clean up isPreview >

Re: RFR: JDK-8306112 Implementation of JEP 445: Flexible Main Methods and Anonymous Main Classes (Preview) [v4]

2023-04-28 Thread Jim Laskey
> Add flexible main methods and anonymous main classes to the Java language. Jim Laskey has updated the pull request incrementally with one additional commit since the last revision: Recommended changes #1 - Changes: - all: https://git.openjdk.org/jdk/pull/13689/files - new:

Re: RFR: JDK-8306112 Implementation of JEP 445: Flexible Main Methods and Anonymous Main Classes (Preview) [v3]

2023-04-28 Thread Jim Laskey
On Fri, 28 Apr 2023 13:13:57 GMT, Jan Lahoda wrote: >> Jim Laskey has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains 14 commits: >> >> - Merge branch 'master' into 8306112 >> - PreviewFeatures.isEnabled() >> - Clean up isPreview >

Re: RFR: JDK-8306112 Implementation of JEP 445: Flexible Main Methods and Anonymous Main Classes (Preview) [v3]

2023-04-28 Thread Jim Laskey
On Fri, 28 Apr 2023 12:45:35 GMT, Jan Lahoda wrote: >> Jim Laskey has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains 14 commits: >> >> - Merge branch 'master' into 8306112 >> - PreviewFeatures.isEnabled() >> - Clean up isPreview >

Re: RFR: JDK-8306112 Implementation of JEP 445: Flexible Main Methods and Anonymous Main Classes (Preview) [v3]

2023-04-28 Thread Jan Lahoda
On Thu, 27 Apr 2023 18:21:56 GMT, Jim Laskey wrote: >> Add flexible main methods and anonymous main classes to the Java language. > > Jim Laskey has updated the pull request with a new target base due to a merge > or a rebase. The pull request now contains 14 commits: > > - Merge branch 'maste

Re: RFR: JDK-8306112 Implementation of JEP 445: Flexible Main Methods and Anonymous Main Classes (Preview) [v3]

2023-04-28 Thread Jan Lahoda
On Thu, 27 Apr 2023 18:21:56 GMT, Jim Laskey wrote: >> Add flexible main methods and anonymous main classes to the Java language. > > Jim Laskey has updated the pull request with a new target base due to a merge > or a rebase. The pull request now contains 14 commits: > > - Merge branch 'maste

Re: RFR: JDK-8306112 Implementation of JEP 445: Flexible Main Methods and Anonymous Main Classes (Preview) [v2]

2023-04-28 Thread Jan Lahoda
On Thu, 27 Apr 2023 20:34:44 GMT, Maurizio Cimadamore wrote: >> The source file name is not available until after parsing. > > I see that logic in JavaCompiler - I wonder if that's just the way it is, or > if there's a deeper reason as to why the sourcefile is set on the toplevel > unit *after

Integrated: JDK-8307063: When cross-compiling with hsdis/binutils, buildjdk creation fails

2023-04-28 Thread Antonios Printezis
On Thu, 27 Apr 2023 17:57:05 GMT, Antonios Printezis wrote: > Fix is to exclude hsdis when building the buildjdk. This pull request has now been integrated. Changeset: 83a98c66 Author:Antonios Printezis URL: https://git.openjdk.org/jdk/commit/83a98c66f1747fec3da77578b646498c4cb5637d

Re: RFR: JDK-8307063: When cross-compiling with hsdis/binutils, buildjdk creation fails [v3]

2023-04-28 Thread Antonios Printezis
On Thu, 27 Apr 2023 21:31:09 GMT, Erik Joelsson wrote: >> Marked as reviewed by erikj (Reviewer). > >> @erikj79 Thanks! I assume the integrate command will actually squash the >> three commits and rebase them on top of master as one commit? > > Yes, all you need to do is to issue the integrate

Re: RFR: 8303796: Optionally build fully statically linked JDK image

2023-04-28 Thread Alan Bateman
On Fri, 28 Apr 2023 01:03:28 GMT, Jiangli Zhou wrote: > Initial implementation for supporting building a fully statically linked > (with a desired set of JDK native libraries and libjvm) Java launcher > executable, which is named as 'javastatic'. > > In this PR, the support is only added for t