SUN_ARCH_ABI property not set or in release file for aarch64 builds
Simon Nash
simon at cjnash.com
Thu Apr 6 16:03:11 UTC 2017
On 06/04/2017 13:25, Andrey Petushkov wrote:
>
>> On 05 Apr 2017, at 21:39, Simon Nash <simon at cjnash.com
>> <mailto:simon at cjnash.com>> wrote:
>>
>> On 05/04/2017 15:50, Andrey Petushkov wrote:
>>>> On 05 Apr 2017, at 17:31, Simon Nash <simon at cjnash.com
>>>> <mailto:simon at cjnash.com>> wrote:
>>>>
>>>> On 05/04/2017 14:43, Andrey Petushkov wrote:
>>>>> Dear Simon,
>>>>> Sorry for the delay. I was trying to build the code so that it has
>>>>> the property, but apparently the necessary piece of magic is
>>>>> missing. The location for that piece is only present in the
>>>>> Oracle’s arm port repos, not anywhere else, including stock OpenJDK
>>>>> 8u and 9. I doubt we want to integrate it just because of this
>>>>> property. So we will think how to play around it..
>>>> Thanks for this information. This is turning out to be more difficult
>>>> than I expected.
>>> The instructions from Bob should not be hard to follow. Although I’m
>>> not quite sure the —with-extra-cflags is the best implementation it
>>> should be good for you
>>
>> Are you suggesting that I should create and test a patch for 8u based on
>> Bob's instructions and submit it for merging into the 8u codebase?
> No, not in any way. And indeed, Bob’s instructions for 8u cannot make
> any patch since they are for the entity which runs configure script.
> Which is user. Which is not a part of the repos :)
Thanks, I see now that the #ifdefs that Bob mentioned are present in the
jdk8u sources but in different files. I will give this a try.
>>
>>>>>> 03 Apr 2017, at 23:57, Simon Nash <simon at cjnash.com
>>>>>> <mailto:simon at cjnash.com>> wrote:
>>>>>>
>>>>>> Hi Andrey,
>>>>>> I am using the OpenJDK sources in the aarch32-port repository to build
>>>>>> a JRE for my application, so it will help to have this property set by
>>>>>> this JRE. I will try my current binary to see whether this property
>>>>>> is already available.
>>>>> If you’re building from Oracle’s port I believe Bob should be able
>>>>> to tell how to bring the magic over. Otherwise please stay tuned,
>>>>> we’ll work on bringing it into the rest of aarch32 repos
>>>> For JDK 8, I am building aarch32-port/jdk8u. For JDK 9, I was building
>>>> aarch32-port/arm-3264. Since this has been merged into jdk9/jdk9 I am
>>>> now building jdk9/jdk9 instead.
>>>>
>>>>>> I have sucessfully built the aarch32-port sources for gnueabihf but I
>>>>>> could not build them for gnueabi becaise there appear to be some
>>>>>> missing
>>>>>> files in the aarch32-port sources that are neeeded for softfp support.
>>>>>> Is this correct? If so, are there any plans to support a softfp
>>>>>> version?
>>>>> Could you please indicate what repos are you building from: 8u, 9
>>>>> or 9-arm3264 (aka Oracle)
>>>> See above. I have got softfp working with 9-arm3264 but I wasn't able
>>>> to build 8u with softfp because of missing files.
>>> What files are you missing? Could you please elaborate a bit?
>>
>> I will go back and recheck on the details and post here when I have them.
>>
>>> One more question, is softfp is mandatory for you? The reason why I’m
>>> asking is that we’re regularly building 8u in soft-float
>>> configuration with VFP support in hotspot compiler. It should give
>>> almost the same performance as softfp. As what to softfp itself it
>>> might be broken, we’re not testing it
>>
>> I would like to run 8u on ARMv5 machines that only support gnueabi and
>> don't have hardware floating-point support. I have built a JDK9 runtime
>> for this from the 9-arm3264 sources and I have verified that it works.
> A-ha, then the problem should be not in VP but rather in ARMv5. Sorry to
> say but aarch32-8u codebase does not support any ARM core lower than
> v6k. (Although it should be pretty easy to make interpreter work on v5
> and even below)
>
Thanks for the clarification.
Simon
> Andrey
>>
>> Simon
>>
>>> Thanks,
>>> Andrey
>>>> Simon
>>>>
>>>>> Thanks,
>>>>> Andrey
>>>>>> Best regards,
>>>>>> Simon
>>>>>>
>>>>>> On 03/04/2017 21:45, Andrey Petushkov wrote:
>>>>>>> Hi Simon,
>>>>>>> from the first glance it's set with the command line when the
>>>>>>> binary is built. so there is no code change is required but
>>>>>>> rather build system setup. we can ensure Azul is building with
>>>>>>> it so it will propagate into any downstream distribution taking
>>>>>>> our binaries. yet it might help you or might not depending on
>>>>>>> what you call the "openjdk build"
>>>>>>> Regards,
>>>>>>> Andrey
>>>>>>> On Mon, Apr 3, 2017, 23:18 Simon Nash <simon at cjnash.com
>>>>>>> <mailto:simon at cjnash.com> <mailto:simon at cjnash.com>> wrote:
>>>>>>> On 03/04/2017 17:58, Bob Vandette wrote:
>>>>>>> > The Oracle binaries for JDK 8 and JDK 9 Linux arm already include
>>>>>>> this property for the
>>>>>>> > 32-bit ARM binaries.
>>>>>>> >
>>>>>>> > The only release that in question is the 64-bit aarch64 Linux
>>>>>>> distribution. There’s really
>>>>>>> > no need for this property since there’s only 1 ABI that’s widely
>>>>>>> used today on that
>>>>>>> > architecture.
>>>>>>> >
>>>>>>> > Bob.
>>>>>>> >
>>>>>>> My comment was about the OpenJDK aarch32 builds. From your original
>>>>>>> post,
>>>>>>> I have the impression that the OpenJDK aarch32 builds don't set this
>>>>>>> property.
>>>>>>> If it could be added for the OpenJDK aarch32 builds, this would be
>>>>>>> very useful
>>>>>>> for my application.
>>>>>>> I understand that this is not needed for aarch64 builds.
>>>>>>> Simon
>>>>>>> >> On Apr 3, 2017, at 12:53 PM, Simon Nash <simon at cjnash.com
>>>>>>> <mailto:simon at cjnash.com>
>>>>>>> <mailto:simon at cjnash.com>> wrote:
>>>>>>> >>
>>>>>>> >> Hi Bob,
>>>>>>> >> I would find such a property very useful.
>>>>>>> >>
>>>>>>> >> My application is mostly written in Java but also uses a native
>>>>>>> library
>>>>>>> >> that is loaded dynamically by the Java code. In order to
>>>>>>> distribute
>>>>>>> >> fewer versions of the application and make things simpler
>>>>>>> for users,
>>>>>>> >> I have recently started packaging multiple versions of the
>>>>>>> native library
>>>>>>> >> (for example, Intel x86 and Intel x64) in a single version
>>>>>>> of the
>>>>>>> >> application and using Java runtime properties to determine
>>>>>>> which of
>>>>>>> >> these native libraries to load.
>>>>>>> >>
>>>>>>> >> I would like to do this for gnueabi and gnueabihf if I could
>>>>>>> find a
>>>>>>> >> reliable way to determine at runtime which of these native
>>>>>>> libraries
>>>>>>> >> is needed. It sounds like this property would be an ideal
>>>>>>> solution.
>>>>>>> >>
>>>>>>> >> Best regards,
>>>>>>> >> Simon
>>>>>>> >>
>>>>>>> >> On 03/04/2017 16:57, Bob Vandette wrote:
>>>>>>> >>> I’m inclined to not fix this bug but thought I’d bring it to
>>>>>>> your attention just in case.
>>>>>>> >>> I assume that OpenJDK ARM builds never set this property
>>>>>>> anyway, right?
>>>>>>> >>> https://bugs.openjdk.java.net/browse/JDK-8177976
>>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8177976>
>>>>>>> >>> Bob.
>>>>>>> >
>>>>>>> >
>
More information about the aarch32-port-dev
mailing list