#529 build fails on Linux/sparc (genprimopcode: parse error at)

6.4.1
open
nobody
Compiler (190)
5
2005-10-18
2005-10-18
No

Build fails when building ghc 6.4.x (tested 6.4 and 6.4.1) on Linux/
sparc and using ghc 6.4 binaries for bootstrap:

mkdir stage1/ndpFlatten
mkdir stage1/iface
mkdir stage1/cmm
mkdir stage1/ghci
Creating main/Config.hs ...
done.
Creating stage1/ghc_boot_platform.h...
Done.
sparc-pld-linux-gcc -E -undef -traditional -P -I../includes -x c
prelude/primops.txt.pp | \ grep -v '^#pragma GCC' > prelude/primops.txt
../utils/genprimopcode/genprimopcode --data-decl < prelude/
primops.txt > primop-data-decl.hs-incl
genprimopcode: parse error at (line 579, column 1):
unexpected "\t"
expecting "primop", "section" or "thats_all_folks"
make[2]: *** [primop-data-decl.hs-incl] Error 1
make[2]: *** Deleting file `primop-data-decl.hs-incl'
make[1]: *** [boot] Error 1
make[1]: Leaving directory `/home/users/builder/rpm/BUILD/ghc-6.
4.1/ghc'

The same problem doesn't exists when using ghc 6.2.x for
bootstrapping (generated primops.txt is the same in both cases,
tested via md5sum). Problem doesn't exists on other arch like x86,
ppc, amd64, too.

Discussion

  • Simon Marlow
    Simon Marlow
    2005-10-19

    Logged In: YES
    user_id=48280

    perhaps there's something odd about your gcc. Can you
    upload a copy of primiops.txt? (it'll be in
    ghc/compiler/prelude).

     
  • Problematic file

     
    Attachments
  • Logged In: YES
    user_id=139606

    File attached.

     
  • Logged In: NO

    isSpace doesn't work correctly

    [builder@fiskus ~]$ cat Test.hs
    import Char
    main = print (isSpace '\t')
    [builder@fiskus ~]$ ghc Test.hs -o Test && ./Test
    False
    [builder@fiskus ~]$ ghc --version
    The Glorious Glasgow Haskell Compilation System, version 6.4.1

    more complete test:
    [builder@fiskus ~]$ ghc Test.hs -o Test && ./Test
    [True,False,True,True,False,True]
    [builder@fiskus ~]$ cat Test.hs
    import Char; main = print (map isSpace " \t\n\r\f\v")

     
  • Logged In: NO

    More

    [builder@fiskus ~]$ cat Test.hs
    isSpaceTest c = c == ' ' ||
    c == '\t' ||
    c == '\n' ||
    c == '\r' ||
    c == '\f' ||
    c == '\v' ||
    c == '\xa0'

    main = print (map isSpaceTest " \t\n\r\f\v")

    [builder@fiskus ~]$ ghc Test.hs -o Test && ./Test
    [True,True,True,True,True,True]
    [builder@fiskus ~]$ rm -f Test.hi Test.o
    [builder@fiskus ~]$ ghc -O2 Test.hs -o Test && ./Test
    [True,False,True,True,False,True]

     
  • Logged In: YES
    user_id=139606

     
  • source code and .hs + .s files

     
    Attachments