From b267b56ad921c6d645f7c9b16b285c2b97209e9d Mon Sep 17 00:00:00 2001 From: David Given Date: Sat, 23 Jun 2018 12:35:17 +0200 Subject: [PATCH] Made linux68k work; commoned up all the generic linux includes. --- build.lua | 4 +- lang/cem/libcc.ansi/malloc/calloc.c | 1 + plat/{linux386 => linux}/include/ack/fcntl.h | 6 +- plat/{linux386 => linux}/include/ack/plat.h | 2 - plat/{linux386 => linux}/include/ack/signal.h | 0 plat/{linux386 => linux}/include/sys/ioctl.h | 0 plat/{linux386 => linux}/include/sys/types.h | 0 plat/linux386/include/build.lua | 4 +- plat/linux68k/include/ack/plat.h | 14 -- plat/linux68k/include/build.lua | 9 +- plat/linux68k/include/sys/ioctl.h | 76 ---------- plat/linux68k/include/unistd.h | 133 ------------------ 12 files changed, 14 insertions(+), 235 deletions(-) rename plat/{linux386 => linux}/include/ack/fcntl.h (70%) rename plat/{linux386 => linux}/include/ack/plat.h (88%) rename plat/{linux386 => linux}/include/ack/signal.h (100%) rename plat/{linux386 => linux}/include/sys/ioctl.h (100%) rename plat/{linux386 => linux}/include/sys/types.h (100%) delete mode 100644 plat/linux68k/include/ack/plat.h delete mode 100644 plat/linux68k/include/sys/ioctl.h delete mode 100644 plat/linux68k/include/unistd.h diff --git a/build.lua b/build.lua index 7b187c6d0..3476efaec 100644 --- a/build.lua +++ b/build.lua @@ -8,7 +8,7 @@ vars.ackldflags = {} vars.plats = { "cpm", "linux386", --- "linux68k", + "linux68k", -- "linuxppc", -- "osx386", -- "osxppc", @@ -19,7 +19,7 @@ vars.plats = { -- "em22", } vars.plats_with_tests = { --- "linux68k", + "linux68k", "linux386", -- "linuxppc", -- --"qemuppc", diff --git a/lang/cem/libcc.ansi/malloc/calloc.c b/lang/cem/libcc.ansi/malloc/calloc.c index 814841fd5..8695f17f0 100644 --- a/lang/cem/libcc.ansi/malloc/calloc.c +++ b/lang/cem/libcc.ansi/malloc/calloc.c @@ -1,6 +1,7 @@ #include #include #include +#include void* calloc(size_t nmemb, size_t size) { diff --git a/plat/linux386/include/ack/fcntl.h b/plat/linux/include/ack/fcntl.h similarity index 70% rename from plat/linux386/include/ack/fcntl.h rename to plat/linux/include/ack/fcntl.h index c3e2e643b..361fad97a 100644 --- a/plat/linux386/include/ack/fcntl.h +++ b/plat/linux/include/ack/fcntl.h @@ -11,9 +11,9 @@ enum O_WRONLY = 1, O_RDWR = 2, - O_CREAT = 0x40, - O_TRUNC = 0x200, - O_APPEND = 0x400 + O_CREAT = 00000100, + O_TRUNC = 00001000, + O_APPEND = 00002000 }; #endif diff --git a/plat/linux386/include/ack/plat.h b/plat/linux/include/ack/plat.h similarity index 88% rename from plat/linux386/include/ack/plat.h rename to plat/linux/include/ack/plat.h index 65911f47e..0a2f9dded 100644 --- a/plat/linux386/include/ack/plat.h +++ b/plat/linux/include/ack/plat.h @@ -11,8 +11,6 @@ /* #define ACKCONF_TIME_IS_A_SYSCALL */ -/* Linux has its own O_ definitions. */ - #define ACKCONF_WANT_STANDARD_O 0 #define ACKCONF_WANT_STANDARD_SIGNALS 0 diff --git a/plat/linux386/include/ack/signal.h b/plat/linux/include/ack/signal.h similarity index 100% rename from plat/linux386/include/ack/signal.h rename to plat/linux/include/ack/signal.h diff --git a/plat/linux386/include/sys/ioctl.h b/plat/linux/include/sys/ioctl.h similarity index 100% rename from plat/linux386/include/sys/ioctl.h rename to plat/linux/include/sys/ioctl.h diff --git a/plat/linux386/include/sys/types.h b/plat/linux/include/sys/types.h similarity index 100% rename from plat/linux386/include/sys/types.h rename to plat/linux/include/sys/types.h diff --git a/plat/linux386/include/build.lua b/plat/linux386/include/build.lua index 37ef9c565..c26cdf067 100644 --- a/plat/linux386/include/build.lua +++ b/plat/linux386/include/build.lua @@ -4,8 +4,8 @@ headermap = {} packagemap = {} local function addheader(h) - headermap[h] = "./"..h - packagemap["$(PLATIND)/linux386/include/"..h] = "./"..h + headermap[h] = "plat/linux/include/"..h + packagemap["$(PLATIND)/linux386/include/"..h] = "plat/linux/include/"..h end addheader("ack/plat.h") diff --git a/plat/linux68k/include/ack/plat.h b/plat/linux68k/include/ack/plat.h deleted file mode 100644 index 9145197c4..000000000 --- a/plat/linux68k/include/ack/plat.h +++ /dev/null @@ -1,14 +0,0 @@ -/* $Source: /cvsroot/tack/Ack/plat/linux386/include/ack/config.h,v $ - * $State: Exp $ - * $Revision: 1.1 $ - */ - -#ifndef _ACK_PLAT_H -#define _ACK_PLAT_H - -/* We're providing a time() system call rather than wanting a wrapper around - * gettimeofday() in the libc. */ - -/* #define ACKCONF_TIME_IS_A_SYSCALL */ - -#endif diff --git a/plat/linux68k/include/build.lua b/plat/linux68k/include/build.lua index 131a52ba9..dc5333430 100644 --- a/plat/linux68k/include/build.lua +++ b/plat/linux68k/include/build.lua @@ -4,13 +4,15 @@ headermap = {} packagemap = {} local function addheader(h) - headermap[h] = "./"..h - packagemap["$(PLATIND)/linux68k/include/"..h] = "./"..h + headermap[h] = "plat/linux/include/"..h + packagemap["$(PLATIND)/linux68k/include/"..h] = "plat/linux/include/"..h end addheader("ack/plat.h") +addheader("ack/fcntl.h") +addheader("ack/signal.h") addheader("sys/ioctl.h") -addheader("unistd.h") +addheader("sys/types.h") acklibrary { name = "headers", @@ -22,3 +24,4 @@ installable { map = packagemap } + diff --git a/plat/linux68k/include/sys/ioctl.h b/plat/linux68k/include/sys/ioctl.h deleted file mode 100644 index af41165d7..000000000 --- a/plat/linux68k/include/sys/ioctl.h +++ /dev/null @@ -1,76 +0,0 @@ -/* $Source: /cvsroot/tack/Ack/plat/linux386/include/sys/ioctl.h,v $ - * $State: Exp $ - * $Revision: 1.1 $ - */ - -#ifndef _SYS_IOCTL_H -#define _SYS_IOCTL_H - -/* These are copied from the ioctl_list(2) man page. */ - -/* */ - -#define FIOSETOWN 0x00008901 -#define SIOCSPGRP 0x00008902 -#define FIOGETOWN 0x00008903 -#define SIOCGPGRP 0x00008904 -#define SIOCATMARK 0x00008905 -#define SIOCGSTAMP 0x00008906 - -/* */ - -#define TCGETS 0x00005401 -#define TCSETS 0x00005402 -#define TCSETSW 0x00005403 -#define TCSETSF 0x00005404 -#define TCGETA 0x00005405 -#define TCSETA 0x00005406 -#define TCSETAW 0x00005407 -#define TCSETAF 0x00005408 -#define TCSBRK 0x00005409 -#define TCXONC 0x0000540A -#define TCFLSH 0x0000540B -#define TIOCEXCL 0x0000540C -#define TIOCNXCL 0x0000540D -#define TIOCSCTTY 0x0000540E -#define TIOCGPGRP 0x0000540F -#define TIOCSPGRP 0x00005410 -#define TIOCOUTQ 0x00005411 -#define TIOCSTI 0x00005412 -#define TIOCGWINSZ 0x00005413 -#define TIOCSWINSZ 0x00005414 -#define TIOCMGET 0x00005415 -#define TIOCMBIS 0x00005416 -#define TIOCMBIC 0x00005417 -#define TIOCMSET 0x00005418 -#define TIOCGSOFTCAR 0x00005419 -#define TIOCSSOFTCAR 0x0000541A -#define FIONREAD 0x0000541B -#define TIOCINQ 0x0000541B -#define TIOCLINUX 0x0000541C -#define TIOCCONS 0x0000541D -#define TIOCGSERIAL 0x0000541E -#define TIOCSSERIAL 0x0000541F -#define TIOCPKT 0x00005420 -#define FIONBIO 0x00005421 -#define TIOCNOTTY 0x00005422 -#define TIOCSETD 0x00005423 -#define TIOCGETD 0x00005424 -#define TCSBRKP 0x00005425 -#define TIOCTTYGSTRUCT 0x00005426 -#define FIONCLEX 0x00005450 -#define FIOCLEX 0x00005451 -#define FIOASYNC 0x00005452 -#define TIOCSERCONFIG 0x00005453 -#define TIOCSERGWILD 0x00005454 -#define TIOCSERSWILD 0x00005455 -#define TIOCGLCKTRMIOS 0x00005456 -#define TIOCSLCKTRMIOS 0x00005457 -#define TIOCSERGSTRUCT 0x00005458 -#define TIOCSERGETLSR 0x00005459 -#define TIOCSERGETMULTI 0x0000545A -#define TIOCSERSETMULTI 0x0000545B - - - -#endif diff --git a/plat/linux68k/include/unistd.h b/plat/linux68k/include/unistd.h deleted file mode 100644 index 927a20459..000000000 --- a/plat/linux68k/include/unistd.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * unistd.h - standard system calls - */ -/* $Id$ */ - -#ifndef _UNISTD_H -#define _UNISTD_H - -#include -#include - -/* Types */ - -typedef int pid_t; -typedef int mode_t; - -typedef long suseconds_t; - -/* Time handling. */ - -struct timeval -{ - time_t tv_sec; - suseconds_t tv_usec; -}; - -struct timezone -{ - int tz_minuteswest; - int tz_dsttime; -}; /* obsolete, unused */ - -extern int gettimeofday(struct timeval* tv, struct timezone* tz); -extern int settimeofday(const struct timeval* tv, const struct timezone* tz); - -/* File access. */ - -enum -{ - O_ACCMODE = 0x3, - - O_RDONLY = 0, - O_WRONLY = 1, - O_RDWR = 2, - - O_CREAT = 0x10, - O_TRUNC = 0x20, - O_APPEND = 0x40 -}; - -extern int open(const char* path, int access, ...); -extern int creat(const char* path, mode_t mode); -extern int close(int d); -extern int read(int fd, void* buffer, size_t count); -extern int write(int fd, void* buffer, size_t count); -extern off_t lseek(int fildes, off_t offset, int whence); -extern int fcntl(int fd, int op, ...); -extern int unlink(const char* path); - -/* Special variables */ - -extern char** environ; - -/* Implemented system calls */ - -extern void _exit(int); -extern pid_t getpid(void); -extern int brk(void* ptr); -extern void* sbrk(int increment); -extern int isatty(int d); -extern int execve(const char *path, char *const argv[], char *const envp[]); - -/* Signal handling */ - -typedef int sig_atomic_t; - -#define SIG_ERR ((sighandler_t) -1) /* Error return. */ -#define SIG_DFL ((sighandler_t) 0) /* Default action. */ -#define SIG_IGN ((sighandler_t) 1) /* Ignore signal. */ - -#define SIGHUP 1 /* Hangup (POSIX). */ -#define SIGINT 2 /* Interrupt (ANSI). */ -#define SIGQUIT 3 /* Quit (POSIX). */ -#define SIGILL 4 /* Illegal instruction (ANSI). */ -#define SIGTRAP 5 /* Trace trap (POSIX). */ -#define SIGABRT 6 /* Abort (ANSI). */ -#define SIGIOT 6 /* IOT trap (4.2 BSD). */ -#define SIGBUS 7 /* BUS error (4.2 BSD). */ -#define SIGFPE 8 /* Floating-point exception (ANSI). */ -#define SIGKILL 9 /* Kill, unblockable (POSIX). */ -#define SIGUSR1 10 /* User-defined signal 1 (POSIX). */ -#define SIGSEGV 11 /* Segmentation violation (ANSI). */ -#define SIGUSR2 12 /* User-defined signal 2 (POSIX). */ -#define SIGPIPE 13 /* Broken pipe (POSIX). */ -#define SIGALRM 14 /* Alarm clock (POSIX). */ -#define SIGTERM 15 /* Termination (ANSI). */ -#define SIGSTKFLT 16 /* Stack fault. */ -#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ -#define SIGCHLD 17 /* Child status has changed (POSIX). */ -#define SIGCONT 18 /* Continue (POSIX). */ -#define SIGSTOP 19 /* Stop, unblockable (POSIX). */ -#define SIGTSTP 20 /* Keyboard stop (POSIX). */ -#define SIGTTIN 21 /* Background read from tty (POSIX). */ -#define SIGTTOU 22 /* Background write to tty (POSIX). */ -#define SIGURG 23 /* Urgent condition on socket (4.2 BSD). */ -#define SIGXCPU 24 /* CPU limit exceeded (4.2 BSD). */ -#define SIGXFSZ 25 /* File size limit exceeded (4.2 BSD). */ -#define SIGVTALRM 26 /* Virtual alarm clock (4.2 BSD). */ -#define SIGPROF 27 /* Profiling alarm clock (4.2 BSD). */ -#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ -#define SIGPOLL SIGIO /* Pollable event occurred (System V). */ -#define SIGIO 29 /* I/O now possible (4.2 BSD). */ -#define SIGPWR 30 /* Power failure restart (System V). */ -#define SIGSYS 31 /* Bad system call. */ -#define SIGUNUSED 31 - -#define _NSIG 32 /* Biggest signal number + 1 - (not including real-time signals). */ - -/* sigprocmask */ -#define SIG_BLOCK 0 -#define SIG_UNBLOCK 1 -#define SIG_SETMASK 2 -typedef unsigned long sigset_t; - -typedef void (*sighandler_t)(int); -extern sighandler_t signal(int signum, sighandler_t handler); -extern int sigprocmask(int, const sigset_t *, sigset_t *); -extern int raise(int signum); - - - -#endif -- 2.34.1