[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-janitors] #910: Failure with many arguments on amd64
From: |
Chicken Trac |
Subject: |
Re: [Chicken-janitors] #910: Failure with many arguments on amd64 |
Date: |
Wed, 24 Jul 2013 16:49:54 -0000 |
#910: Failure with many arguments on amd64
-----------------------------+----------------------------------------------
Reporter: sjamaan | Owner: felix
Type: defect | Status: closed
Priority: critical | Milestone: 4.9.0
Component: core libraries | Version: 4.8.x
Resolution: worksforme | Keywords:
-----------------------------+----------------------------------------------
Changes (by sjamaan):
* status: assigned => closed
* resolution: => worksforme
Comment:
After diving in deeper, all signs point towards a GCC bug. When the
function is entered, the assembly prologue generated by GCC jumps to an
address which gets %al added to it (?). According to the ABI
documentation, %al holds the number of saved SSE registers. However, the
value of %al is completely out of whack and has largish negative values
(it should be a number between 0 and 8).
As Christian and Mario did not run into any crashes with GCC 4.7, I tried
upgrading as well (I was running 4.5). With GCC 4.8, everything worked
just fine!
Finally, Christian and Mario did report running into crashes with larger
argument counts, but that's almost definitely due to the temporary stack
overflowing, like Felix theorised above. I think adding an extra check
there won't hurt, but at least this ticket itself is bogus.
--
Ticket URL: <http://bugs.call-cc.org/ticket/910#comment:10>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.