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