On Thu, 2004-11-25 at 07:49 +0100, Leopold Toetsch wrote: > Well, we need a more generic way to include such files. > > * platform_asm.s is just one file and depends on $platform.
Here's a patch that's only a little bit ugly but makes things work automatically for me again. -- c
Index: MANIFEST =================================================================== RCS file: /cvs/public/parrot/MANIFEST,v retrieving revision 1.803 diff -u -u -r1.803 MANIFEST --- MANIFEST 9 Dec 2004 05:54:42 -0000 1.803 +++ MANIFEST 12 Dec 2004 23:21:36 -0000 @@ -240,6 +240,7 @@ config/gen/platform/generic/math.h [] config/gen/platform/generic/memalign.c [] config/gen/platform/generic/memexec.c [] +config/gen/platform/generic/ppc_asm.s [] config/gen/platform/generic/signal.c [] config/gen/platform/generic/signal.h [] config/gen/platform/generic/stat.c [] Index: config/auto/jit.pl =================================================================== RCS file: /cvs/public/parrot/config/auto/jit.pl,v retrieving revision 1.34 diff -u -u -r1.34 jit.pl --- config/auto/jit.pl 20 Oct 2004 08:03:13 -0000 1.34 +++ config/auto/jit.pl 12 Dec 2004 23:21:36 -0000 @@ -116,6 +116,11 @@ $execcapable = 0; } } + + if ($jitcpuarch eq 'ppc' && $osname eq 'linux') + { + Configure::Data->set( platform_asm => 1 ); + } $execcapable = $set_execcapable if defined $set_execcapable; if ($execcapable) { Configure::Data->set( Index: config/gen/platform.pl =================================================================== RCS file: /cvs/public/parrot/config/gen/platform.pl,v retrieving revision 1.19 diff -u -u -r1.19 platform.pl --- config/gen/platform.pl 8 Oct 2004 09:45:01 -0000 1.19 +++ config/gen/platform.pl 12 Dec 2004 23:21:36 -0000 @@ -211,9 +211,14 @@ close PLATFORM_C; if ( Configure::Data->get( 'platform_asm' ) ) { - my $asm_file = "config/gen/platform/$platform/asm.s"; - if ( -e $asm_file ) { + my $asm_path = "config/gen/platform/$platform/"; + + for my $prefix ( Configure::Data->get( 'jitcpuarch' ) . '_', '' ) + { + my $asm_file = $asm_path . $prefix . 'asm.s'; + next unless -e $asm_file; copy_if_diff( $asm_file, "src/platform_asm.s" ); + last; } } --- /dev/null 1969-12-31 16:00:00.000000000 -0800 +++ config/gen/platform/generic/ppc_asm.s 2004-12-12 15:04:24.000000000 -0800 @@ -0,0 +1,25 @@ +.text + .align 12 + .globl Parrot_ppc_jit_restore_nonvolatile_registers +Parrot_ppc_jit_restore_nonvolatile_registers: + + lfd 14, -84(1) + lfd 15, -92(1) + lfd 16, -100(1) + lfd 17, -108(1) + lfd 18, -116(1) + lfd 19, -124(1) + lfd 20, -132(1) + lfd 21, -140(1) + lfd 22, -148(1) + lfd 23, -156(1) + lfd 24, -164(1) + lfd 25, -172(1) + lfd 26, -180(1) + lfd 27, -188(1) + lfd 28, -196(1) + lfd 29, -204(1) + lfd 30, -212(1) + lfd 31, -220(1) + + blr