On Fri, 2005-02-25 at 12:31 +0100, Leopold Toetsch wrote: > I'm still waiting for confirmation that the recipe below works for > ppc-linux.
Nope, the assembler here doesn't understand the code. Here's what worked for me. -- c
#define PPC_JIT_GP_REGISTER_SAVE_SPACE (4*19) ;; This macro would generate the below asm, but requires using 'cc -c' ;; rather than 'as' as the assembler (so that the preprocessor runs), ;; and this is not currently configurable in the Parrot makefiles .macro RESTORE_NONVOLATILE_FLOATS lfd f14, -PPC_JIT_GP_REGISTER_SAVE_SPACE-1*8(r1) lfd f15, -PPC_JIT_GP_REGISTER_SAVE_SPACE-2*8(r1) lfd f16, -PPC_JIT_GP_REGISTER_SAVE_SPACE-3*8(r1) lfd f17, -PPC_JIT_GP_REGISTER_SAVE_SPACE-4*8(r1) lfd f18, -PPC_JIT_GP_REGISTER_SAVE_SPACE-5*8(r1) lfd f19, -PPC_JIT_GP_REGISTER_SAVE_SPACE-6*8(r1) lfd f20, -PPC_JIT_GP_REGISTER_SAVE_SPACE-7*8(r1) lfd f21, -PPC_JIT_GP_REGISTER_SAVE_SPACE-8*8(r1) lfd f22, -PPC_JIT_GP_REGISTER_SAVE_SPACE-9*8(r1) lfd f23, -PPC_JIT_GP_REGISTER_SAVE_SPACE-10*8(r1) lfd f24, -PPC_JIT_GP_REGISTER_SAVE_SPACE-11*8(r1) lfd f25, -PPC_JIT_GP_REGISTER_SAVE_SPACE-12*8(r1) lfd f26, -PPC_JIT_GP_REGISTER_SAVE_SPACE-13*8(r1) lfd f27, -PPC_JIT_GP_REGISTER_SAVE_SPACE-14*8(r1) lfd f28, -PPC_JIT_GP_REGISTER_SAVE_SPACE-15*8(r1) lfd f29, -PPC_JIT_GP_REGISTER_SAVE_SPACE-16*8(r1) lfd f30, -PPC_JIT_GP_REGISTER_SAVE_SPACE-17*8(r1) lfd f31, -PPC_JIT_GP_REGISTER_SAVE_SPACE-18*8(r1) .endmacro .text .align 12 ; vm page aligned .globl _Parrot_ppc_jit_restore_nonvolatile_registers _Parrot_ppc_jit_restore_nonvolatile_registers: lfd f14,-84(r1) lfd f15,-92(r1) lfd f16,-100(r1) lfd f17,-108(r1) lfd f18,-116(r1) lfd f19,-124(r1) lfd f20,-132(r1) lfd f21,-140(r1) lfd f22,-148(r1) lfd f23,-156(r1) lfd f24,-164(r1) lfd f25,-172(r1) lfd f26,-180(r1) lfd f27,-188(r1) lfd f28,-196(r1) lfd f29,-204(r1) lfd f30,-212(r1) lfd f31,-220(r1) blr