diff -urN ezm3-1.1/language/modula3/m3compiler/m3middle/src/Target.m3 ezm3-1.1-cross/language/modula3/m3compiler/m3middle/src/Target.m3 --- ezm3-1.1/language/modula3/m3compiler/m3middle/src/Target.m3 2003-03-02 15:39:31.000000000 -0500 +++ ezm3-1.1-cross/language/modula3/m3compiler/m3middle/src/Target.m3 2004-02-13 23:53:27.000000000 -0500 @@ -17,7 +17,7 @@ AIX386, ALPHA_OSF, AP3000, ARM, BSDI4, DS3100, FBSD_ALPHA, FBSD_SPARC64, FreeBSD, FreeBSD2, FreeBSD3, FreeBSD4, HP300, HPPA, IBMR2, - IBMRT, IRIX5, LINUX, LINUXELF, LINUXLIBC6, + IBMRT, IRIX5, LINUX, LINUXELF, LINUXLIBC6, PPC_LINUX, NetBSDarm, NetBSDi386, NetBSDsparc, NEXT, NT386, NT386GNU, OKI, OpenBSD_386, SEQUENT, SOLgnu, SOLsun, SPARC, SUN3, SUN386, Tru64v5, @@ -29,7 +29,7 @@ "AIX386", "ALPHA_OSF", "AP3000", "ARM", "BSDI4", "DS3100", "FBSD_ALPHA", "FBSD_SPARC64", "FreeBSD", "FreeBSD2", "FreeBSD3", "FreeBSD4", "HP300", "HPPA", "IBMR2", - "IBMRT", "IRIX5", "LINUX", "LINUXELF", "LINUXLIBC6", + "IBMRT", "IRIX5", "LINUX", "LINUXELF", "LINUXLIBC6", "PPC_LINUX", "NetBSDarm", "NetBSDi386", "NetBSDsparc", "NEXT", "NT386", "NT386GNU", "OKI", "OpenBSD_386", "SEQUENT", "SOLgnu", "SOLsun", "SPARC", "SUN3", "SUN386", "Tru64v5", @@ -533,6 +533,27 @@ LINUXELFCall (0, "C", 0); END; + | Systems.PPC_LINUX => + (* FIXME: preliminary assumptions bound to change *) + max_align := 64; + Little_endian := FALSE; + PCC_bitfield_type_matters := TRUE; + Structure_size_boundary := 8; + Bitfield_can_overlap := FALSE; + First_readable_addr := 4096 * Char.size; + Jumpbuf_size := 58 * Address.size + + 32 * Address.size + 4; + Jumpbuf_align := Address.align; + Fixed_frame_size := 8 * Address.size; + Guard_page_size := 0 * Char.size; + All_floats_legal := TRUE; + Has_stack_walker := FALSE; + Setjmp := "_setjmp"; + Checks_integer_ops := FALSE; + Global_handler_stack := TRUE; + Aligned_procedures := TRUE; + EOL := "\n"; + | Systems.NEXT => max_align := 16; Little_endian := FALSE; diff -urN ezm3-1.1/libs/libm3/src/random/m3makefile ezm3-1.1-cross/libs/libm3/src/random/m3makefile --- ezm3-1.1/libs/libm3/src/random/m3makefile 2002-03-22 21:28:42.000000000 -0500 +++ ezm3-1.1-cross/libs/libm3/src/random/m3makefile 2004-02-13 23:16:44.000000000 -0500 @@ -32,6 +32,7 @@ "LINUX" : [ _LittleEndian ], "LINUXELF" : [ _LittleEndian ], "LINUXLIBC6" : [ _LittleEndian ], + "PPC_LINUX" : [ _BigEndian ], "NetBSDarm" : [ _LittleEndian ], "NetBSDi386" : [ _LittleEndian ], "NetBSDsparc": [ _BigEndian ], diff -urN ezm3-1.1/m3config/src/COMMON ezm3-1.1-cross/m3config/src/COMMON --- ezm3-1.1/m3config/src/COMMON 2003-04-10 14:26:05.000000000 -0400 +++ ezm3-1.1-cross/m3config/src/COMMON 2004-02-14 03:37:03.316593936 -0500 @@ -600,6 +589,7 @@ "LINUX" : [ "POSIX", "32BITS", "i486--linux", "" ], "LINUXELF" : [ "POSIX", "32BITS", "i486--linuxelf", "T" ], "LINUXLIBC6": [ "POSIX", "32BITS", "i486--linuxelf", "T" ], + "PPC_LINUX" : [ "POSIX", "32BITS", "powerpc--linuxelf", "T" ], "NEXT" : [ "POSIX", "32BITS", "next-bsd", "" ], "NetBSDarm" : [ "POSIX", "32BITS", "arm-unknown-netbsd", "T" ], "NetBSDi386": [ "POSIX", "32BITS", "i486-unknown-netbsdelf", "T" ], diff -urN ezm3-1.1/m3config/src/PPC_LINUX ezm3-1.1-cross/m3config/src/PPC_LINUX --- ezm3-1.1/m3config/src/PPC_LINUX 1969-12-31 19:00:00.000000000 -0500 +++ ezm3-1.1-cross/m3config/src/PPC_LINUX 2004-02-13 15:14:44.000000000 -0500 @@ -0,0 +1,14 @@ + +readonly TARGET = "PPC_LINUX" + +include("COMMON") + +INSTALL_ROOT = "/usr/local" +X11ROOT = "/usr/X11R6/lib" + +% The internal back end is disabled in ezm3. +%PLATFORM_SUPPORTS_INTERNAL_BACKEND = "T" +PLATFORM_SUPPORTS_SHARED_LIB = "T" + +setDefault("","") +