Made linux68k work; commoned up all the generic linux includes.
authorDavid Given <dg@cowlark.com>
Sat, 23 Jun 2018 10:35:17 +0000 (12:35 +0200)
committerDavid Given <dg@cowlark.com>
Sat, 23 Jun 2018 10:35:17 +0000 (12:35 +0200)
12 files changed:
build.lua
lang/cem/libcc.ansi/malloc/calloc.c
plat/linux/include/ack/fcntl.h [moved from plat/linux386/include/ack/fcntl.h with 70% similarity]
plat/linux/include/ack/plat.h [moved from plat/linux386/include/ack/plat.h with 88% similarity]
plat/linux/include/ack/signal.h [moved from plat/linux386/include/ack/signal.h with 100% similarity]
plat/linux/include/sys/ioctl.h [moved from plat/linux386/include/sys/ioctl.h with 100% similarity]
plat/linux/include/sys/types.h [moved from plat/linux386/include/sys/types.h with 100% similarity]
plat/linux386/include/build.lua
plat/linux68k/include/ack/plat.h [deleted file]
plat/linux68k/include/build.lua
plat/linux68k/include/sys/ioctl.h [deleted file]
plat/linux68k/include/unistd.h [deleted file]

index 7b187c6..3476efa 100644 (file)
--- 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",
index 814841f..8695f17 100644 (file)
@@ -1,6 +1,7 @@
 #include <stdlib.h>
 #include <stdint.h>
 #include <unistd.h>
+#include <string.h>
 
 void* calloc(size_t nmemb, size_t size)
 {
similarity index 70%
rename from plat/linux386/include/ack/fcntl.h
rename to plat/linux/include/ack/fcntl.h
index c3e2e64..361fad9 100644 (file)
@@ -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
similarity index 88%
rename from plat/linux386/include/ack/plat.h
rename to plat/linux/include/ack/plat.h
index 65911f4..0a2f9dd 100644 (file)
@@ -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
 
index 37ef9c5..c26cdf0 100644 (file)
@@ -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 (file)
index 9145197..0000000
+++ /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
index 131a52b..dc53334 100644 (file)
@@ -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 (file)
index af41165..0000000
+++ /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. */
-/* <include/asm-i386/socket.h> */
-
-#define FIOSETOWN 0x00008901
-#define SIOCSPGRP 0x00008902
-#define FIOGETOWN 0x00008903
-#define SIOCGPGRP 0x00008904
-#define SIOCATMARK 0x00008905
-#define SIOCGSTAMP 0x00008906
-
-/* <include/asm-i386/termios.h> */
-
-#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 (file)
index 927a204..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * unistd.h - standard system calls
- */
-/* $Id$ */
-
-#ifndef _UNISTD_H
-#define _UNISTD_H
-
-#include <stddef.h>
-#include <time.h>
-
-/* 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