cvsuser 05/02/19 04:28:39
Modified: config/gen/makefiles root.in
src exec_start.c
Log:
Repair the creation of executables from Parrot ByteCode.
The PMC register P5 is now accesed via the macro REG_PMC.
'make testexec' and 'make hello' should work again.
The main task, testing execs for all testcase, remains to do.
Revision Changes Path
1.274 +20 -16 parrot/config/gen/makefiles/root.in
Index: root.in
===================================================================
RCS file: /cvs/public/parrot/config/gen/makefiles/root.in,v
retrieving revision 1.273
retrieving revision 1.274
diff -u -r1.273 -r1.274
--- root.in 2 Feb 2005 12:23:25 -0000 1.273
+++ root.in 19 Feb 2005 12:28:38 -0000 1.274
@@no-spam -1,5 +1,5 @@no-spam
# Copyright: 2001-2005 The Perl Foundation. All Rights Reserved.
-# $Id: root.in,v 1.273 2005/02/02 12:23:25 leo Exp $
+# $Id: root.in,v 1.274 2005/02/19 12:28:38 bernhard Exp $
###############################################################################
#
@@no-spam -468,12 +468,16 @@no-spam
.c$(O) :
@no-spam tools/dev/cc_flags.pl ./CFLAGS $(CC) "" $(CFLAGS) -I$(@no-spam ${cc_o_out}$@no-spam -c $<
-.imc.pbc:
+.imc.pbc :
.${slash}$(PARROT) -o $@no-spam $<
-.pir.pbc:
+.pir.pbc :
.${slash}$(PARROT) -o $@no-spam $<
+.pbc$(O) :
+ .${slash}$(PARROT) -o $@no-spam $<
+
+
###############################################################################
#
# USER TARGETS:
@@no-spam -596,7 +600,7 @@no-spam
@no-spam ""
@no-spam "Misc:"
@no-spam " help: Print this help message."
- @no-spam " hello: 'Hello World' in PASM"
+ @no-spam " hello: 'Hello World' as an executable."
@no-spam " mops: Currently not working???"
@no-spam ""
@@no-spam -1385,23 +1389,23 @@no-spam
# test the EXEC stuff
-testexec: hello-parrot hello-clean
+testexec: hello
hello-clean:
- @no-spam hello.pasm hello$(O) hello
+ $(RM_F) hello.pasm hello.pbc hello$(O) hello
-hello-parrot: hello
+hello.pasm :
+ echo '# This is used for testing EXEC.' > hello.pasm
+ echo 'print "Hello World\n"' >> hello.pasm
+ echo 'end' >> hello.pasm
-hello.pasm:
- echo 'print "Hello World\n"' > hello.pasm
- echo 'end' >> hello.pasm
+hello.pbc: hello.pasm
+ .${slash}$(PARROT) -o hello.pbc hello.pasm
-hello.pbc: hello.pasm
- ./parrot -o hello.pbc hello.pasm
+hello$(O): hello.pbc
+ .${slash}$(PARROT) -o hello$(O) hello.pbc
-hello$(O): hello.pbc
- ./parrot -o hello$(O) hello.pbc
-
-hello: hello$(O)
+hello: test_prep hello$(O)
$(MAKE) EXEC=hello exec
./hello
+
1.14 +3 -3 parrot/src/exec_start.c
Index: exec_start.c
===================================================================
RCS file: /cvs/public/parrot/src/exec_start.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- exec_start.c 18 Oct 2004 01:35:33 -0000 1.13
+++ exec_start.c 19 Feb 2005 12:28:39 -0000 1.14
@@no-spam -1,6 +1,6 @@no-spam
/*
-Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-$Id: exec_start.c,v 1.13 2004/10/18 01:35:33 brentdax Exp $
+Copyright: 2001-2005 The Perl Foundation. All Rights Reserved.
+$Id: exec_start.c,v 1.14 2005/02/19 12:28:39 bernhard Exp $
=head1 NAME
@@no-spam -59,7 +59,7 @@no-spam
userargv = pmc_new_noinit(interpreter, enum_class_SArray);
/* immediately anchor pmc to root set */
- interpreter->pmc_reg.registers[5] = userargv;
+ REG_PMC(5) = userargv;
VTABLE_set_pmc_keyed_int(interpreter, interpreter->iglobals,
(INTVAL)IGLOBALS_ARGV_LIST, userargv);
VTABLE_init(interpreter, userargv);