答复: [RFR] Re: jdk9 builds status
Edward Nevill
edward.nevill at gmail.com
Thu Jun 2 14:07:30 UTC 2016
Hi,
This solution makes me nervous. It relies on the fact that the compiler
only pushes RFP, hence it adds 'BytesPerWord'. What happens if a future
compiler pushes something different? Or if we compile -O0 as in a
slowdebug build.
I think the asm version is more shock proof.
All the best,
Ed.
On Thu, 2016-06-02 at 13:12 +0000, yangyongyong wrote:
> Hi, all,
>
> Has someone tried the following patch:
>
> === Patch begin ===
> diff -r 79bf1547b28d src/os_cpu/linux_aarch32/vm/os_linux_aarch32.cpp
> --- a/src/os_cpu/linux_aarch32/vm/os_linux_aarch32.cpp Sat May 14 17:34:57 2016 +0100
> +++ b/src/os_cpu/linux_aarch32/vm/os_linux_aarch32.cpp Wed Jun 01 10:08:09 2016 +0800
> @@ -81,7 +81,7 @@
> #define SPELL_REG_SP "sp"
> #define SPELL_REG_FP "fp"
>
> -address os::current_stack_pointer() {
> +__attribute__ ((noinline)) address os::current_stack_pointer() {
> register void* sp __asm__ (SPELL_REG_SP);
> // This is a leaf method. Only rfp has been pushed.
> return (address) sp + BytesPerWord;
> === Patch end ===
>
> it fixes a crash caused by fastdebug version build with with gcc 4.7.1
>
> All the best.
>
More information about the aarch32-port-dev
mailing list