[patch] fixing the ppc64el hotspot build in 8u20-b16
Volker Simonis
volker.simonis at gmail.com
Thu Jun 26 13:07:14 UTC 2014
Hi Tiago, Matthias,
sorry, I initially missed this mail because it was blocked by the list
(because Matthias is not a subscriber). I've added Matthias to the
list of accepted senders now, so this should not happen next time:)
Please see my other comments inline:
On Wed, Jun 25, 2014 at 9:52 PM, Tiago Stürmer Daitx <tdaitx at br.ibm.com> wrote:
> Cross-posting to hotspot-dev.
>
> On Thu, 2014-06-05 at 16:37 +0200, Matthias Klose wrote:
>> Hi,
>>
>> the ppc64el hotspot seems to be merged in 8u20-b16. However I got some build
>> failures building on ppc64el, fixed with the attached patch. Are you aware of
>> any other patches needed for the port?
>>
It seems you are trying to build the template interpreter for ppc64el.
This is currently not supported and even if you manage to build it, it
will probably not run. Alexander is currently working on the template
interpreter port for ppc64el but I don't know what's the current
status (cc-ed him). Alexander also did the ppc64el port of the
cpp-interpreter which should work.
So for the time being I'd suggest to take the cpp-interpreter for
ppc64el by using the configure option --with-jvm-interpreter=cpp
If you should run into warnigs/errors because of wrong printf format
arguments - I'm working on it and will submit a patch real soon (see
"8048169: Change 8037816 breaks HS build on PPC64 and CPP-Interpreter
platforms", https://bugs.openjdk.java.net/browse/JDK-8048169).
Regards,
Volker
>> Thanks, Matthias
>
>
> # Missing bits for the PPC ELF v2 ABI
>
> --- a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp
> +++ b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp
> @@ -119,9 +119,15 @@
> // Call the Interpreter::remove_activation_preserving_args_entry()
> // func to get the address of the same-named entrypoint in the
> // generated interpreter code.
> +#if !defined(ABI_ELFv2)
> call_c(CAST_FROM_FN_PTR(FunctionDescriptor*,
>
> Interpreter::remove_activation_preserving_args_entry),
> relocInfo::none);
> +#else
> + call_c(CAST_FROM_FN_PTR(address,
> +
> Interpreter::remove_activation_preserving_args_entry),
> + relocInfo::none);
> +#endif
>
> // Jump to Interpreter::_remove_activation_preserving_args_entry.
> mtctr(R3_RET);
> --- a/hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.cpp
> +++ b/hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.cpp
> @@ -1019,8 +1019,13 @@
> // native result across the call. No oop is present.
>
> __ mr(R3_ARG1, R16_thread);
> +#if !defined(ABI_ELFv2)
> __ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*,
> JavaThread::check_special_condition_for_native_trans),
> relocInfo::none);
> +#else
> + __ call_c(CAST_FROM_FN_PTR(address,
> JavaThread::check_special_condition_for_native_trans),
> + relocInfo::none);
> +#endif
>
> __ bind(sync_check_done);
>
>
>
> --
> Tiago Stürmer Daitx
> Linux Technology Center [LTC|IBM]
> tdaitx at br.ibm.com
>
More information about the ppc-aix-port-dev
mailing list