Re: gcc 3.3 build failure
Ian Lynagh <[email protected]> Sun, 21 Sep 2003 13:55:40 +0100
| Newsgroups | gmane.comp.lang.haskell.nhc.bugs |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Sep 19, 2003 at 10:31:52AM +0100, Malcolm Wallace wrote: > Ian Lynagh <[email protected]> writes: > > > My builds with gcc 3.3 on Linux are segfaulting. > > We already saw a similar behaviour in the move from gcc-2.95 to > gcc-3.x, so although we have fixed it once, perhaps the cause is > similar. I suspect a change in the alignment constraints inserted > into the assembler code. nhc98 assumes and requires a > .align 4 > between constant arrays of unsigned long. In gcc-3.0, these sometimes > inexplicably lengthened to > .align 32 > and there is an "evil mangler" in the nhc98 driver script which > converts them back to 4. > > I suggest you run > gcc -x c -S -Iinclude > on an arbitrary .hc file somewhere in the distribution package, > and examine the output .s file with "grep .align". If any of the > numbers are neither 4 nor 32, then we have the culprit. Not with gcc -x c -S -Iinclude src/compiler98/AssocTree.hc I've attached the .s file. > > which I think should be the two non-win32 patches from your website, the > > asmlong.h patch you committed to CVS, changing abort(-1) to abort() in > > src/runtime/Integer/alloca.c and protecting a trailing \ in > > src/prelude/List/Difference.hs with a comment. > > Your extra bugfixes are noted, thanks. Also, I don't think make clean should be removing the .hc files in the tarball: --- nhc98-1.16.orig/src/compiler98/Makefile +++ nhc98-1.16/src/compiler98/Makefile @@ -82,7 +82,7 @@ cd $(OBJDIR); $(LOCAL)nhc98 -H8M -o $(TARGET) *.$O strip $(TARGET) clean: - rm -f $(OBJDIR)/*.$O *.$O *.hi *.hc + rm -f $(OBJDIR)/*.$O *.$O *.hi realclean: clean rm -f *.hc *.c $(TARGET) --- nhc98-1.16.orig/src/hmake/Makefile +++ nhc98-1.16/src/hmake/Makefile @@ -46,7 +46,7 @@ strip $(MKPROG) $(OLDER) $(MKCONFIG) clean: rm -f $(OBJS) $(CPPOBJS) $(OBJDIR)/Older.$O $(OBJDIR)/MkConfig.$O - rm -f *.hi *.hc *.c + rm -f *.hi *.c realclean: clean rm -f $(TARGETS) package: > > Also, your build system isn't very clear to me - what is the recommended > > way to use /usr/bin/gcc-2.95 as the C compiler? > > The best way would be to set it up at configure time: > > CC=gcc-2.95 ./configure ... > make basic $ tar -zxf nhc98src-1.16.tar.gz $ cd nhc98-1.16/ $ CC=gcc-2.95 ./configure > ../configure.out cat: targets/ix86-Linux/ghcsym: No such file or directory $ make basic make: *** No rule to make target `basic-gcc', needed by `basic'. Stop. $ Passing configure --buildwith=gcc-2.95 doesn't help. Thanks Ian _______________________________________________ Nhc-bugs mailing list [email protected] http://www.haskell.org/mailman/listinfo/nhc-bugs
AssocTree.s
(text/plain, 9.8 KB)
.file "AssocTree.hc" .data .align 4 .type startLabel, @object .size startLabel, 12 startLabel: .long 131072 .long 33554689 .long startLabel+36 .globl FN_AssocTree_46mapAT .align 32 .type FN_AssocTree_46mapAT, @object .size FN_AssocTree_46mapAT, 32 FN_AssocTree_46mapAT: .long 19565184 .long 704870027 .long 613183746 .long 486897158 .long 158 .long 0 .long 131076 .long 0 .globl F0_AssocTree_46mapAT .align 32 .type F0_AssocTree_46mapAT, @object .size F0_AssocTree_46mapAT, 156 F0_AssocTree_46mapAT: .long FN_AssocTree_46mapAT-9 .long startLabel+69 .long FN_Tree234_46treeMap-5 .long FN_Prelude_46_36-5 .long F0_NHC_46Internal_46_95id .long 131072 .long 33554689 .long startLabel+108 .long -2145674367 .long 713687577 .long 594644481 .long 91655681 .long 40476 .long 0 .long 0 .long 33685506 .long 131073 .long 0 .long startLabel+67 .long FN_NHC_46Internal_46_95apply1-5 .long 16908291 .long 50332161 .long startLabel+168 .long -2145674111 .long 1245721 .long 713716101 .long 2122876673 .long 453213700 .long 486677120 .long 158 .long 0 .long 196609 .long 0 .long startLabel+125 .long FN_Prelude_46compare-5 .long 262144 .long 33685763 .long 67109633 .long startLabel+228 .globl FN_AssocTree_46updateAT .align 32 .type FN_AssocTree_46updateAT, @object .size FN_AssocTree_46updateAT, 36 FN_AssocTree_46updateAT: .long 69896832 .long 50408331 .long 1980135052 .long 1895967237 .long 119801380 .long -1642264970 .long 0 .long 262149 .long 0 .globl F0_AssocTree_46updateAT .align 32 .type F0_AssocTree_46updateAT, @object .size F0_AssocTree_46updateAT, 96 F0_AssocTree_46updateAT: .long FN_AssocTree_46updateAT-13 .long startLabel+265 .long startLabel+129 .long FN_Tree234_46treeUpdate-5 .long FN_Prelude_46_36-5 .long F0_NHC_46Internal_46_95id .long 131072 .long 33554689 .long startLabel+304 .long -2145674367 .long 713687577 .long 594644481 .long 91655681 .long 40476 .long 0 .long 0 .long 33685506 .long 131073 .long 0 .long startLabel+263 .long FN_NHC_46Internal_46_95apply1-5 .long 16908291 .long 50332161 .long startLabel+364 .globl FN_AssocTree_46lookupAT .align 32 .type FN_AssocTree_46lookupAT, @object .size FN_AssocTree_46lookupAT, 40 FN_AssocTree_46lookupAT: .long -1979636864 .long 50408331 .long 108432497 .long 108398198 .long -1642266070 .long 0 .long 0 .long 2 .long 196611 .long 0 .globl F0_AssocTree_46lookupAT .align 32 .type F0_AssocTree_46lookupAT, @object .size F0_AssocTree_46lookupAT, 140 F0_AssocTree_46lookupAT: .long FN_AssocTree_46lookupAT-11 .long startLabel+389 .long startLabel+129 .long FN_Tree234_46treeSearch-5 .long 16777217 .long startLabel+420 .long -2145674623 .long 594608665 .long -1642295551 .long 0 .long 0 .long 16842770 .long 65536 .long 0 .long startLabel+389 .long 262144 .long 33685763 .long 67109633 .long startLabel+480 .long 77431177 .long 35225627 .long 1904541715 .long -2029966710 .long 2114223752 .long 444603139 .long 10362114 .long 0 .long 262145 .long 0 .long startLabel+435 .long FN_Prelude_46compare-5 .long 17039365 .long 50463235 .long 83887105 .long startLabel+556 .globl FN_AssocTree_46addAT .align 32 .type FN_AssocTree_46addAT, @object .size FN_AssocTree_46addAT, 52 FN_AssocTree_46addAT: .long 53119616 .long 67185547 .long 69927203 .long 158764037 .long 108398710 .long 611385898 .long 1980179462 .long 10362119 .long 0 .long 0 .long 33685506 .long 327685 .long 0 .globl F0_AssocTree_46addAT .align 32 .type F0_AssocTree_46addAT, @object .size F0_AssocTree_46addAT, 100 F0_AssocTree_46addAT: .long FN_AssocTree_46addAT-15 .long startLabel+591 .long startLabel+439 .long FN_Tree234_46treeAdd-5 .long FN_Prelude_46_36-5 .long F0_NHC_46Internal_46_95id .long 16908291 .long 50332161 .long startLabel+640 .long 421239681 .long 25074690 .long 35225627 .long 755051146 .long 594644483 .long 108432897 .long 40476 .long 0 .long 0 .long 33685506 .long 196609 .long 0 .long startLabel+589 .long FN_NHC_46Internal_46_95apply2-5 .long 0 .long startLabel+676 .globl FN_AssocTree_46initAT .align 4 .type FN_AssocTree_46initAT, @object .size FN_AssocTree_46initAT, 20 FN_AssocTree_46initAT: .long 486739073 .long 158 .long 0 .long 1 .long 0 .globl CF_AssocTree_46initAT .align 4 .type CF_AssocTree_46initAT, @object .size CF_AssocTree_46initAT, 16 CF_AssocTree_46initAT: .long FN_AssocTree_46initAT-5 .long CF_Tree234_46initTree .long 16777217 .long startLabel+716 .globl FN_AssocTree_46listAT .align 4 .type FN_AssocTree_46listAT, @object .size FN_AssocTree_46listAT, 24 FN_AssocTree_46listAT: .long -1955493248 .long 19530358 .long 40477 .long 0 .long 65538 .long 0 .globl F0_AssocTree_46listAT .align 32 .type F0_AssocTree_46listAT, @object .size F0_AssocTree_46listAT, 72 F0_AssocTree_46listAT: .long FN_AssocTree_46listAT-7 .long startLabel+739 .long FN_Tree234_46treeMapList-5 .long 131072 .long 33554689 .long startLabel+772 .long 19100032 .long 469893419 .long 158 .long 0 .long 0 .long 33685522 .long 131072 .long 0 .long startLabel+739 .long 131072 .long 33554689 .long startLabel+816 .globl FN_AssocTree_46reorderAT .align 4 .type FN_AssocTree_46reorderAT, @object .size FN_AssocTree_46reorderAT, 28 FN_AssocTree_46reorderAT: .long 36342400 .long 19565425 .long 486897292 .long 158 .long 0 .long 131075 .long 0 .globl F0_AssocTree_46reorderAT .align 4 .type F0_AssocTree_46reorderAT, @object .size F0_AssocTree_46reorderAT, 28 F0_AssocTree_46reorderAT: .long FN_AssocTree_46reorderAT-9 .long FN_AssocTree_46listAT-5 .long FN_Prelude_46foldl-5 .long CF_AssocTree_46initAT .long 16908291 .long 50332161 .long startLabel+872 .globl FN_Prelude_46Show_46AssocTree_46AssocTree_46show .align 4 .type FN_Prelude_46Show_46AssocTree_46AssocTree_46show, @object .size FN_Prelude_46Show_46AssocTree_46AssocTree_46show, 28 FN_Prelude_46Show_46AssocTree_46AssocTree_46show: .long 19630720 .long 53119746 .long 108432497 .long -1642265482 .long 0 .long 196611 .long 0 .globl F0_Prelude_46Show_46AssocTree_46AssocTree_46show .align 4 .type F0_Prelude_46Show_46AssocTree_46AssocTree_46show, @object .size F0_Prelude_46Show_46AssocTree_46AssocTree_46show, 28 F0_Prelude_46Show_46AssocTree_46AssocTree_46show: .long FN_Prelude_46Show_46AssocTree_46AssocTree_46show-11 .long FN_Prelude_46Show_46Prelude_462-5 .long FN_AssocTree_46listAT-5 .long FN_Prelude_46Show_46Prelude_46_91_93_46show-5 .long 16908291 .long 50332161 .long startLabel+928 .globl FN_Prelude_46Show_46AssocTree_46AssocTree_46showsType .align 4 .type FN_Prelude_46Show_46AssocTree_46AssocTree_46showsType, @object .size FN_Prelude_46Show_46AssocTree_46AssocTree_46showsType, 28 FN_Prelude_46Show_46AssocTree_46AssocTree_46showsType: .long 19630720 .long 1988849922 .long 486746628 .long 158 .long 0 .long 196610 .long 0 .globl F0_Prelude_46Show_46AssocTree_46AssocTree_46showsType .align 4 .type F0_Prelude_46Show_46AssocTree_46AssocTree_46showsType, @object .size F0_Prelude_46Show_46AssocTree_46AssocTree_46showsType, 24 F0_Prelude_46Show_46AssocTree_46AssocTree_46showsType: .long FN_Prelude_46Show_46AssocTree_46AssocTree_46showsType-11 .long FN_Prelude_46Show_46AssocTree_46AssocTree-5 .long FN_Prelude_46_95_46showsType-5 .long 16908291 .long 50332161 .long startLabel+980 .globl FN_Prelude_46Show_46AssocTree_46AssocTree_46showList .align 4 .type FN_Prelude_46Show_46AssocTree_46AssocTree_46showList, @object .size FN_Prelude_46Show_46AssocTree_46AssocTree_46showList, 28 FN_Prelude_46Show_46AssocTree_46AssocTree_46showList: .long 19630720 .long 1988849922 .long 486746628 .long 158 .long 0 .long 196610 .long 0 .globl F0_Prelude_46Show_46AssocTree_46AssocTree_46showList .align 4 .type F0_Prelude_46Show_46AssocTree_46AssocTree_46showList, @object .size F0_Prelude_46Show_46AssocTree_46AssocTree_46showList, 28 F0_Prelude_46Show_46AssocTree_46AssocTree_46showList: .long FN_Prelude_46Show_46AssocTree_46AssocTree_46showList-11 .long FN_Prelude_46Show_46AssocTree_46AssocTree-5 .long FN_Prelude_46_95_46showList-5 .long 262144 .long 33685763 .long 67109633 .long startLabel+1036 .globl FN_Prelude_46Show_46AssocTree_46AssocTree_46showsPrec .align 4 .type FN_Prelude_46Show_46AssocTree_46AssocTree_46showsPrec, @object .size FN_Prelude_46Show_46AssocTree_46AssocTree_46showsPrec, 28 FN_Prelude_46Show_46AssocTree_46AssocTree_46showsPrec: .long 19630720 .long 1988849922 .long 67316740 .long 158 .long 0 .long 262146 .long 0 .globl F0_Prelude_46Show_46AssocTree_46AssocTree_46showsPrec .align 4 .type F0_Prelude_46Show_46AssocTree_46AssocTree_46showsPrec, @object .size F0_Prelude_46Show_46AssocTree_46AssocTree_46showsPrec, 24 F0_Prelude_46Show_46AssocTree_46AssocTree_46showsPrec: .long FN_Prelude_46Show_46AssocTree_46AssocTree_46showsPrec-13 .long FN_Prelude_46Show_46AssocTree_46AssocTree-5 .long FN_Prelude_46_95_46showsPrec-5 .long 131072 .long 33554689 .long startLabel+1116 .globl FN_Prelude_46Show_46AssocTree_46AssocTree .align 32 .type FN_Prelude_46Show_46AssocTree_46AssocTree, @object .size FN_Prelude_46Show_46AssocTree_46AssocTree, 56 FN_Prelude_46Show_46AssocTree_46AssocTree: .long 730493312 .long -1955528191 .long 1895956779 .long 33631116 .long 721822833 .long 594608641 .long 755248385 .long 479104771 .long 158 .long 0 .long 0 .long 67371010 .long 131076 .long 0 .globl F0_Prelude_46Show_46AssocTree_46AssocTree .align 4 .type F0_Prelude_46Show_46AssocTree_46AssocTree, @object .size F0_Prelude_46Show_46AssocTree_46AssocTree, 20 F0_Prelude_46Show_46AssocTree_46AssocTree: .long FN_Prelude_46Show_46AssocTree_46AssocTree-9 .long FN_Prelude_46Show_46AssocTree_46AssocTree_46showsPrec-9 .long FN_Prelude_46Show_46AssocTree_46AssocTree_46showsType-7 .long FN_Prelude_46Show_46AssocTree_46AssocTree_46showList-7 .long FN_Prelude_46Show_46AssocTree_46AssocTree_46show-7 .ident "GCC: (GNU) 3.3.2 20030908 (Debian prerelease)"