Port-powerpc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

powerpc64 ldstm.S



Hi,

while building the necessary bits to make the new bfd.h file for
binutils, I stumbled over this problem while building libc for
macppc64:

    compile  libc/__setjmp14.o
/var/tmp//cc903vFQ.s: Assembler messages:
/var/tmp//cc903vFQ.s:1450: Can't open ldstm.S for reading: No such file or 
directory
/u/build/HEAD/src/lib/libc/arch/powerpc64/gen/__setjmp14.S:35: Error: 
Unrecognized opcode: `stmd'
/u/build/HEAD/src/lib/libc/arch/powerpc64/gen/__setjmp14.S:40: Error: 
Unrecognized opcode: `lmd'

On hints from mrg@, I commented out those two lines, and the
build completed, at least, allowing me to flatten the binutils
mknative bump, at least.

It appears that ldstm.S is supposed to contain an assembler
macro(?) for doing "load and store multiple":

Index: gen/__setjmp14.S
===================================================================
RCS file: /cvsroot/src/lib/libc/arch/powerpc64/gen/__setjmp14.S,v
retrieving revision 1.1
diff -u -p -r1.1 __setjmp14.S
--- gen/__setjmp14.S    7 Jul 2006 21:07:35 -0000       1.1
+++ gen/__setjmp14.S    8 Mar 2009 12:55:21 -0000
@@ -32,12 +32,12 @@ ENTRY(__setjmp14)
        mfcr    %r12
        mr      %r10,%r1
        mr      %r9,%r2
-       stmd    8, 8(%r6)               # save r8-r31
+#      stmd    8, 8(%r6)               # save r8-r31
        li      %r3,0
        blr
 
 ENTRY(__longjmp14)
-       lmd     8, 8(%r3)               # load r8-r31
+#      lmd     8, 8(%r3)               # load r8-r31
        mr      %r6,%r4
        mtlr    %r11
        mtcr    %r12

However, myself, I don't know how to implement that.  Perhaps
someone else here can help?

That's now basically the only build problem for a powerpc64 libc.

Regards,

- Håvard


Home | Main Index | Thread Index | Old Index