Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: high Milestone: 7.8.1 |Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown | Testcase: Blockedby:| Blocking: Related:| -+-- Changes (by igloo): * milestone: 7.6.1 = 7.8.1 -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:31 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: high Milestone: 7.6.1 |Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Testcase: Blockedby:| Difficulty: Unknown Os: Unknown/Multiple | Blocking: Architecture: Unknown/Multiple | Failure: None/Unknown -+-- Changes (by igloo): * milestone: 7.4.1 = 7.6.1 Comment: Punting -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:30 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: high Milestone: 7.2.1 |Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Testcase: Blockedby:| Difficulty: Unknown Os: Unknown/Multiple | Blocking: Architecture: Unknown/Multiple | Failure: None/Unknown -+-- Changes (by simonmar): * milestone: 7.0.2 = 7.2.1 -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:29 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: high Milestone: 7.0.2 |Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Testcase: Blockedby:| Difficulty: Unknown Os: Unknown/Multiple | Blocking: Architecture: Unknown/Multiple | Failure: None/Unknown -+-- Changes (by kgardas): * cc: karel.gar...@… (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:28 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: high Milestone: 7.0.2 |Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Testcase: Blockedby:| Difficulty: Unknown Os: Unknown/Multiple | Blocking: Architecture: Unknown/Multiple | Failure: None/Unknown -+-- Changes (by phunge0): * cc: brian.bloni...@… (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:27 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: high Milestone: 7.0.2 |Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Testcase: Blockedby:| Difficulty: Unknown Os: Unknown/Multiple | Blocking: Architecture: Unknown/Multiple | Failure: None/Unknown -+-- Changes (by gbrewster): * cc: g...@… (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:26 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: high Milestone: 7.0.2 |Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Testcase: Blockedby:| Difficulty: Unknown Os: Unknown/Multiple | Blocking: Architecture: Unknown/Multiple | Failure: None/Unknown -+-- Changes (by tedm): * cc: middleton@… (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:25 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: high Milestone: 6.14.2|Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Testcase: Blockedby:| Difficulty: Unknown Os: Unknown/Multiple | Blocking: Architecture: Unknown/Multiple | Failure: None/Unknown -+-- Changes (by igloo): * milestone: 6.14.1 = 6.14.2 Comment: No plans to work on this before 6.14.1. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:24 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: high Milestone: 6.14.1|Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Difficulty: Unknown Os: Unknown/Multiple | Testcase: Architecture: Unknown/Multiple | Failure: None/Unknown -+-- Changes (by slyfox): * cc: sly...@… (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:23 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: high Milestone: 6.14.1|Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Difficulty: Unknown Os: Unknown/Multiple | Testcase: Architecture: Unknown/Multiple | Failure: None/Unknown -+-- Changes (by kfrdbs): * cc: kfr...@… (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:24 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: high Milestone: 6.14.1|Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Difficulty: Unknown Os: Unknown/Multiple | Testcase: Architecture: Unknown/Multiple | Failure: None/Unknown -+-- Changes (by dkirk): * cc: dbk...@… (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:21 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: high Milestone: 6.14.1|Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Difficulty: Unknown Os: Unknown/Multiple | Testcase: Architecture: Unknown/Multiple | Failure: None/Unknown -+-- Changes (by sudish): * cc: sud...@… (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:22 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: high Milestone: 6.14.1|Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Difficulty: Unknown Os: Unknown/Multiple | Testcase: Architecture: Unknown/Multiple | Failure: None/Unknown -+-- Comment(by kili): Replying to [comment:19 igloo]: Many CCs, so high priority Well, but as Simon (Marlow) told me several times, it will be still very difficult to use .hc files for porting GHC to another platform. (Just to let the CCs know) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:20 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin | Type: bug Status: new | Priority: normal Milestone: 6.12.3|Component: Build System Version: 6.12.1 RC1| Resolution: Keywords:| Difficulty: Unknown Os: Unknown/Multiple | Testcase: Architecture: Unknown/Multiple | Failure: None/Unknown -+-- Changes (by ngwese): * cc: ngw...@… (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:17 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken ---+ Reporter: pumpkin | Owner: Type: bug | Status: new Priority: normal| Milestone: 6.12 branch Component: Build System |Version: 6.12.1 RC1 Resolution:| Keywords: Difficulty: Unknown | Os: Unknown/Multiple Testcase:| Architecture: Unknown/Multiple Failure: None/Unknown | ---+ Changes (by filcab): * cc: filcab+...@gmail.com (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken ---+ Reporter: pumpkin | Owner: Type: bug | Status: new Priority: normal| Milestone: 6.12 branch Component: Build System |Version: 6.12.1 RC1 Resolution:| Keywords: Difficulty: Unknown | Os: Unknown/Multiple Testcase:| Architecture: Unknown/Multiple Failure: None/Unknown | ---+ Changes (by PHO): * cc: p...@cielonegro.org (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin |Owner: Type: bug | Status: new Priority: normal|Milestone: 6.12 branch Component: Build System | Version: 6.12.1 RC1 Severity: normal| Resolution: Keywords:| Difficulty: Unknown Testcase:| Os: Unknown/Multiple Architecture: Unknown/Multiple | -+-- Changes (by marco.comini): * cc: marco.com...@dimi.uniud.it (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin |Owner: Type: bug | Status: new Priority: normal|Milestone: 6.12 branch Component: Build System | Version: 6.12.1 RC1 Severity: normal| Resolution: Keywords:| Difficulty: Unknown Testcase:| Os: Unknown/Multiple Architecture: Unknown/Multiple | -+-- Comment (by ksf): We either have to come up with a solution for using hsc2hs (take the intermediate C files to the target and compile/run them?) or convert .hsc files to autoconf + CPP (yeuch). It's quite straight-forward to split up the %.hsc-%.hs rule in two, the first one generating %_hsc_make with a cross-compiler, the second one moving the binary over to the target, executing it and piping the result into %.hs. Compiling on the target is certainly feasible, too, but I happen to have a working cross-compiler. I am, however, stuck with make, in the area of separating the build directories into stage1/stage2 for the libraries as well as transferring ./configure output over from the target to the build platform, without having that trigger recompilation of stage1 (and the package info being a bit messed up wrt. -l flags, but that's a minor concern) Compiling the stage2 libraries with actual target info also opens up the issue that we can't use the native gcc as it's quite likely to fail, not so much while compiling (at least .hc), but linking: My linux doesn't come with libutil, for example. Both using a cross-gcc and replacing gcc with touch should work, I've not had much time to investigate this. The main issue, however, is that we're infecting perfectly cross-platform .hc with platform-specific information by preprocessing Haskell instead of C: It might be feasible to generate C stubs for all hsc2hs macros and calling them via the ffi, leaving resolving of platform-specific things until later. The whole build-process depending on .o s being generated even when all you want to have are .hc s isn't helping things. And then there's David's LLVM work... I'm currently slurping his thesis because porting via LLVM looks very, very, elegant and painless, at least from afar. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin |Owner: Type: bug | Status: new Priority: normal|Milestone: 6.12 branch Component: Build System | Version: 6.12.1 RC1 Severity: normal| Resolution: Keywords:| Difficulty: Unknown Testcase:| Os: Unknown/Multiple Architecture: Unknown/Multiple | -+-- Comment (by igloo): I'm not sure I follow; why do you need to have stage1 and stage2 library build directories? -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin |Owner: Type: bug | Status: new Priority: normal|Milestone: 6.12 branch Component: Build System | Version: 6.12.1 RC1 Severity: normal| Resolution: Keywords:| Difficulty: Unknown Testcase:| Os: Unknown/Multiple Architecture: Unknown/Multiple | -+-- Comment (by ksf): Both the stage1 and stage2 compilers need the same libraries, stage1 needs .o files native to the build platform, stage2 ones native to the target platform, and make likes to re-built the stage1 compiler as soon as I've built a library for the target because it just depends on the resulting .a . I would compile them with -C, but that breaks make's notion of dependencies. The current build system, iirc, just compiles those libraries once and uses them for both stages. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin |Owner: Type: bug | Status: new Priority: normal|Milestone: 6.12 branch Component: Build System | Version: 6.12.1 RC1 Severity: normal| Resolution: Keywords:| Difficulty: Unknown Testcase:| Os: Unknown/Multiple Architecture: Unknown/Multiple | -+-- Comment (by igloo): stage1 should not need .o files native to the build platform (except for those built in dist-boot directories, which do not need to be used on the target platform). -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin |Owner: Type: bug | Status: new Priority: normal|Milestone: 6.12 branch Component: Build System | Version: 6.12.1 RC1 Severity: normal| Resolution: Keywords:| Difficulty: Unknown Testcase:| Os: Unknown/Multiple Architecture: Unknown/Multiple | -+-- Comment (by simonmar): Replying to [comment:3 ksf]: Solution 2 to issue 2 (running hsc2hs with the target's headers on the host) needs a cross-compiler, at least if the system's bytesizes differ. Otherwise, offsetof is going to return borkage, even if given the right headers. In the past we've avoided using `hsc2hs` in parts of the libraries that are required by the bootstrap for exactly this reason. I think we recently regressed in this area since I started using `System.Posix` stuff to implement `System.Directory`; my humble apologies. It was fragile to start with though. We either have to come up with a solution for using hsc2hs (take the intermediate C files to the target and compile/run them?) or convert .hsc files to autoconf + CPP (yeuch). -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin |Owner: Type: bug | Status: new Priority: normal|Milestone: 6.12 branch Component: Build System | Version: 6.12.1 RC1 Severity: normal| Resolution: Keywords:| Difficulty: Unknown Testcase:| Os: Unknown/Multiple Architecture: Unknown/Multiple | -+-- Changes (by ksf): * version: 6.11 = 6.12.1 RC1 * summary: Porting through .hc files seems broken (seems general but parts of it may be osx-specific) = Porting through .hc files broken Comment: {{{make[1]: *** No rule to make target `rts/dist/build/Apply.o', needed by `rts/dist/build/libHSrts.a'. Stop.}}} I've encountered the same, I moved all .hc files to .c files, including AutoApply.hc, which lives in dist. Seems to work out fine. the NO_REGS/MINI_INTERPRETER issue is fixed in 6.12.0-rc1. the primopcodes are copied over from the host according to the port process docs, but the build system doesn't get that they're already there and tries to build genprimopcode, anyway. I nuked the respective make rules, and stuff seems to work out fine (that is, it compiles). I've also encountered various linker issues (and missing symbols beforehand, as haiku e.g. doesn't come with siginfo_t), but I guess these are quite normal while porting to a new platform. A stub for getlocale won't hurt the system, too. I've also experienced segfaults in Data.List.last, but can say that ghc would have failed differently, anyway, due to wrong args etc. However, there's two very, very important bits missing to the porting process: 1) Hs*Config.h (those for the libraries) aren't taken from the target system, but the host while generating .hc's (I'm looking into making the build system eat them, the naive approach didn't work (made make error out due to looping)) 2) the intermediate .c files generated from .hsc files are compiled with the host's headers (which leads to fun bugs like ghc being confused about what consists a directory and what not, due to struct stat having a different layout). This can either be fixed by moving the intermediate files onto the target and compile+run them there (which is awkward), or pre-processing them on the host using the target's headers, then compiling+running them on the host (which is convenient, and should be safe to do). Another possibility, of course, is to switch to c2hs, which knows of cross-compiling. I've also had issues with too big constants in .hc files, but instead of investigating the source, I switched to a 32-bit chroot for my host. I'm going to flag my other bug as a duplicate of this. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3472: Porting through .hc files broken
#3472: Porting through .hc files broken -+-- Reporter: pumpkin |Owner: Type: bug | Status: new Priority: normal|Milestone: 6.12 branch Component: Build System | Version: 6.12.1 RC1 Severity: normal| Resolution: Keywords:| Difficulty: Unknown Testcase:| Os: Unknown/Multiple Architecture: Unknown/Multiple | -+-- Changes (by ksf): * cc: bars...@web.de (added) Comment: Solution 2 to issue 2 (running hsc2hs with the target's headers on the host) needs a cross-compiler, at least if the system's bytesizes differ. Otherwise, offsetof is going to return borkage, even if given the right headers. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3472#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs