Somehow the body of my original email (
http://mail.opensolaris.org/pipermail/opensolaris-code/2010-November/008434.html)
was lost, so here is the full email again...



Hi,

I am trying to build qemu (http://www.qemu.org) but get the following
messages when linking:

...
LINK  sparc-softmmu/qemu-system-sparc
ld: fatal: register REG_G2 symbol used incompatibly:
        (file cpu-exec.o symbol 'env', file /lib/sparcv9/libm.so symbol
'<SCRATCH REGISTER 2>');
ld: fatal: file processing errors. No output written to qemu-system-sparc
collect2: ld returned 1 exit status
gmake[1]: *** [qemu-system-sparc] Error 1
gmake: *** [subdir-sparc-softmmu] Error 2
...

elfdump shows that both g%2 and g%3 are referenced as undef in libm.so:
...
[431]              REG_G2 0x0000000000000000  REGI GLOB  D    0 UNDEF
...
[448]              REG_G3 0x0000000000000000  REGI GLOB  D    0 UNDEF ...

According to the SPARCv9 ABI (
http://developers.sun.com/solaris/articles/sparcv9abi.html) both g2 and g3
are for
applications only.

I have not been able to locate any current libm sources, but suspect that
the library is not buildt properly with
-xregs=no%appl.

The problem is present in both OpenSolaris 2009.06 and still present in
Solaris 11 Express.
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to