On 10/16/11 09:28 PM, Ben Gamari wrote:
On Sun, 16 Oct 2011 21:06:27 +0200, Karel Gardas<[email protected]>  
wrote:
On 10/16/11 08:41 PM, Ben Gamari wrote:
On Sun, 16 Oct 2011 20:03:24 +0200, Karel Gardas<[email protected]>   
wrote:

Also I'm quite out of idea what was your intention on line above so I'm
not able to fix this myself.

Doh, yes. You are right. Fixed. I also fixed a serious oversight in my
target address calculation.

Unfortunately `A' is undeclared:

Ouch, very sorry about that. Fixed. Also fixed a nearby cut-and-
paste-error.

Does not seems so. You still attempt to invoke makeArmSymbolExtra with just 3 args, while it's defined with 4 and I'm not able to fix that since I'm not sure what you like to do with this -- either brackets are wrong here or something like that...

rts/Linker.c: In function ‘do_Elf_Rel_relocations’:

rts/Linker.c:4329:31:
     warning: pointer targets in initialization differ in signedness

rts/Linker.c:4339:16:
     warning: implicit declaration of function ‘makeArmSymbolExtra’

rts/Linker.c:4339:16:
     warning: nested extern declaration of ‘makeArmSymbolExtra’

rts/Linker.c:4339:71:
     error: invalid type argument of ‘->’ (have ‘int’)

rts/Linker.c:4339:83:
     warning: left-hand operand of comma expression has no effect

rts/Linker.c:4339:16:  error: lvalue required as unary ‘&’ operand

rts/Linker.c:4407:71:
     error: invalid type argument of ‘->’ (have ‘int’)

rts/Linker.c:4407:83:
     warning: left-hand operand of comma expression has no effect

rts/Linker.c:4407:16:  error: lvalue required as unary ‘&’ operand

rts/Linker.c:4390:17:  warning: unused variable ‘is_bl’
make[1]: *** [rts/dist/build/Linker.o] Error 1
make: *** [all] Error 2


also how do you do the changes push into Git? I always get conflicts while doing pull from your repo...

Anyways, I'll try building a non-Thumb GHC next. How do I configure the
build system to accomplish this?

I'm just using build.mk I already provided. Then just ./configure; make -j2

nothing more is needed in order to compile build on my system. In fact
I'm quite surprised to consider your LLVM generates thumb by default
while mine generates ARM by default. Are you sure, your build really
generates Thumb?

It seems you are right. There are some symbols that are definitely
emitted as Thumb, but these must have come from libraries. All of the
Haskell code is emitted as full 32-bit ARM instructions. In this case I
really don't know what to blame my SEGVs on.

Kind of imprecision on my side: in fact on my system, ghc is mixed binary as all Haskell code is compiled into ARM ISA by LLVM and C code is compiled into Thumb ISA by GCC. This means ghc's RTS library is Thumb code for example!

Thanks for your patience with my many silly code mistakes.

You are welcome, you do the work I long time prepared myself to do but still don't have time to deal with exactly, so testing is just the help I'm able to provide at the moment...

Thanks!
Karel

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to