mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 21:32:26 +00:00
extTools fixed for non 64bit architectures, SysStat can now be compiled on 32bit architectures
Former-commit-id: d9f6914fe5
This commit is contained in:
parent
13ea84f2cd
commit
d765c35b19
9 changed files with 32 additions and 29 deletions
3
hints
3
hints
|
|
@ -2,7 +2,8 @@
|
||||||
0) generate voc.par file for the target platform(if it's not exist in src/par).
|
0) generate voc.par file for the target platform(if it's not exist in src/par).
|
||||||
you can do it by compiling vocparam, and running it as "./vocparam > voc.par"
|
you can do it by compiling vocparam, and running it as "./vocparam > voc.par"
|
||||||
1) generate voc, ocat, showdef source for target platform by running
|
1) generate voc, ocat, showdef source for target platform by running
|
||||||
make port0
|
make -f makefile.gnuc.<arch> port0
|
||||||
|
(or copy corresponding voc.par to the source directory yourself, remove stage2 from port0 section of the makefile, and run make port0)
|
||||||
2) transfer source to a target platform and write
|
2) transfer source to a target platform and write
|
||||||
make port1
|
make port1
|
||||||
(or use a crosscompiler)
|
(or use a crosscompiler)
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ MODULE ulmSysStat;
|
||||||
|
|
||||||
(* examine inode: stat(2) and fstat(2) *)
|
(* examine inode: stat(2) and fstat(2) *)
|
||||||
|
|
||||||
IMPORT RelatedEvents := ulmRelatedEvents, Sys := ulmSys, SYS := SYSTEM, SysConversions := ulmSysConversions, SysError := ulmSysErrors,
|
IMPORT RelatedEvents := ulmRelatedEvents, Sys := ulmSys, SYS := SYSTEM, uSYS := ulmSYSTEM, SysConversions := ulmSysConversions, SysErrors := ulmSysErrors,
|
||||||
SysTypes := ulmSysTypes;
|
SysTypes := ulmSysTypes;
|
||||||
|
|
||||||
CONST
|
CONST
|
||||||
|
|
@ -156,7 +156,7 @@ MODULE ulmSysStat;
|
||||||
d0, d1, d2: LONGINT;
|
d0, d1, d2: LONGINT;
|
||||||
origbuf: UnixStatRec;
|
origbuf: UnixStatRec;
|
||||||
BEGIN
|
BEGIN
|
||||||
IF SYS.UNIXCALL(Sys.newstat, d0, d1, SYS.ADR(path), SYS.ADR(origbuf), d2) THEN
|
IF uSYS.UNIXCALL(Sys.newstat, d0, d1, SYS.ADR(path), SYS.ADR(origbuf), d2) THEN
|
||||||
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
||||||
RETURN TRUE
|
RETURN TRUE
|
||||||
ELSE
|
ELSE
|
||||||
|
|
@ -164,7 +164,7 @@ MODULE ulmSysStat;
|
||||||
RETURN FALSE
|
RETURN FALSE
|
||||||
END;
|
END;
|
||||||
END Stat;
|
END Stat;
|
||||||
|
(*
|
||||||
PROCEDURE Lstat*(path: ARRAY OF CHAR; VAR buf: StatRec;
|
PROCEDURE Lstat*(path: ARRAY OF CHAR; VAR buf: StatRec;
|
||||||
errors: RelatedEvents.Object) : BOOLEAN;
|
errors: RelatedEvents.Object) : BOOLEAN;
|
||||||
VAR
|
VAR
|
||||||
|
|
@ -179,14 +179,14 @@ MODULE ulmSysStat;
|
||||||
RETURN FALSE
|
RETURN FALSE
|
||||||
END;
|
END;
|
||||||
END Lstat;
|
END Lstat;
|
||||||
|
*)
|
||||||
PROCEDURE Fstat*(fd: SysTypes.File; VAR buf: StatRec;
|
PROCEDURE Fstat*(fd: SysTypes.File; VAR buf: StatRec;
|
||||||
errors: RelatedEvents.Object) : BOOLEAN;
|
errors: RelatedEvents.Object) : BOOLEAN;
|
||||||
VAR
|
VAR
|
||||||
d0, d1: INTEGER;
|
d0, d1, d2: LONGINT;
|
||||||
origbuf: UnixStatRec;
|
origbuf: UnixStatRec;
|
||||||
BEGIN
|
BEGIN
|
||||||
IF SYS.UNIXCALL(Sys.newfstat, d0, d1, fd, SYS.ADR(origbuf)) THEN
|
IF uSYS.UNIXCALL(Sys.newfstat, d0, d1, fd, SYS.ADR(origbuf), d2) THEN
|
||||||
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
||||||
RETURN TRUE
|
RETURN TRUE
|
||||||
ELSE
|
ELSE
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ MODULE ulmSysStat;
|
||||||
|
|
||||||
(* examine inode: stat(2) and fstat(2) *)
|
(* examine inode: stat(2) and fstat(2) *)
|
||||||
|
|
||||||
IMPORT RelatedEvents := ulmRelatedEvents, Sys := ulmSys, SYS := SYSTEM, SysConversions := ulmSysConversions, SysError := ulmSysErrors,
|
IMPORT RelatedEvents := ulmRelatedEvents, Sys := ulmSys, SYS := SYSTEM, uSYS := ulmSYSTEM, SysConversions := ulmSysConversions, SysErrors := ulmSysErrors,
|
||||||
SysTypes := ulmSysTypes;
|
SysTypes := ulmSysTypes;
|
||||||
|
|
||||||
CONST
|
CONST
|
||||||
|
|
@ -156,7 +156,7 @@ MODULE ulmSysStat;
|
||||||
d0, d1, d2: LONGINT;
|
d0, d1, d2: LONGINT;
|
||||||
origbuf: UnixStatRec;
|
origbuf: UnixStatRec;
|
||||||
BEGIN
|
BEGIN
|
||||||
IF SYS.UNIXCALL(Sys.newstat, d0, d1, SYS.ADR(path), SYS.ADR(origbuf), d2) THEN
|
IF uSYS.UNIXCALL(Sys.newstat, d0, d1, SYS.ADR(path), SYS.ADR(origbuf), d2) THEN
|
||||||
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
||||||
RETURN TRUE
|
RETURN TRUE
|
||||||
ELSE
|
ELSE
|
||||||
|
|
@ -164,7 +164,7 @@ MODULE ulmSysStat;
|
||||||
RETURN FALSE
|
RETURN FALSE
|
||||||
END;
|
END;
|
||||||
END Stat;
|
END Stat;
|
||||||
|
(*
|
||||||
PROCEDURE Lstat*(path: ARRAY OF CHAR; VAR buf: StatRec;
|
PROCEDURE Lstat*(path: ARRAY OF CHAR; VAR buf: StatRec;
|
||||||
errors: RelatedEvents.Object) : BOOLEAN;
|
errors: RelatedEvents.Object) : BOOLEAN;
|
||||||
VAR
|
VAR
|
||||||
|
|
@ -179,14 +179,14 @@ MODULE ulmSysStat;
|
||||||
RETURN FALSE
|
RETURN FALSE
|
||||||
END;
|
END;
|
||||||
END Lstat;
|
END Lstat;
|
||||||
|
*)
|
||||||
PROCEDURE Fstat*(fd: SysTypes.File; VAR buf: StatRec;
|
PROCEDURE Fstat*(fd: SysTypes.File; VAR buf: StatRec;
|
||||||
errors: RelatedEvents.Object) : BOOLEAN;
|
errors: RelatedEvents.Object) : BOOLEAN;
|
||||||
VAR
|
VAR
|
||||||
d0, d1: INTEGER;
|
d0, d1, d2: LONGINT;
|
||||||
origbuf: UnixStatRec;
|
origbuf: UnixStatRec;
|
||||||
BEGIN
|
BEGIN
|
||||||
IF SYS.UNIXCALL(Sys.newfstat, d0, d1, fd, SYS.ADR(origbuf)) THEN
|
IF uSYS.UNIXCALL(Sys.newfstat, d0, d1, fd, SYS.ADR(origbuf), d2) THEN
|
||||||
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
||||||
RETURN TRUE
|
RETURN TRUE
|
||||||
ELSE
|
ELSE
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ MODULE ulmSysStat;
|
||||||
|
|
||||||
(* examine inode: stat(2) and fstat(2) *)
|
(* examine inode: stat(2) and fstat(2) *)
|
||||||
|
|
||||||
IMPORT RelatedEvents := ulmRelatedEvents, Sys := ulmSys, SYS := SYSTEM, SysConversions := ulmSysConversions, SysError := ulmSysErrors,
|
IMPORT RelatedEvents := ulmRelatedEvents, Sys := ulmSys, SYS := SYSTEM, uSYS := ulmSYSTEM, SysConversions := ulmSysConversions, SysErrors := ulmSysErrors,
|
||||||
SysTypes := ulmSysTypes;
|
SysTypes := ulmSysTypes;
|
||||||
|
|
||||||
CONST
|
CONST
|
||||||
|
|
@ -156,7 +156,7 @@ MODULE ulmSysStat;
|
||||||
d0, d1, d2: LONGINT;
|
d0, d1, d2: LONGINT;
|
||||||
origbuf: UnixStatRec;
|
origbuf: UnixStatRec;
|
||||||
BEGIN
|
BEGIN
|
||||||
IF SYS.UNIXCALL(Sys.newstat, d0, d1, SYS.ADR(path), SYS.ADR(origbuf), d2) THEN
|
IF uSYS.UNIXCALL(Sys.newstat, d0, d1, SYS.ADR(path), SYS.ADR(origbuf), d2) THEN
|
||||||
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
||||||
RETURN TRUE
|
RETURN TRUE
|
||||||
ELSE
|
ELSE
|
||||||
|
|
@ -164,7 +164,7 @@ MODULE ulmSysStat;
|
||||||
RETURN FALSE
|
RETURN FALSE
|
||||||
END;
|
END;
|
||||||
END Stat;
|
END Stat;
|
||||||
|
(*
|
||||||
PROCEDURE Lstat*(path: ARRAY OF CHAR; VAR buf: StatRec;
|
PROCEDURE Lstat*(path: ARRAY OF CHAR; VAR buf: StatRec;
|
||||||
errors: RelatedEvents.Object) : BOOLEAN;
|
errors: RelatedEvents.Object) : BOOLEAN;
|
||||||
VAR
|
VAR
|
||||||
|
|
@ -179,14 +179,14 @@ MODULE ulmSysStat;
|
||||||
RETURN FALSE
|
RETURN FALSE
|
||||||
END;
|
END;
|
||||||
END Lstat;
|
END Lstat;
|
||||||
|
*)
|
||||||
PROCEDURE Fstat*(fd: SysTypes.File; VAR buf: StatRec;
|
PROCEDURE Fstat*(fd: SysTypes.File; VAR buf: StatRec;
|
||||||
errors: RelatedEvents.Object) : BOOLEAN;
|
errors: RelatedEvents.Object) : BOOLEAN;
|
||||||
VAR
|
VAR
|
||||||
d0, d1: INTEGER;
|
d0, d1, d2: LONGINT;
|
||||||
origbuf: UnixStatRec;
|
origbuf: UnixStatRec;
|
||||||
BEGIN
|
BEGIN
|
||||||
IF SYS.UNIXCALL(Sys.newfstat, d0, d1, fd, SYS.ADR(origbuf)) THEN
|
IF uSYS.UNIXCALL(Sys.newfstat, d0, d1, fd, SYS.ADR(origbuf), d2) THEN
|
||||||
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
||||||
RETURN TRUE
|
RETURN TRUE
|
||||||
ELSE
|
ELSE
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ MODULE ulmSysStat;
|
||||||
|
|
||||||
(* examine inode: stat(2) and fstat(2) *)
|
(* examine inode: stat(2) and fstat(2) *)
|
||||||
|
|
||||||
IMPORT RelatedEvents := ulmRelatedEvents, Sys := ulmSys, SYS := SYSTEM, SysConversions := ulmSysConversions, SysError := ulmSysErrors,
|
IMPORT RelatedEvents := ulmRelatedEvents, Sys := ulmSys, SYS := SYSTEM, uSYS := ulmSYSTEM, SysConversions := ulmSysConversions, SysErrors := ulmSysErrors,
|
||||||
SysTypes := ulmSysTypes;
|
SysTypes := ulmSysTypes;
|
||||||
|
|
||||||
CONST
|
CONST
|
||||||
|
|
@ -156,7 +156,7 @@ MODULE ulmSysStat;
|
||||||
d0, d1, d2: LONGINT;
|
d0, d1, d2: LONGINT;
|
||||||
origbuf: UnixStatRec;
|
origbuf: UnixStatRec;
|
||||||
BEGIN
|
BEGIN
|
||||||
IF SYS.UNIXCALL(Sys.newstat, d0, d1, SYS.ADR(path), SYS.ADR(origbuf), d2) THEN
|
IF uSYS.UNIXCALL(Sys.newstat, d0, d1, SYS.ADR(path), SYS.ADR(origbuf), d2) THEN
|
||||||
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
||||||
RETURN TRUE
|
RETURN TRUE
|
||||||
ELSE
|
ELSE
|
||||||
|
|
@ -164,7 +164,7 @@ MODULE ulmSysStat;
|
||||||
RETURN FALSE
|
RETURN FALSE
|
||||||
END;
|
END;
|
||||||
END Stat;
|
END Stat;
|
||||||
|
(*
|
||||||
PROCEDURE Lstat*(path: ARRAY OF CHAR; VAR buf: StatRec;
|
PROCEDURE Lstat*(path: ARRAY OF CHAR; VAR buf: StatRec;
|
||||||
errors: RelatedEvents.Object) : BOOLEAN;
|
errors: RelatedEvents.Object) : BOOLEAN;
|
||||||
VAR
|
VAR
|
||||||
|
|
@ -179,14 +179,14 @@ MODULE ulmSysStat;
|
||||||
RETURN FALSE
|
RETURN FALSE
|
||||||
END;
|
END;
|
||||||
END Lstat;
|
END Lstat;
|
||||||
|
*)
|
||||||
PROCEDURE Fstat*(fd: SysTypes.File; VAR buf: StatRec;
|
PROCEDURE Fstat*(fd: SysTypes.File; VAR buf: StatRec;
|
||||||
errors: RelatedEvents.Object) : BOOLEAN;
|
errors: RelatedEvents.Object) : BOOLEAN;
|
||||||
VAR
|
VAR
|
||||||
d0, d1: INTEGER;
|
d0, d1, d2: LONGINT;
|
||||||
origbuf: UnixStatRec;
|
origbuf: UnixStatRec;
|
||||||
BEGIN
|
BEGIN
|
||||||
IF SYS.UNIXCALL(Sys.newfstat, d0, d1, fd, SYS.ADR(origbuf)) THEN
|
IF uSYS.UNIXCALL(Sys.newfstat, d0, d1, fd, SYS.ADR(origbuf), d2) THEN
|
||||||
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
SysConversions.ByFmtFromC(origbuf, buf, statbuffmt);
|
||||||
RETURN TRUE
|
RETURN TRUE
|
||||||
ELSE
|
ELSE
|
||||||
|
|
|
||||||
|
|
@ -57,12 +57,14 @@ END LinkMain;
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
||||||
incPath0 := "src/lib/system/gnuc/x86_64 ";
|
incPath0 := "src/lib/system/gnuc";
|
||||||
incPath1 := "lib/voc/obj ";
|
incPath1 := "lib/voc/obj ";
|
||||||
ccOpt := " -fPIC -g -I ";
|
ccOpt := " -fPIC -g -I ";
|
||||||
COPY (version.prefix, tmp1);
|
COPY (version.prefix, tmp1);
|
||||||
Strings.Append("/", tmp1);
|
Strings.Append("/", tmp1);
|
||||||
Strings.Append(incPath0, tmp1);
|
Strings.Append(incPath0, tmp1);
|
||||||
|
Strings.Append("/", tmp1);
|
||||||
|
Strings.Append(version.arch, tmp1);
|
||||||
Strings.Append(" -I ", tmp1);
|
Strings.Append(" -I ", tmp1);
|
||||||
Strings.Append(version.prefix, tmp1);
|
Strings.Append(version.prefix, tmp1);
|
||||||
Strings.Append("/", tmp1);
|
Strings.Append("/", tmp1);
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
3c118e5bfc1787c62523a8bb8274faa74779587b
|
bbe6d27c2b427336227ff2a9bf5db1ff160c9184
|
||||||
|
|
@ -1 +1 @@
|
||||||
3c118e5bfc1787c62523a8bb8274faa74779587b
|
bbe6d27c2b427336227ff2a9bf5db1ff160c9184
|
||||||
|
|
@ -1 +1 @@
|
||||||
3c118e5bfc1787c62523a8bb8274faa74779587b
|
bbe6d27c2b427336227ff2a9bf5db1ff160c9184
|
||||||
Loading…
Add table
Add a link
Reference in a new issue