#3817: mangler fails with gcc-4.3.x and gcc-4.1.2 on sparc; suggest disabling
-fvia-C
--------------------------------------+-------------------------------------
Reporter: duncan | Owner:
Type: bug | Status: new
Priority: low | Milestone: 7.0.1
Component: Driver | Version: 7.0.4
Resolution: | Keywords:
Testcase: | Blockedby:
Difficulty: Easy (less than 1 hour) | Os: Unknown/Multiple
Blocking: | Architecture: sparc
Failure: Runtime crash |
--------------------------------------+-------------------------------------
Changes (by maeder):
* status: closed => new
* version: 6.12.1 => 7.0.4
* resolution: wontfix =>
Comment:
The above message "if this code is reached, the program will abort" is
caused by the macro JMP_ in File `include/stg/TailCalls.h` at line 107 for
`sparc_HOST_ARCH`. The macro seems to be fine for gcc-4.2 but gcc-4.3
complains as above. Does anyone have an idea how to fix this macro?
I've tried "`#define JMP_(cont) return((StgFunPtr)(cont))`" as defined for
`USE_MINIINTERPRETER`, but the resulting binaries core dump.
{{{
#define JMP_(cont) ((F_) (cont))()
/* Oh so happily, the above turns into a "call" instruction,
which, on a SPARC, is nothing but a "jmpl" with the
return address in %o7 [which we don't care about].
*/
/* Don't need these for sparc mangling */
#define FB_
#define FE_
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3817#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs