chicken-janitors
[Top][All Lists]
Advanced

[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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]