Make linuxppc work.
This commit is contained in:
parent
b267b56ad9
commit
b727b7affd
|
@ -9,7 +9,7 @@ vars.plats = {
|
||||||
"cpm",
|
"cpm",
|
||||||
"linux386",
|
"linux386",
|
||||||
"linux68k",
|
"linux68k",
|
||||||
-- "linuxppc",
|
"linuxppc",
|
||||||
-- "osx386",
|
-- "osx386",
|
||||||
-- "osxppc",
|
-- "osxppc",
|
||||||
-- --"qemuppc",
|
-- --"qemuppc",
|
||||||
|
@ -21,7 +21,7 @@ vars.plats = {
|
||||||
vars.plats_with_tests = {
|
vars.plats_with_tests = {
|
||||||
"linux68k",
|
"linux68k",
|
||||||
"linux386",
|
"linux386",
|
||||||
-- "linuxppc",
|
"linuxppc",
|
||||||
-- --"qemuppc",
|
-- --"qemuppc",
|
||||||
-- "pc86",
|
-- "pc86",
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,6 +50,8 @@
|
||||||
(not including real-time signals). */
|
(not including real-time signals). */
|
||||||
typedef void (*sighandler_t)(int);
|
typedef void (*sighandler_t)(int);
|
||||||
typedef uint16_t sigset_t;
|
typedef uint16_t sigset_t;
|
||||||
|
|
||||||
|
struct sigaction;
|
||||||
#else
|
#else
|
||||||
#include <ack/signal.h>
|
#include <ack/signal.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -86,6 +88,7 @@ extern int kill(pid_t old, int sig);
|
||||||
extern int open(const char* path, int access, ...);
|
extern int open(const char* path, int access, ...);
|
||||||
extern int raise(int signum);
|
extern int raise(int signum);
|
||||||
extern int settimeofday(const struct timeval* tv, const struct timezone* tz);
|
extern int settimeofday(const struct timeval* tv, const struct timezone* tz);
|
||||||
|
extern int sigaction(int, const struct sigaction *, struct sigaction *);
|
||||||
extern int sigprocmask(int, const sigset_t *, sigset_t *);
|
extern int sigprocmask(int, const sigset_t *, sigset_t *);
|
||||||
extern int unlink(const char* path);
|
extern int unlink(const char* path);
|
||||||
extern off_t lseek(int fildes, off_t offset, int whence);
|
extern off_t lseek(int fildes, off_t offset, int whence);
|
||||||
|
|
|
@ -56,4 +56,21 @@ typedef unsigned long sigset_t;
|
||||||
|
|
||||||
typedef void (*sighandler_t)(int);
|
typedef void (*sighandler_t)(int);
|
||||||
|
|
||||||
|
/* sa_flags */
|
||||||
|
#define SA_NODEFER 0x40000000UL
|
||||||
|
#define SA_RESETHAND 0x80000000UL
|
||||||
|
|
||||||
|
struct __siginfo;
|
||||||
|
struct sigaction {
|
||||||
|
union {
|
||||||
|
void (*__sa_handler)(int);
|
||||||
|
void (*__sa_sigaction)(int, struct __siginfo *, void *);
|
||||||
|
} __sigaction_u;
|
||||||
|
sigset_t sa_mask;
|
||||||
|
unsigned long sa_flags;
|
||||||
|
void (*sa_restorer)(void);
|
||||||
|
};
|
||||||
|
#define sa_handler __sigaction_u.__sa_handler
|
||||||
|
#define sa_sigaction __sigaction_u.__sa_sigaction
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -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
|
|
|
@ -4,13 +4,15 @@ headermap = {}
|
||||||
packagemap = {}
|
packagemap = {}
|
||||||
|
|
||||||
local function addheader(h)
|
local function addheader(h)
|
||||||
headermap[h] = "./"..h
|
headermap[h] = "plat/linux/include/"..h
|
||||||
packagemap["$(PLATIND)/linuxppc/include/"..h] = "./"..h
|
packagemap["$(PLATIND)/linuxppc/include/"..h] = "plat/linux/include/"..h
|
||||||
end
|
end
|
||||||
|
|
||||||
addheader("ack/plat.h")
|
addheader("ack/plat.h")
|
||||||
|
addheader("ack/fcntl.h")
|
||||||
|
addheader("ack/signal.h")
|
||||||
addheader("sys/ioctl.h")
|
addheader("sys/ioctl.h")
|
||||||
addheader("unistd.h")
|
addheader("sys/types.h")
|
||||||
|
|
||||||
acklibrary {
|
acklibrary {
|
||||||
name = "headers",
|
name = "headers",
|
||||||
|
@ -22,3 +24,5 @@ installable {
|
||||||
map = packagemap
|
map = packagemap
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
|
|
@ -1,151 +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;
|
|
||||||
|
|
||||||
/* sa_flags */
|
|
||||||
#define SA_NODEFER 0x40000000UL
|
|
||||||
#define SA_RESETHAND 0x80000000UL
|
|
||||||
|
|
||||||
struct __siginfo;
|
|
||||||
struct sigaction {
|
|
||||||
union {
|
|
||||||
void (*__sa_handler)(int);
|
|
||||||
void (*__sa_sigaction)(int, struct __siginfo *, void *);
|
|
||||||
} __sigaction_u;
|
|
||||||
sigset_t sa_mask;
|
|
||||||
unsigned long sa_flags;
|
|
||||||
void (*sa_restorer)(void);
|
|
||||||
};
|
|
||||||
#define sa_handler __sigaction_u.__sa_handler
|
|
||||||
#define sa_sigaction __sigaction_u.__sa_sigaction
|
|
||||||
|
|
||||||
typedef void (*sighandler_t)(int);
|
|
||||||
extern int sigaction(int, const struct sigaction *, struct sigaction *);
|
|
||||||
extern sighandler_t signal(int signum, sighandler_t handler);
|
|
||||||
extern int sigprocmask(int, const sigset_t *, sigset_t *);
|
|
||||||
extern int raise(int signum);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
Loading…
Reference in a new issue