diff --git a/src/lib/ulm/powerpc/ulmTypes.Mod b/src/lib/ulm/powerpc/ulmTypes.Mod index 3b4a8e19..b98b1b36 100644 --- a/src/lib/ulm/powerpc/ulmTypes.Mod +++ b/src/lib/ulm/powerpc/ulmTypes.Mod @@ -65,7 +65,7 @@ MODULE ulmTypes; CONST bigEndian* = 0; (* SPARC, M68K etc *) littleEndian* = 1; (* Intel 80x86, VAX etc *) - byteorder* = littleEndian; (* machine-dependent constant *) + byteorder* = bigEndian; (* machine-dependent constant *) TYPE ByteOrder* = SHORTINT; (* bigEndian or littleEndian *) diff --git a/src/lib/v4/powerpc/Reals.Mod b/src/lib/v4/powerpc/Reals.Mod index e752c0c9..7c022122 100644 --- a/src/lib/v4/powerpc/Reals.Mod +++ b/src/lib/v4/powerpc/Reals.Mod @@ -38,7 +38,8 @@ MODULE Reals; PROCEDURE ExpoL*(x: LONGREAL): INTEGER; VAR h: LONGINT; BEGIN - S.GET(S.ADR(x)+4, h); + (*S.GET(S.ADR(x)+4, h);*) (* commented out, powerpc is big endian *) + S.GET(S.ADR(x), h); RETURN SHORT(ASH(h, -20) MOD 2048) END ExpoL; @@ -52,9 +53,11 @@ MODULE Reals; CONST expo = {1..11}; VAR h: SET; BEGIN - S.GET(S.ADR(x)+4, h); + (*S.GET(S.ADR(x)+4, h);*) (* big endian *) + S.GET(S.ADR(x), h); h := h - expo + S.VAL(SET, ASH(LONG(e), 20)); - S.PUT(S.ADR(x)+4, h) + (*S.PUT(S.ADR(x)+4, h)*) + S.PUT(S.ADR(x), h) END SetExpoL; PROCEDURE Convert*(x: REAL; n: INTEGER; VAR d: ARRAY OF CHAR); diff --git a/vocstatic.linux.gnuc.powerpc b/vocstatic.linux.gnuc.powerpc new file mode 100755 index 00000000..642989c5 Binary files /dev/null and b/vocstatic.linux.gnuc.powerpc differ