[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: RFR: 8307858: [REDO] JDK-8307194 Add make target for optionally building a complete set of all J
From:       Jiangli Zhou <jiangli () openjdk ! org>
Date:       2023-05-26 20:39:57
Message-ID: jtBYV_fBSlM7i2aj0NkKgGgHaaLZoFRAcMBzmQaANXI=.36852394-9b02-4646-8dae-dd512c3c8188 () github ! com
[Download RAW message or body]

On Wed, 24 May 2023 21:02:00 GMT, Jiangli Zhou <jiangli@openjdk.org> wrote:

> > Original description for JDK-8307194 change:
> > -----
> > This PR is branched from the makefile changes for \
> > https://bugs.openjdk.org/browse/JDK-8303796 and contains the following for \
> > handling the JDK/hotspot static libraries: 
> > - Build hotspot libjvm.a and JDK static libraries for \
> > static-libs-image/static-libs-bundles targets; This change does not affect the \
> > graal-builder-image target 
> > - For libjvm.a specifically, exclude operator_new.o
> > 
> > - Filter out "external" .o files (those are the .o files included from a \
> > different JDK library and needed when creating the .so shared library only) from \
> >                 JDK .a libraries; That's to avoid linker failures caused by \
> >                 duplicate symbols
> > - For libjli.a: Not include inflate.o inftrees.o inffast.o zadler32.o zcrc32.o \
> >                 zutil.o (compiled from zlib sources) if zlib is built as JDK \
> >                 bundled
> > - For libawt_xawt.a and libawt_head.a: Not include systemScale.o, since it's \
> > provided in libawt.a 
> > - Handle long arguments case for static build in \
> > make/common/NativeCompilation.gmk 
> > - Address @erikj79's comment in \
> > https://github.com/openjdk/jdk/pull/13709#discussion_r1180750185 for \
> >                 LIBJLI_STATIC_EXCLUDE_OBJS
> > -----
> > 
> > Updates to address build failures reported on macosx-<cpu> platforms:
> > 
> > - For gcc/clang, when building a static library first partially link (using the \
> > `-r` linking option) all object files into one object. The output object file \
> > from the partial linking is then passed to `ar` to create the static library.  
> > The original change for JDK-8307194 used @argument_file for all platforms when \
> > dealing with long arguments to `ar`, which caused failures on macosx-<cpu> \
> > builds. On darwin (https://www.unix.com/man-page/osx/1/ar/), `ar` does not \
> > support @argument_file. The updated change avoids using @argument_file for `ar`. 
> > The partial linking change is done in make/common/NativeCompilation.gmk. The flag \
> > related change is done in make/autoconf/flags-ldflags.m4 mainly.
> 
> Jiangli Zhou has updated the pull request incrementally with one additional commit \
> since the last revision: 
> Update make/common/NativeCompilation.gmk
> 
> Thanks you!
> 
> Co-authored-by: Erik Joelsson <37597443+erikj79@users.noreply.github.com>

`with `make TARGETS="arm-linux-gnueabihf" BASE_OS=Fedora BASE_OS_VERSION=17`, also \
tried with BASE_OS_VERSION=17`

Fix typo: `also tried with BASE_OS_VERSION=18`

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

PR Comment: https://git.openjdk.org/jdk/pull/14064#issuecomment-1564919758


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic