[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: |
Wed, 12 Jul 2017 15:55:28 -0000 |
#1380: make check fails on Alpine Linux ppc64le
------------------------------------+---------------------
Reporter: rgdoliveira | Owner:
Type: defect | Status: closed
Priority: major | Milestone: someday
Component: compiler | Version: 4.12.0
Resolution: invalid | Keywords:
Estimated difficulty: |
------------------------------------+---------------------
Changes (by sjamaan):
* status: new => closed
* resolution: => invalid
Comment:
rgdoliveira noticed that after the setjmp by the GC, register r2 contains
a strange value.
According to [http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-
elf64abi-1.9.html#FUNC-CALLS the PowerPC processor ABI supplement], r2
contains a TOC which acts as a base pointer to the local data section (all
the {{{static}}} stuff in a compilation unit).
When linking different compilation units together (and only if they're
linked position-independently?) function calls '''may''' be patched up by
the linker to restore r2 after returning. There's some blathering about
function pointers being treated specially because they need to carry their
TOC inside them, so the situations in which this makes a difference seem
to be pretty specific.
The musl [https://github.com/crxz0193/musl-
aarch64/blob/master/src/setjmp/powerpc/longjmp.s code for longjmp] does
not seem to restore r2 after returning, so it's quite likely that the
crash on the local variable assignment is caused by this.
Therefore, I think this is not a CHICKEN issue but a musl issue. Please
reopen if you disagree.
--
Ticket URL: <https://bugs.call-cc.org/ticket/1380#comment:6>
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 <=
- 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, 2017/07/29
- 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