[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-janitors] #1380: make check fails on Alpine Linux ppc64le
From: |
Chicken Trac |
Subject: |
Re: [Chicken-janitors] #1380: make check fails on Alpine Linux ppc64le |
Date: |
Sat, 29 Jul 2017 18:41:58 -0000 |
#1380: make check fails on Alpine Linux ppc64le
------------------------------------+----------------------
Reporter: rgdoliveira | Owner:
Type: defect | Status: reopened
Priority: major | Milestone: someday
Component: compiler | Version: 4.12.0
Resolution: | Keywords:
Estimated difficulty: |
------------------------------------+----------------------
Comment (by felix):
The problem seems to be that the call to `C_alloc` in runtime.c:1512
returns a pointer into an already used portion of the stack frame. The
following `C_memcpy` will overwrite the register `%r2` stored in `$r1+24`
after the `C_setjmp` in runtime.c:1502.
To reproduce the problem: set a breakpoint in runtime.c:1505, and continue
until this line is executed the second time. The first non-local return
from the setjmp is fine, then the memcpy will overwrite part of the stack
frame and the next non-local return will pick up a clobbered value for
`$r2` and other registers later, including `$r1`, I think.
What causes this is not clear to me, perhaps an invalid interaction
between musl and the C compiler, or even a compiler bug, as musl seems to
use `__builtin_alloca` when compiled with gcc.
--
Ticket URL: <https://bugs.call-cc.org/ticket/1380#comment:9>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.
- Re: [Chicken-janitors] #1380: make check fails on Alpine Linux ppc64le, Chicken Trac, 2017/07/10
- Re: [Chicken-janitors] #1380: make check fails on Alpine Linux ppc64le, Chicken Trac, 2017/07/10
- Re: [Chicken-janitors] #1380: make check fails on Alpine Linux ppc64le, Chicken Trac, 2017/07/11
- Re: [Chicken-janitors] #1380: make check fails on Alpine Linux ppc64le, Chicken Trac, 2017/07/11
- Re: [Chicken-janitors] #1380: make check fails on Alpine Linux ppc64le, Chicken Trac, 2017/07/11
- Re: [Chicken-janitors] #1380: make check fails on Alpine Linux ppc64le, Chicken Trac, 2017/07/12
- Re: [Chicken-janitors] #1380: make check fails on Alpine Linux ppc64le, Chicken Trac, 2017/07/14
- Re: [Chicken-janitors] #1380: make check fails on Alpine Linux ppc64le, Chicken Trac, 2017/07/14
- Re: [Chicken-janitors] #1380: make check fails on Alpine Linux ppc64le,
Chicken Trac <=
- Re: [Chicken-janitors] #1380: make check fails on Alpine Linux ppc64le, Chicken Trac, 2017/07/30
- Re: [Chicken-janitors] #1380: make check fails on Alpine Linux ppc64le, Chicken Trac, 2017/07/30