> On Aug 13, 2020, at 3:15 AM, Kim Barrett <kim.barr...@oracle.com> wrote:
> 
>> On Aug 1, 2020, at 3:24 AM, Vladimir Kempik <vkem...@azul.com> wrote:
>> 
>> Hello
>> 
>> Please review this change for JDK-8250876
>> 
>> This changeset adds support for macos/aarch64 into build system.
>> It will allow to crosscompile for macos/aarch64 using intel mac as well.
>> 
>> This changeset does NOT address some arm specific issues in the macos 
>> related code, we plan to do that in s separate commit.
>> 
>> An example of configure to cross-compile for macos/arm64:
>> 
>> --with-boot-jdk=/path/to/java/ 
>> --with-build-jdk=/path/to/same/java/as/compiled  
>> --disable-warnings-as-errors --with-jvm-variants=zero 
>> --openjdk-target=aarch64-apple-darwin --with-extra-cflags='-arch arm64' 
>> --with-extra-ldflags='-arch arm64 
>> -F/Path/To/Folder/Containing/JNF_framework/' —with-extra-cxxflags='-arch 
>> arm64’
>> 
>> JNF.framework is missing arm64 part as of next macos release, but Apple has 
>> opensourced it. 
>> 
>> Fix to adlc were needed due to it using symbols from stdc++ and not linking 
>> to it, so it fails when doing make images.
>> 
>> The webrev: http://cr.openjdk.java.net/~vkempik/8250876/webrev.00/
>> The bug: https://bugs.openjdk.java.net/browse/JDK-8250876
>> 
>> Testing: jdk/submit.
>> 
>> Thanks, Vladimir.
> 
> Coming late to the party, as I see this has already been pushed.  But
> one thing caught my eye.

I should have read further ahead in the thread.  Looks like
this got dealt with in a different way that seems much better.

> 
> ------------------------------------------------------------------------------
>  42   else ifeq ($(call isBuildOs, macosx), true)
>  43     ADLC_LDFLAGS := -lc++
> 
> I'm surprised this is needed. I expected the C++ toolchain to
> implicitly include that, the way g++ does.
> 
> If something like this really is needed, then it seems like it should
> be ADLC_LIBS that should be modified, rather than ADLC_LDFLAGS.
> Though I noticed there are currently no assignments to ADLC_LIBS.
> 
> I'm similarly surprised by this pre-existing bit in CoreLibraries.gmk:
> 
> $(eval $(call SetupJdkLibrary, BUILD_LIBJIMAGE, \
> ...
>    LIBS_unix := -ljvm -ldl $(LIBCXX), \
>    LIBS_macosx := -lc++, \
> 
> And that suggests a better place for all this (assuming its needed at
> all) is in lib-std.m4, setting LIBCXX for macosx and using it where
> needed.
> 
> ------------------------------------------------------------------------------


Reply via email to