aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.in12
-rw-r--r--README8
-rw-r--r--TODO16
-rw-r--r--debian/changelog14
-rw-r--r--debian/copyright2
-rwxr-xr-xdebian/rules2
-rw-r--r--display_args.c32
-rw-r--r--elf.c8
-rw-r--r--etc/ltrace.conf16
-rw-r--r--execute_program.c8
-rw-r--r--ltrace.14
-rw-r--r--ltrace.h38
-rw-r--r--ltrace.spec2
-rw-r--r--options.c14
-rw-r--r--output.c20
-rw-r--r--read_config_file.c56
-rw-r--r--sysdeps/Linux/README12
-rw-r--r--sysdeps/Linux/arm/signalent.h65
-rw-r--r--sysdeps/Linux/arm/syscallent.h372
-rw-r--r--sysdeps/Linux/i386/signalent.h64
-rw-r--r--sysdeps/Linux/i386/syscallent.h381
-rw-r--r--sysdeps/Linux/m68k/signalent.h64
-rw-r--r--sysdeps/Linux/m68k/syscallent.h380
-rw-r--r--sysdeps/Linux/m68k/syscallent.h-190
-rwxr-xr-xsysdeps/Linux/mksignalent33
-rwxr-xr-xsysdeps/Linux/mksyscallent34
-rwxr-xr-xsysdeps/Linux/mksyscalls36
-rw-r--r--sysdeps/Linux/sparc/Makefile9
-rw-r--r--sysdeps/Linux/sparc/arch.h4
-rw-r--r--sysdeps/Linux/sparc/breakpoint.c21
-rw-r--r--sysdeps/Linux/sparc/regs.c22
-rw-r--r--sysdeps/Linux/sparc/signalent.h0
-rw-r--r--sysdeps/Linux/sparc/syscallent.h256
-rw-r--r--sysdeps/Linux/sparc/trace.c70
-rw-r--r--sysdeps/Linux/trace.c12
-rw-r--r--sysdeps/README30
36 files changed, 934 insertions, 1373 deletions
diff --git a/Makefile.in b/Makefile.in
index 7a582d7..5f64062 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2,13 +2,12 @@
# ltrace's Makefile.in
#
-##ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/)
OS := $(shell uname -s)
TOPDIR = $(shell pwd)
CC = @CC@
-CPPFLAGS = -I$(TOPDIR) -I$(TOPDIR)/sysdeps/$(OS) -I- @DEFS@ #-I$(TOPDIR)/sysdeps/$(ARCH)
+CPPFLAGS = -I$(TOPDIR) -I$(TOPDIR)/sysdeps/$(OS) -I- @DEFS@
CFLAGS = -Wall @CFLAGS@
LDFLAGS =
LIBS = @LIBS@
@@ -17,13 +16,14 @@ OBJ = ltrace.o options.o elf.o output.o read_config_file.o \
execute_program.o wait_for_something.o process_event.o \
display_args.o breakpoints.o proc.o demangle.o
-all: dummy
- $(MAKE) -C sysdeps/$(OS)
- $(MAKE) ltrace
+all: ltrace
ltrace: sysdeps/sysdep.o $(OBJ)
$(CC) $(LDFLAGS) $^ $(LIBS) -o $@
+sysdeps/sysdep.o: dummy
+ $(MAKE) -C sysdeps/$(OS)
+
clean:
$(MAKE) -C sysdeps/$(OS) clean
$(RM) ltrace $(OBJ)
@@ -45,6 +45,6 @@ install: ltrace
dummy:
-.PHONY: all clean distclean dist install
+.PHONY: all clean distclean dist install dummy
.EXPORT_ALL_VARIABLES:
diff --git a/README b/README
index 389cff3..a911698 100644
--- a/README
+++ b/README
@@ -2,7 +2,7 @@
A Dynamic Library Tracer
- Copyright 1997,1998 Juan Cespedes <cespedes@debian.org>
+ Copyright 1997-1999 Juan Cespedes <cespedes@debian.org>
Contents
@@ -13,7 +13,7 @@ Contents
3. How does it work
4. Where does it work
5. Bugs
- 6. Licence
+ 6. License
0. Authors
@@ -58,9 +58,9 @@ or mail ``Juan Cespedes <cespedes@debian.org>''.
This file is very incomplete and out-of-date.
-6. Licence
+6. License
----------
- Copyright (C) 1997,1998 Juan Cespedes <cespedes@debian.org>
+ Copyright (C) 1997-1999 Juan Cespedes <cespedes@debian.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/TODO b/TODO
index 3944734..b18f397 100644
--- a/TODO
+++ b/TODO
@@ -1,13 +1,23 @@
+* BFD:
+ + New executable formats
+ + Read list of libraries needed
+ + Read list of undefined symbols in executables
+ + Read list of exported symbols in libraries
+ + Read debugging info from executables/libraries
+* Update list of syscalls to Linux-2.2.*
+* "\\", "\"", '\''
+* Improve documentation
* Improve option -e
+* "-l" option: trace functions from these libraries
* Improve C++ name demangling
-* Improve documentation
* Display different argument types:
+ how to display execl...?
+ format+: for scanf()...: display args as pointers, and imply `+' for args
* Update /etc/ltrace.conf
-* SPARC:
- + almost all...
* netscape:
+ Why does it show so many `breakpointed at:' messages?
\- Is this still true?
* Option -T (print time spent in each libcall)
+* Option -c (summary)
+* More architectures: sparc, alpha
+* More operating systems (solaris?)
diff --git a/debian/changelog b/debian/changelog
index 2c4c48f..b9ebac8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+ltrace (0.3.7) unstable; urgency=low
+
+ * Minor fixes
+ * Added minor patch from Alex Buell <alex.buell@tahallah.demon.co.uk>
+ to be able to compile under glibc 2.1
+ * Additions to config file from David Dyck <dcd@tc.fluke.com>
+ * Clean-up Makefile a bit
+ * Changed `LT_PT_*' with `ARGTYPE_*'
+ * Display '\\' instead of '\'
+ * Updated list of syscalls and signals to linux-2.2.5
+ * Compiled against glibc-2.1
+
+ -- Juan Cespedes <cespedes@debian.org> Sat, 3 Apr 1999 03:21:50 +0200
+
ltrace (0.3.6) unstable; urgency=low
* Added m68k port (Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>) (Bug#27075)
diff --git a/debian/copyright b/debian/copyright
index f8cb70f..b62a226 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -4,7 +4,7 @@ Dynamic Library Tracer ``ltrace''.
Copyrights
----------
-Copyright (C) 1997,1998 Juan Cespedes <cespedes@debian.org>
+Copyright (C) 1997-1999 Juan Cespedes <cespedes@debian.org>
ARMLinux port: Copyright (C) 1998 Pat Beirne <pbeirne@home.com>
m68k port: Copyright (C) 1998 Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>
diff --git a/debian/rules b/debian/rules
index e5f9e32..6fcd2a4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,6 +1,6 @@
#! /usr/bin/make -f
#
-# Copyright (C) 1997,1998 Juan Cespedes <cespedes@debian.org>
+# Copyright (C) 1997-1999 Juan Cespedes <cespedes@debian.org>
.PHONY: binary binary-indep binary-arch clean
diff --git a/display_args.c b/display_args.c
index 3cd7a30..1ea10fd 100644
--- a/display_args.c
+++ b/display_args.c
@@ -15,45 +15,45 @@ static int display_stringN(int arg2, enum tof type, struct process * proc, int a
static int display_unknown(enum tof type, struct process * proc, int arg_num);
static int display_format(enum tof type, struct process * proc, int arg_num);
-int display_arg(enum tof type, struct process * proc, int arg_num, enum param_type rt)
+int display_arg(enum tof type, struct process * proc, int arg_num, enum arg_type at)
{
int tmp;
long arg;
- switch(rt) {
- case LT_PT_VOID:
+ switch(at) {
+ case ARGTYPE_VOID:
return 0;
- case LT_PT_INT:
+ case ARGTYPE_INT:
return fprintf(output, "%d", (int)gimme_arg(type, proc, arg_num));
- case LT_PT_UINT:
+ case ARGTYPE_UINT:
return fprintf(output, "%u", (unsigned)gimme_arg(type, proc, arg_num));
- case LT_PT_OCTAL:
+ case ARGTYPE_OCTAL:
return fprintf(output, "0%o", (unsigned)gimme_arg(type, proc, arg_num));
- case LT_PT_CHAR:
+ case ARGTYPE_CHAR:
tmp = fprintf(output, "'");
tmp += display_char((int)gimme_arg(type, proc, arg_num));
tmp += fprintf(output, "'");
return tmp;
- case LT_PT_ADDR:
+ case ARGTYPE_ADDR:
arg = gimme_arg(type, proc, arg_num);
if (!arg) {
return fprintf(output, "NULL");
} else {
return fprintf(output, "0x%08x", (unsigned)arg);
}
- case LT_PT_FORMAT:
+ case ARGTYPE_FORMAT:
return display_format(type, proc, arg_num);
- case LT_PT_STRING:
+ case ARGTYPE_STRING:
return display_string(type, proc, arg_num);
- case LT_PT_STRING0:
+ case ARGTYPE_STRING0:
return display_stringN(0, type, proc, arg_num);
- case LT_PT_STRING1:
+ case ARGTYPE_STRING1:
return display_stringN(1, type, proc, arg_num);
- case LT_PT_STRING2:
+ case ARGTYPE_STRING2:
return display_stringN(2, type, proc, arg_num);
- case LT_PT_STRING3:
+ case ARGTYPE_STRING3:
return display_stringN(3, type, proc, arg_num);
- case LT_PT_UNKNOWN:
+ case ARGTYPE_UNKNOWN:
default:
return display_unknown(type, proc, arg_num);
}
@@ -68,7 +68,7 @@ static int display_char(int what)
case '\n': return fprintf(output, "\\n");
case '\t': return fprintf(output, "\\t");
case '\b': return fprintf(output, "\\b");
- case '\\': return fprintf(output, "\\");
+ case '\\': return fprintf(output, "\\\\");
default:
if ((what<32) || (what>126)) {
return fprintf(output, "\\%03o", (unsigned char)what);
diff --git a/elf.c b/elf.c
index 84383bb..deb82f8 100644
--- a/elf.c
+++ b/elf.c
@@ -41,11 +41,11 @@ struct library_symbol * read_elf(const char *filename)
fd = open(filename, O_RDONLY);
if (fd==-1) {
- fprintf(stderr, "Can't open \"%s\": %s\n", filename, sys_errlist[errno]);
+ fprintf(stderr, "Can't open \"%s\": %s\n", filename, strerror(errno));
exit(1);
}
if (fstat(fd, &sbuf)==-1) {
- fprintf(stderr, "Can't stat \"%s\": %s\n", filename, sys_errlist[errno]);
+ fprintf(stderr, "Can't stat \"%s\": %s\n", filename, strerror(errno));
exit(1);
}
if (sbuf.st_size < sizeof(Elf32_Ehdr)) {
@@ -54,7 +54,7 @@ struct library_symbol * read_elf(const char *filename)
}
addr = mmap(NULL, sbuf.st_size, PROT_READ, MAP_SHARED, fd, 0);
if (addr==(void*)-1) {
- fprintf(stderr, "Can't mmap \"%s\": %s\n", filename, sys_errlist[errno]);
+ fprintf(stderr, "Can't mmap \"%s\": %s\n", filename, strerror(errno));
exit(1);
}
hdr = addr;
@@ -95,7 +95,7 @@ struct library_symbol * read_elf(const char *filename)
library_symbols = malloc(sizeof(struct library_symbol));
if (!library_symbols) {
- perror("malloc");
+ perror("ltrace: malloc");
exit(1);
}
library_symbols->brk.addr = (void *)((symtab+i)->st_value);
diff --git a/etc/ltrace.conf b/etc/ltrace.conf
index 38ae931..c5b5ad0 100644
--- a/etc/ltrace.conf
+++ b/etc/ltrace.conf
@@ -18,6 +18,13 @@ int inet_aton(string,addr);
string inet_ntoa(addr); ; It isn't a ADDR but an hexa number...
addr inet_addr(string);
+; bfd.h
+void bfd_init(void);
+int bfd_set_default_target(string);
+addr bfd_scan_vma(string, addr, int);
+addr bfd_openr(string,string);
+int bfd_check_format(addr,int);
+
; ctype.h
char tolower(char);
char toupper(char);
@@ -27,6 +34,12 @@ int closedir(addr);
addr opendir(string);
addr readdir(addr);
+; dlfcn.h
+addr dlopen(string, int);
+string dlerror(void);
+addr dlsym(addr, string);
+int dlclose(addr);
+
; errno.h
addr __errno_location(void);
@@ -99,7 +112,9 @@ int fputc(char,file);
int fputs(string,file);
uint fread(addr,uint,uint,file);
uint fwrite(string,uint,uint,file);
+int pclose(addr);
void perror(string);
+addr popen(string, string);
int printf(format);
int puts(string);
int remove(string);
@@ -234,6 +249,7 @@ int SYS_close(int);
int SYS_execve(string,addr,addr);
void SYS_exit(int);
int SYS_fork(void);
+int SYS_getcwd(+string2,uint);
int SYS_getpid(void);
;addr SYS_mmap(addr,int,int,int,int,int);
int SYS_munmap(addr,uint);
diff --git a/execute_program.c b/execute_program.c
index 6f68bb3..77e30b3 100644
--- a/execute_program.c
+++ b/execute_program.c
@@ -28,7 +28,7 @@ void execute_program(struct process * sp, char **argv)
pid = fork();
if (pid<0) {
- perror("fork");
+ perror("ltrace: fork");
exit(1);
} else if (!pid) { /* child */
change_uid(sp);
@@ -67,7 +67,7 @@ static void change_uid(struct process * proc)
run_gid = pent->pw_gid;
if (initgroups(opt_u, run_gid) < 0) {
- perror("initgroups");
+ perror("ltrace: initgroups");
exit(1);
}
} else {
@@ -88,11 +88,11 @@ static void change_uid(struct process * proc)
}
}
if (setregid(run_gid, run_egid) < 0) {
- perror("setregid");
+ perror("ltrace: setregid");
exit(1);
}
if (setreuid(run_uid, run_euid) < 0) {
- perror("setreuid");
+ perror("ltrace: setreuid");
exit(1);
}
}
diff --git a/ltrace.1 b/ltrace.1
index 17dcd3a..0770479 100644
--- a/ltrace.1
+++ b/ltrace.1
@@ -1,4 +1,4 @@
-.\" Copyright (c) 1997,1998 Juan Cespedes <cespedes@debian.org>
+.\" Copyright (c) 1997-1999 Juan Cespedes <cespedes@debian.org>
.\" This file is covered by the GNU GPL
.TH ltrace 1
.SH NAME
@@ -97,7 +97,7 @@ mark negates the set of values. For example
means to trace only the printf library call. By contrast,
.I \-e !printf
means to trace every library call except printf.
-.LP
+.IP
Note that some shells use the exclamation point for history
expansion; even inside quoted arguments. If so, you must escape
the exclamation point with a backslash.
diff --git a/ltrace.h b/ltrace.h
index e8e7153..ae51d93 100644
--- a/ltrace.h
+++ b/ltrace.h
@@ -19,34 +19,34 @@ struct breakpoint {
int enabled;
};
-enum param_type {
- LT_PT_UNKNOWN=-1,
- LT_PT_VOID,
- LT_PT_INT,
- LT_PT_UINT,
- LT_PT_OCTAL,
- LT_PT_CHAR,
- LT_PT_ADDR,
- LT_PT_FILE,
- LT_PT_FORMAT, /* printf-like format */
- LT_PT_STRING,
- LT_PT_STRING0, /* stringN: string up to (arg N) bytes */
- LT_PT_STRING1,
- LT_PT_STRING2,
- LT_PT_STRING3
+enum arg_type {
+ ARGTYPE_UNKNOWN=-1,
+ ARGTYPE_VOID,
+ ARGTYPE_INT,
+ ARGTYPE_UINT,
+ ARGTYPE_OCTAL,
+ ARGTYPE_CHAR,
+ ARGTYPE_ADDR,
+ ARGTYPE_FILE,
+ ARGTYPE_FORMAT, /* printf-like format */
+ ARGTYPE_STRING,
+ ARGTYPE_STRING0, /* stringN: string up to (arg N) bytes */
+ ARGTYPE_STRING1,
+ ARGTYPE_STRING2,
+ ARGTYPE_STRING3
};
enum tof {
- LT_TOF_NONE,
+ LT_TOF_NONE=0,
LT_TOF_FUNCTION, /* A real library function */
LT_TOF_SYSCALL /* A syscall */
};
struct function {
const char * name;
- enum param_type return_type;
+ enum arg_type return_type;
int num_params;
- enum param_type param_types[MAX_ARGS];
+ enum arg_type arg_types[MAX_ARGS];
int params_right;
struct function * next;
};
@@ -110,7 +110,7 @@ extern void * instruction_pointer;
extern struct event * wait_for_something(void);
extern void process_event(struct event * event);
extern void execute_program(struct process *, char **);
-extern int display_arg(enum tof type, struct process * proc, int arg_num, enum param_type rt);
+extern int display_arg(enum tof type, struct process * proc, int arg_num, enum arg_type at);
extern void enable_all_breakpoints(struct process * proc);
extern void disable_all_breakpoints(struct process * proc);
extern struct process * open_program(char * filename);
diff --git a/ltrace.spec b/ltrace.spec
index e207ae0..98fe8ee 100644
--- a/ltrace.spec
+++ b/ltrace.spec
@@ -1,6 +1,6 @@
Summary: A library call tracer
Name: ltrace
-%define version 0.3.5
+%define version 0.3.7
Version: %{version}
Release: 1
Copyright: GPL
diff --git a/options.c b/options.c
index a8c1354..57a0f8e 100644
--- a/options.c
+++ b/options.c
@@ -9,7 +9,9 @@
#include <limits.h>
#if HAVE_GETOPT_H
+#define _GNU_SOURCE
#include <getopt.h>
+#undef _GNU_SOURCE
#endif
#include "ltrace.h"
@@ -97,7 +99,7 @@ static void usage(void)
static char * search_for_command(char * filename)
{
- static char pathname[PATH_MAX];
+ static char pathname[1024];
char *path;
int m, n;
@@ -111,7 +113,7 @@ static char * search_for_command(char * filename)
} else {
m = n = strlen(path);
}
- strncpy(pathname, path, n);
+ strncpy(pathname, path, n); /* Possible buffer overrun */
if (n && pathname[n - 1] != '/') {
pathname[n++] = '/';
}
@@ -197,7 +199,7 @@ char ** process_options(int argc, char **argv)
{
struct opt_p_t * tmp = malloc(sizeof(struct opt_p_t));
if (!tmp) {
- perror("malloc");
+ perror("ltrace: malloc");
exit(1);
}
tmp->pid = atoi(optarg);
@@ -209,7 +211,7 @@ char ** process_options(int argc, char **argv)
{
char * str_e = strdup(optarg);
if (!str_e) {
- perror("strdup");
+ perror("ltrace: strdup");
exit(1);
}
if (str_e[0]=='!') {
@@ -224,7 +226,7 @@ char ** process_options(int argc, char **argv)
}
tmp = malloc(sizeof(struct opt_e_t));
if (!tmp) {
- perror("malloc");
+ perror("ltrace: malloc");
exit(1);
}
tmp->name = str_e;
@@ -245,7 +247,7 @@ char ** process_options(int argc, char **argv)
"???"
#endif
".\n"
-"Copyright (C) 1997-1998 Juan Cespedes <cespedes@debian.org>.\n"
+"Copyright (C) 1997-1999 Juan Cespedes <cespedes@debian.org>.\n"
"This is free software; see the GNU General Public Licence\n"
"version 2 or later for copying conditions. There is NO warranty.\n");
exit(0);
diff --git a/output.c b/output.c
index a16a29a..577983a 100644
--- a/output.c
+++ b/output.c
@@ -154,24 +154,24 @@ void output_left(enum tof type, struct process * proc, char * function_name)
if (!func) {
int i;
for(i=0; i<4; i++) {
- current_column += display_arg(type, proc, i, LT_PT_UNKNOWN);
+ current_column += display_arg(type, proc, i, ARGTYPE_UNKNOWN);
current_column += fprintf(output, ", ");
}
- current_column += display_arg(type, proc, 4, LT_PT_UNKNOWN);
+ current_column += display_arg(type, proc, 4, ARGTYPE_UNKNOWN);
return;
} else {
int i;
for(i=0; i< func->num_params - func->params_right - 1; i++) {
- current_column += display_arg(type, proc, i, func->param_types[i]);
+ current_column += display_arg(type, proc, i, func->arg_types[i]);
current_column += fprintf(output, ", ");
}
if (func->num_params>func->params_right) {
- current_column += display_arg(type, proc, i, func->param_types[i]);
+ current_column += display_arg(type, proc, i, func->arg_types[i]);
if (func->params_right) {
current_column += fprintf(output, ", ");
}
}
- if (!func->params_right && func->return_type == LT_PT_VOID) {
+ if (!func->params_right && func->return_type == ARGTYPE_VOID) {
current_column += fprintf(output, ") ");
tabto(opt_a);
fprintf(output, "= <void>\n");
@@ -185,7 +185,7 @@ void output_right(enum tof type, struct process * proc, char * function_name)
{
struct function * func = name2func(function_name);
- if (func && func->params_right==0 && func->return_type == LT_PT_VOID) {
+ if (func && func->params_right==0 && func->return_type == ARGTYPE_VOID) {
return;
}
@@ -202,21 +202,21 @@ void output_right(enum tof type, struct process * proc, char * function_name)
current_column += fprintf(output, ") ");
tabto(opt_a);
fprintf(output, "= ");
- display_arg(type, proc, -1, LT_PT_UNKNOWN);
+ display_arg(type, proc, -1, ARGTYPE_UNKNOWN);
fprintf(output, "\n");
} else {
int i;
for(i=func->num_params-func->params_right; i<func->num_params-1; i++) {
- current_column += display_arg(type, proc, i, func->param_types[i]);
+ current_column += display_arg(type, proc, i, func->arg_types[i]);
current_column += fprintf(output, ", ");
}
if (func->params_right) {
- current_column += display_arg(type, proc, i, func->param_types[i]);
+ current_column += display_arg(type, proc, i, func->arg_types[i]);
}
current_column += fprintf(output, ") ");
tabto(opt_a);
fprintf(output, "= ");
- if (func->return_type == LT_PT_VOID) {
+ if (func->return_type == ARGTYPE_VOID) {
fprintf(output, "<void>");
} else {
display_arg(type, proc, -1, func->return_type);
diff --git a/read_config_file.c b/read_config_file.c
index 1fdc86e..f10461a 100644
--- a/read_config_file.c
+++ b/read_config_file.c
@@ -12,39 +12,39 @@
#include "output.h"
/*
- * "void" LT_PT_VOID
- * "int" LT_PT_INT
- * "uint" LT_PT_UINT
- * "octal" LT_PT_OCTAL
- * "char" LT_PT_CHAR
- * "string" LT_PT_STRING
- * "format" LT_PT_FORMAT
- * "addr" LT_PT_ADDR
+ * "void" ARGTYPE_VOID
+ * "int" ARGTYPE_INT
+ * "uint" ARGTYPE_UINT
+ * "octal" ARGTYPE_OCTAL
+ * "char" ARGTYPE_CHAR
+ * "string" ARGTYPE_STRING
+ * "format" ARGTYPE_FORMAT
+ * "addr" ARGTYPE_ADDR
*/
struct function * list_of_functions = NULL;
static struct list_of_pt_t {
char * name;
- enum param_type pt;
+ enum arg_type pt;
} list_of_pt[] = {
- { "void", LT_PT_VOID },
- { "int", LT_PT_INT },
- { "uint", LT_PT_UINT },
- { "octal", LT_PT_OCTAL },
- { "char", LT_PT_CHAR },
- { "addr", LT_PT_ADDR },
- { "file", LT_PT_FILE },
- { "format", LT_PT_FORMAT },
- { "string", LT_PT_STRING },
- { "string0", LT_PT_STRING0 },
- { "string1", LT_PT_STRING1 },
- { "string2", LT_PT_STRING2 },
- { "string3", LT_PT_STRING3 },
- { NULL, LT_PT_UNKNOWN } /* Must finish with NULL */
+ { "void", ARGTYPE_VOID },
+ { "int", ARGTYPE_INT },
+ { "uint", ARGTYPE_UINT },
+ { "octal", ARGTYPE_OCTAL },
+ { "char", ARGTYPE_CHAR },
+ { "addr", ARGTYPE_ADDR },
+ { "file", ARGTYPE_FILE },
+ { "format", ARGTYPE_FORMAT },
+ { "string", ARGTYPE_STRING },
+ { "string0",ARGTYPE_STRING0 },
+ { "string1",ARGTYPE_STRING1 },
+ { "string2",ARGTYPE_STRING2 },
+ { "string3",ARGTYPE_STRING3 },
+ { NULL, ARGTYPE_UNKNOWN } /* Must finish with NULL */
};
-static enum param_type str2type(char ** str)
+static enum arg_type str2type(char ** str)
{
struct list_of_pt_t * tmp = &list_of_pt[0];
@@ -56,7 +56,7 @@ static enum param_type str2type(char ** str)
}
tmp++;
}
- return LT_PT_UNKNOWN;
+ return ARGTYPE_UNKNOWN;
}
static void eat_spaces(char ** str)
@@ -82,7 +82,7 @@ struct function * process_line (char * buf) {
}
eat_spaces(&str);
fun.return_type = str2type(&str);
- if (fun.return_type==LT_PT_UNKNOWN) {
+ if (fun.return_type==ARGTYPE_UNKNOWN) {
if (opt_d>2) {
output_line(0, " Skipping line %d", line_no);
}
@@ -115,8 +115,8 @@ struct function * process_line (char * buf) {
} else if (fun.params_right) {
fun.params_right++;
}
- fun.param_types[i] = str2type(&str);
- if (fun.return_type==LT_PT_UNKNOWN) {
+ fun.arg_types[i] = str2type(&str);
+ if (fun.return_type==ARGTYPE_UNKNOWN) {
output_line(0, "Syntax error in `%s', line %d", filename, line_no);
return NULL;
}
diff --git a/sysdeps/Linux/README b/sysdeps/Linux/README
new file mode 100644
index 0000000..d98f63c
--- /dev/null
+++ b/sysdeps/Linux/README
@@ -0,0 +1,12 @@
+* "arch/syscallent.h" is made from <asm/unistd.h>.
+ It can be done automatically with "mksyscallent" for all the
+ architectures except "arm" and "mips" (their asm/unistd.h is a bit
+ different) (linux-2.1.119)
+
+* "arch/signalent.h" is made from <asm/signal.h>.
+ It can be done automatically with "mksignalent" for all the
+ architectures. (linux-2.1.119)
+
+* NOTE: This does not currently work for cross-compilers; Maybe
+ I should guess the architecture using `gcc -print-libgcc-file-name'
+ instead of `uname -m'
diff --git a/sysdeps/Linux/arm/signalent.h b/sysdeps/Linux/arm/signalent.h
index e2c1337..7b1f831 100644
--- a/sysdeps/Linux/arm/signalent.h
+++ b/sysdeps/Linux/arm/signalent.h
@@ -1,32 +1,33 @@
- "SIG_0", /* 0 */
- "SIGHUP", /* 1 */
- "SIGINT", /* 2 */
- "SIGQUIT", /* 3 */
- "SIGILL", /* 4 */
- "SIGTRAP", /* 5 */
- "SIGABRT", /* 6 */
- "SIGBUS", /* 7 */
- "SIGFPE", /* 8 */
- "SIGKILL", /* 9 */
- "SIGUSR1", /* 10 */
- "SIGSEGV", /* 11 */
- "SIGUSR2", /* 12 */
- "SIGPIPE", /* 13 */
- "SIGALRM", /* 14 */
- "SIGTERM", /* 15 */
- "SIGSTKFLT", /* 16 */
- "SIGCHLD", /* 17 */
- "SIGCONT", /* 18 */
- "SIGSTOP", /* 19 */
- "SIGTSTP", /* 20 */
- "SIGTTIN", /* 21 */
- "SIGTTOU", /* 22 */
- "SIGURG", /* 23 */
- "SIGXCPU", /* 24 */
- "SIGXFSZ", /* 25 */
- "SIGVTALRM", /* 26 */
- "SIGPROF", /* 27 */
- "SIGWINCH", /* 28 */
- "SIGIO", /* 29 */
- "SIGPWR", /* 30 */
- "SIGUNUSED", /* 31 */
+ "SIG_0", /* 0 */
+ "SIGHUP", /* 1 */
+ "SIGINT", /* 2 */
+ "SIGQUIT", /* 3 */
+ "SIGILL", /* 4 */
+ "SIGTRAP", /* 5 */
+ "SIGABRT", /* 6 */
+ "SIGBUS", /* 7 */
+ "SIGFPE", /* 8 */
+ "SIGKILL", /* 9 */
+ "SIGUSR1", /* 10 */
+ "SIGSEGV", /* 11 */
+ "SIGUSR2", /* 12 */
+ "SIGPIPE", /* 13 */
+ "SIGALRM", /* 14 */
+ "SIGTERM", /* 15 */
+ "SIGSTKFLT", /* 16 */
+ "SIGCHLD", /* 17 */
+ "SIGCONT", /* 18 */
+ "SIGSTOP", /* 19 */
+ "SIGTSTP", /* 20 */
+ "SIGTTIN", /* 21 */
+ "SIGTTOU", /* 22 */
+ "SIGURG", /* 23 */
+ "SIGXCPU", /* 24 */
+ "SIGXFSZ", /* 25 */
+ "SIGVTALRM", /* 26 */
+ "SIGPROF", /* 27 */
+ "SIGWINCH", /* 28 */
+ "SIGIO", /* 29 */
+ "SIGPWR", /* 30 */
+ "SIGUNUSED", /* 31 */
+ "SIGSWI", /* 32 */
diff --git a/sysdeps/Linux/arm/syscallent.h b/sysdeps/Linux/arm/syscallent.h
index cbce4cb..19836ed 100644
--- a/sysdeps/Linux/arm/syscallent.h
+++ b/sysdeps/Linux/arm/syscallent.h
@@ -1,184 +1,188 @@
- "setup", /* 0 */
- "exit", /* 1 */
- "fork", /* 2 */
- "read", /* 3 */
- "write", /* 4 */
- "open", /* 5 */
- "close", /* 6 */
- "waitpid", /* 7 */
- "creat", /* 8 */
- "link", /* 9 */
- "unlink", /* 10 */
- "execve", /* 11 */
- "chdir", /* 12 */
- "time", /* 13 */
- "mknod", /* 14 */
- "chmod", /* 15 */
- "chown", /* 16 */
- "break", /* 17 */
- "oldstat", /* 18 */
- "lseek", /* 19 */
- "getpid", /* 20 */
- "mount", /* 21 */
- "umount", /* 22 */
- "setuid", /* 23 */
- "getuid", /* 24 */
- "stime", /* 25 */
- "ptrace", /* 26 */
- "alarm", /* 27 */
- "oldfstat", /* 28 */
- "pause", /* 29 */
- "utime", /* 30 */
- "stty", /* 31 */
- "gtty", /* 32 */
- "access", /* 33 */
- "nice", /* 34 */
- "ftime", /* 35 */
- "sync", /* 36 */
- "kill", /* 37 */
- "rename", /* 38 */
- "mkdir", /* 39 */
- "rmdir", /* 40 */
- "dup", /* 41 */
- "pipe", /* 42 */
- "times", /* 43 */
- "prof", /* 44 */
- "brk", /* 45 */
- "setgid", /* 46 */
- "getgid", /* 47 */
- "signal", /* 48 */
- "geteuid", /* 49 */
- "getegid", /* 50 */
- "acct", /* 51 */
- "phys", /* 52 */
- "lock", /* 53 */
- "ioctl", /* 54 */
- "fcntl", /* 55 */
- "mpx", /* 56 */
- "setpgid", /* 57 */
- "ulimit", /* 58 */
- "oldolduname", /* 59 */
- "umask", /* 60 */
- "chroot", /* 61 */
- "ustat", /* 62 */
- "dup2", /* 63 */
- "getppid", /* 64 */
- "getpgrp", /* 65 */
- "setsid", /* 66 */
- "sigaction", /* 67 */
- "sgetmask", /* 68 */
- "ssetmask", /* 69 */
- "setreuid", /* 70 */
- "setregid", /* 71 */
- "sigsuspend", /* 72 */
- "sigpending", /* 73 */
- "sethostname", /* 74 */
- "setrlimit", /* 75 */
- "getrlimit", /* 76 */
- "getrusage", /* 77 */
- "gettimeofday", /* 78 */
- "settimeofday", /* 79 */
- "getgroups", /* 80 */
- "setgroups", /* 81 */
- "select", /* 82 */
- "symlink", /* 83 */
- "oldlstat", /* 84 */
- "readlink", /* 85 */
- "uselib", /* 86 */
- "swapon", /* 87 */
- "reboot", /* 88 */
- "readdir", /* 89 */
- "mmap", /* 90 */
- "munmap", /* 91 */
- "truncate", /* 92 */
- "ftruncate", /* 93 */
- "fchmod", /* 94 */
- "fchown", /* 95 */
- "getpriority", /* 96 */
- "setpriority", /* 97 */
- "profil", /* 98 */
- "statfs", /* 99 */
- "fstatfs", /* 100 */
- "ioperm", /* 101 */
- "socketcall", /* 102 */
- "syslog", /* 103 */
- "setitimer", /* 104 */
- "getitimer", /* 105 */
- "stat", /* 106 */
- "lstat", /* 107 */
- "fstat", /* 108 */
- "olduname", /* 109 */
- "iopl", /* 110 */
- "vhangup", /* 111 */
- "idle", /* 112 */
- "syscall", /* 113 */
- "wait4", /* 114 */
- "swapoff", /* 115 */
- "sysinfo", /* 116 */
- "ipc", /* 117 */
- "fsync", /* 118 */
- "sigreturn", /* 119 */
- "clone", /* 120 */
- "setdomainname", /* 121 */
- "uname", /* 122 */
- "modify_ldt", /* 123 */
- "adjtimex", /* 124 */
- "mprotect", /* 125 */
- "sigprocmask", /* 126 */
- "create_module", /* 127 */
- "init_module", /* 128 */
- "delete_module", /* 129 */
- "get_kernel_syms", /* 130 */
- "quotactl", /* 131 */
- "getpgid", /* 132 */
- "fchdir", /* 133 */
- "bdflush", /* 134 */
- "sysfs", /* 135 */
- "personality", /* 136 */
- "afs_syscall", /* 137 */
- "setfsuid", /* 138 */
- "setfsgid", /* 139 */
- "_llseek", /* 140 */
- "getdents", /* 141 */
- "_newselect", /* 142 */
- "flock", /* 143 */
- "msync", /* 144 */
- "readv", /* 145 */
- "writev", /* 146 */
- "getsid", /* 147 */
- "fdatasync", /* 148 */
- "_sysctl", /* 149 */
- "mlock", /* 150 */
- "munlock", /* 151 */
- "mlockall", /* 152 */
- "munlockall", /* 153 */
- "sched_setparam", /* 154 */
- "sched_getparam", /* 155 */
- "sched_setscheduler", /* 156 */
- "sched_getscheduler", /* 157 */
- "sched_yield", /* 158 */
- "sched_get_priority_max", /* 159 */
- "sched_get_priority_min", /* 160 */
- "sched_rr_get_interval", /* 161 */
- "nanosleep", /* 162 */
- "mremap", /* 163 */
- "setresuid", /* 164 */
- "getresuid", /* 165 */
- "vm86", /* 166 */
- "query_module", /* 167 */
- "poll", /* 168 */
- "nfsservctl", /* 169 */
- "setresgid", /* 170 */
- "getresgid", /* 171 */
- "prctl", /* 172 */
- "rt_sigreturn", /* 173 */
- "rt_sigaction", /* 174 */
- "rt_sigprocmask", /* 175 */
- "rt_sigpending", /* 176 */
- "rt_sigtimedwait", /* 177 */
- "rt_sigqueueinfo", /* 178 */
- "rt_sigsuspend", /* 179 */
- "pread", /* 180 */
- "pwrite", /* 181 */
- "xstat", /* 182 */
- "xmknod", /* 183 */
+ "setup", /* 0 */
+ "exit", /* 1 */
+ "fork", /* 2 */
+ "read", /* 3 */
+ "write", /* 4 */
+ "open", /* 5 */
+ "close", /* 6 */
+ "waitpid", /* 7 */
+ "creat", /* 8 */
+ "link", /* 9 */
+ "unlink", /* 10 */
+ "execve", /* 11 */
+ "chdir", /* 12 */
+ "time", /* 13 */
+ "mknod", /* 14 */
+ "chmod", /* 15 */
+ "lchown", /* 16 */
+ "break", /* 17 */
+ "oldstat", /* 18 */
+ "lseek", /* 19 */
+ "getpid", /* 20 */
+ "mount", /* 21 */
+ "umount", /* 22 */
+ "setuid", /* 23 */
+ "getuid", /* 24 */
+ "stime", /* 25 */
+ "ptrace", /* 26 */
+ "alarm", /* 27 */
+ "oldfstat", /* 28 */
+ "pause", /* 29 */
+ "utime", /* 30 */
+ "stty", /* 31 */
+ "gtty", /* 32 */
+ "access", /* 33 */
+ "nice", /* 34 */
+ "ftime", /* 35 */
+ "sync", /* 36 */
+ "kill", /* 37 */
+ "rename", /* 38 */
+ "mkdir", /* 39 */
+ "rmdir", /* 40 */
+ "dup", /* 41 */
+ "pipe", /* 42 */
+ "times", /* 43 */
+ "prof", /* 44 */
+ "brk", /* 45 */
+ "setgid", /* 46 */
+ "getgid", /* 47 */
+ "signal", /* 48 */
+ "geteuid", /* 49 */
+ "getegid", /* 50 */
+ "acct", /* 51 */
+ "phys", /* 52 */
+ "lock", /* 53 */
+ "ioctl", /* 54 */
+ "fcntl", /* 55 */
+ "mpx", /* 56 */
+ "setpgid", /* 57 */
+ "ulimit", /* 58 */
+ "oldolduname", /* 59 */
+ "umask", /* 60 */
+ "chroot", /* 61 */
+ "ustat", /* 62 */
+ "dup2", /* 63 */
+ "getppid", /* 64 */
+ "getpgrp", /* 65 */
+ "setsid", /* 66 */
+ "sigaction", /* 67 */
+ "sgetmask", /* 68 */
+ "ssetmask", /* 69 */
+ "setreuid", /* 70 */
+ "setregid", /* 71 */
+ "sigsuspend", /* 72 */
+ "sigpending", /* 73 */
+ "sethostname", /* 74 */
+ "setrlimit", /* 75 */
+ "getrlimit", /* 76 */
+ "getrusage", /* 77 */
+ "gettimeofday", /* 78 */
+ "settimeofday", /* 79 */
+ "getgroups", /* 80 */
+ "setgroups", /* 81 */
+ "select", /* 82 */
+ "symlink", /* 83 */
+ "oldlstat", /* 84 */
+ "readlink", /* 85 */
+ "uselib", /* 86 */
+ "swapon", /* 87 */
+ "reboot", /* 88 */
+ "readdir", /* 89 */
+ "mmap", /* 90 */
+ "munmap", /* 91 */
+ "truncate", /* 92 */
+ "ftruncate", /* 93 */
+ "fchmod", /* 94 */
+ "fchown", /* 95 */
+ "getpriority", /* 96 */
+ "setpriority", /* 97 */
+ "profil", /* 98 */
+ "statfs", /* 99 */
+ "fstatfs", /* 100 */
+ "ioperm", /* 101 */
+ "socketcall", /* 102 */
+ "syslog", /* 103 */
+ "setitimer", /* 104 */
+ "getitimer", /* 105 */
+ "stat", /* 106 */
+ "lstat", /* 107 */
+ "fstat", /* 108 */
+ "olduname", /* 109 */
+ "iopl", /* 110 */
+ "vhangup", /* 111 */
+ "idle", /* 112 */
+ "syscall", /* 113 */
+ "wait4", /* 114 */
+ "swapoff", /* 115 */
+ "sysinfo", /* 116 */
+ "ipc", /* 117 */
+ "fsync", /* 118 */
+ "sigreturn", /* 119 */
+ "clone", /* 120 */
+ "setdomainname", /* 121 */
+ "uname", /* 122 */
+ "modify_ldt", /* 123 */
+ "adjtimex", /* 124 */
+ "mprotect", /* 125 */
+ "sigprocmask", /* 126 */
+ "create_module", /* 127 */
+ "init_module", /* 128 */
+ "delete_module", /* 129 */
+ "get_kernel_syms", /* 130 */
+ "quotactl", /* 131 */
+ "getpgid", /* 132 */
+ "fchdir", /* 133 */
+ "bdflush", /* 134 */
+ "sysfs", /* 135 */
+ "personality", /* 136 */
+ "afs_syscall", /* 137 */
+ "setfsuid", /* 138 */
+ "setfsgid", /* 139 */
+ "_llseek", /* 140 */
+ "getdents", /* 141 */
+ "_newselect", /* 142 */
+ "flock", /* 143 */
+ "msync", /* 144 */
+ "readv", /* 145 */
+ "writev", /* 146 */
+ "getsid", /* 147 */
+ "fdatasync", /* 148 */
+ "_sysctl", /* 149 */
+ "mlock", /* 150 */
+ "munlock", /* 151 */
+ "mlockall", /* 152 */
+ "munlockall", /* 153 */
+ "sched_setparam", /* 154 */
+ "sched_getparam", /* 155 */
+ "sched_setscheduler", /* 156 */
+ "sched_getscheduler", /* 157 */
+ "sched_yield", /* 158 */
+ "sched_get_priority_max", /* 159 */
+ "sched_get_priority_min", /* 160 */
+ "sched_rr_get_interval", /* 161 */
+ "nanosleep", /* 162 */
+ "mremap", /* 163 */
+ "setresuid", /* 164 */
+ "getresuid", /* 165 */
+ "vm86", /* 166 */
+ "query_module", /* 167 */
+ "poll", /* 168 */
+ "nfsservctl", /* 169 */
+ "setresgid", /* 170 */
+ "getresgid", /* 171 */
+ "prctl", /* 172 */
+ "rt_sigreturn", /* 173 */
+ "rt_sigaction", /* 174 */
+ "rt_sigprocmask", /* 175 */
+ "rt_sigpending", /* 176 */
+ "rt_sigtimedwait", /* 177 */
+ "rt_sigqueueinfo", /* 178 */
+ "rt_sigsuspend", /* 179 */
+ "pread", /* 180 */
+ "pwrite", /* 181 */
+ "chown", /* 182 */
+ "getcwd", /* 183 */
+ "capget", /* 184 */
+ "capset", /* 185 */
+ "sigaltstack", /* 186 */
+ "sendfile", /* 187 */
diff --git a/sysdeps/Linux/i386/signalent.h b/sysdeps/Linux/i386/signalent.h
index e2c1337..f8e0f0e 100644
--- a/sysdeps/Linux/i386/signalent.h
+++ b/sysdeps/Linux/i386/signalent.h
@@ -1,32 +1,32 @@
- "SIG_0", /* 0 */
- "SIGHUP", /* 1 */
- "SIGINT", /* 2 */
- "SIGQUIT", /* 3 */
- "SIGILL", /* 4 */
- "SIGTRAP", /* 5 */
- "SIGABRT", /* 6 */
- "SIGBUS", /* 7 */
- "SIGFPE", /* 8 */
- "SIGKILL", /* 9 */
- "SIGUSR1", /* 10 */
- "SIGSEGV", /* 11 */
- "SIGUSR2", /* 12 */
- "SIGPIPE", /* 13 */
- "SIGALRM", /* 14 */
- "SIGTERM", /* 15 */
- "SIGSTKFLT", /* 16 */
- "SIGCHLD", /* 17 */
- "SIGCONT", /* 18 */
- "SIGSTOP", /* 19 */
- "SIGTSTP", /* 20 */
- "SIGTTIN", /* 21 */
- "SIGTTOU", /* 22 */
- "SIGURG", /* 23 */
- "SIGXCPU", /* 24 */
- "SIGXFSZ", /* 25 */
- "SIGVTALRM", /* 26 */
- "SIGPROF", /* 27 */
- "SIGWINCH", /* 28 */
- "SIGIO", /* 29 */
- "SIGPWR", /* 30 */
- "SIGUNUSED", /* 31 */
+ "SIG_0", /* 0 */
+ "SIGHUP", /* 1 */
+ "SIGINT", /* 2 */
+ "SIGQUIT", /* 3 */
+ "SIGILL", /* 4 */
+ "SIGTRAP", /* 5 */
+ "SIGABRT", /* 6 */
+ "SIGBUS", /* 7 */
+ "SIGFPE", /* 8 */
+ "SIGKILL", /* 9 */
+ "SIGUSR1", /* 10 */
+ "SIGSEGV", /* 11 */
+ "SIGUSR2", /* 12 */
+ "SIGPIPE", /* 13 */
+ "SIGALRM", /* 14 */
+ "SIGTERM", /* 15 */
+ "SIGSTKFLT", /* 16 */
+ "SIGCHLD", /* 17 */
+ "SIGCONT", /* 18 */
+ "SIGSTOP", /* 19 */
+ "SIGTSTP", /* 20 */
+ "SIGTTIN", /* 21 */
+ "SIGTTOU", /* 22 */
+ "SIGURG", /* 23 */
+ "SIGXCPU", /* 24 */
+ "SIGXFSZ", /* 25 */
+ "SIGVTALRM", /* 26 */
+ "SIGPROF", /* 27 */
+ "SIGWINCH", /* 28 */
+ "SIGIO", /* 29 */
+ "SIGPWR", /* 30 */
+ "SIGUNUSED", /* 31 */
diff --git a/sysdeps/Linux/i386/syscallent.h b/sysdeps/Linux/i386/syscallent.h
index 9a1ad53..c8ddf42 100644
--- a/sysdeps/Linux/i386/syscallent.h
+++ b/sysdeps/Linux/i386/syscallent.h
@@ -1,190 +1,191 @@
- "(NONE)", /* 0 */
- "exit", /* 1 */
- "fork", /* 2 */
- "read", /* 3 */
- "write", /* 4 */
- "open", /* 5 */
- "close", /* 6 */
- "waitpid", /* 7 */
- "creat", /* 8 */
- "link", /* 9 */
- "unlink", /* 10 */
- "execve", /* 11 */
- "chdir", /* 12 */
- "time", /* 13 */
- "mknod", /* 14 */
- "chmod", /* 15 */
- "lchown", /* 16 */
- "break", /* 17 */
- "oldstat", /* 18 */
- "lseek", /* 19 */
- "getpid", /* 20 */
- "mount", /* 21 */
- "umount", /* 22 */
- "setuid", /* 23 */
- "getuid", /* 24 */
- "stime", /* 25 */
- "ptrace", /* 26 */
- "alarm", /* 27 */
- "oldfstat", /* 28 */
- "pause", /* 29 */
- "utime", /* 30 */
- "stty", /* 31 */
- "gtty", /* 32 */
- "access", /* 33 */
- "nice", /* 34 */
- "ftime", /* 35 */
- "sync", /* 36 */
- "kill", /* 37 */
- "rename", /* 38 */
- "mkdir", /* 39 */
- "rmdir", /* 40 */
- "dup", /* 41 */
- "pipe", /* 42 */
- "times", /* 43 */
- "prof", /* 44 */
- "brk", /* 45 */
- "setgid", /* 46 */
- "getgid", /* 47 */
- "signal", /* 48 */
- "geteuid", /* 49 */
- "getegid", /* 50 */
- "acct", /* 51 */
- "umount2", /* 52 */
- "lock", /* 53 */
- "ioctl", /* 54 */
- "fcntl", /* 55 */
- "mpx", /* 56 */
- "setpgid", /* 57 */
- "ulimit", /* 58 */
- "oldolduname", /* 59 */
- "umask", /* 60 */
- "chroot", /* 61 */
- "ustat", /* 62 */
- "dup2", /* 63 */
- "getppid", /* 64 */
- "getpgrp", /* 65 */
- "setsid", /* 66 */
- "sigaction", /* 67 */
- "sgetmask", /* 68 */
- "ssetmask", /* 69 */
- "setreuid", /* 70 */
- "setregid", /* 71 */
- "sigsuspend", /* 72 */
- "sigpending", /* 73 */
- "sethostname", /* 74 */
- "setrlimit", /* 75 */
- "getrlimit", /* 76 */
- "getrusage", /* 77 */
- "gettimeofday", /* 78 */
- "settimeofday", /* 79 */
- "getgroups", /* 80 */
- "setgroups", /* 81 */
- "select", /* 82 */
- "symlink", /* 83 */
- "oldlstat", /* 84 */
- "readlink", /* 85 */
- "uselib", /* 86 */
- "swapon", /* 87 */
- "reboot", /* 88 */
- "readdir", /* 89 */
- "mmap", /* 90 */
- "munmap", /* 91 */
- "truncate", /* 92 */
- "ftruncate", /* 93 */
- "fchmod", /* 94 */
- "fchown", /* 95 */
- "getpriority", /* 96 */
- "setpriority", /* 97 */
- "profil", /* 98 */
- "statfs", /* 99 */
- "fstatfs", /* 100 */
- "ioperm", /* 101 */
- "socketcall", /* 102 */
- "syslog", /* 103 */
- "setitimer", /* 104 */
- "getitimer", /* 105 */
- "stat", /* 106 */
- "lstat", /* 107 */
- "fstat", /* 108 */
- "olduname", /* 109 */
- "iopl", /* 110 */
- "vhangup", /* 111 */
- "idle", /* 112 */
- "vm86old", /* 113 */
- "wait4", /* 114 */
- "swapoff", /* 115 */
- "sysinfo", /* 116 */
- "ipc", /* 117 */
- "fsync", /* 118 */
- "sigreturn", /* 119 */
- "clone", /* 120 */
- "setdomainname", /* 121 */
- "uname", /* 122 */
- "modify_ldt", /* 123 */
- "adjtimex", /* 124 */
- "mprotect", /* 125 */
- "sigprocmask", /* 126 */
- "create_module", /* 127 */
- "init_module", /* 128 */
- "delete_module", /* 129 */
- "get_kernel_syms", /* 130 */
- "quotactl", /* 131 */
- "getpgid", /* 132 */
- "fchdir", /* 133 */
- "bdflush", /* 134 */
- "sysfs", /* 135 */
- "personality", /* 136 */
- "afs_syscall", /* 137 */
- "setfsuid", /* 138 */
- "setfsgid", /* 139 */
- "_llseek", /* 140 */
- "getdents", /* 141 */
- "_newselect", /* 142 */
- "flock", /* 143 */
- "msync", /* 144 */
- "readv", /* 145 */
- "writev", /* 146 */
- "getsid", /* 147 */
- "fdatasync", /* 148 */
- "_sysctl", /* 149 */
- "mlock", /* 150 */
- "munlock", /* 151 */
- "mlockall", /* 152 */
- "munlockall", /* 153 */
- "sched_setparam", /* 154 */
- "sched_getparam", /* 155 */
- "sched_setscheduler", /* 156 */
- "sched_getscheduler", /* 157 */
- "sched_yield", /* 158 */
- "sched_get_priority_max", /* 159 */
- "sched_get_priority_min", /* 160 */
- "sched_rr_get_interval", /* 161 */
- "nanosleep", /* 162 */
- "mremap", /* 163 */
- "setresuid", /* 164 */
- "getresuid", /* 165 */
- "vm86", /* 166 */
- "query_module", /* 167 */
- "poll", /* 168 */
- "nfsservctl", /* 169 */
- "setresgid", /* 170 */
- "getresgid", /* 171 */
- "prctl", /* 172 */
- "rt_sigreturn", /* 173 */
- "rt_sigaction", /* 174 */
- "rt_sigprocmask", /* 175 */
- "rt_sigpending", /* 176 */
- "rt_sigtimedwait", /* 177 */
- "rt_sigqueueinfo", /* 178 */
- "rt_sigsuspend", /* 179 */
- "pread", /* 180 */
- "pwrite", /* 181 */
- "chown", /* 182 */
- "getcwd", /* 183 */
- "capget", /* 184 */
- "capset", /* 185 */
- "sigaltstack", /* 186 */
- "sendfile", /* 187 */
- "streams1", /* 188 */
- "streams2", /* 189 */
+ "0", /* 0 */
+ "exit", /* 1 */
+ "fork", /* 2 */
+ "read", /* 3 */
+ "write", /* 4 */
+ "open", /* 5 */
+ "close", /* 6 */
+ "waitpid", /* 7 */
+ "creat", /* 8 */
+ "link", /* 9 */
+ "unlink", /* 10 */
+ "execve", /* 11 */
+ "chdir", /* 12 */
+ "time", /* 13 */
+ "mknod", /* 14 */
+ "chmod", /* 15 */
+ "lchown", /* 16 */
+ "break", /* 17 */
+ "oldstat", /* 18 */
+ "lseek", /* 19 */
+ "getpid", /* 20 */
+ "mount", /* 21 */
+ "umount", /* 22 */
+ "setuid", /* 23 */
+ "getuid", /* 24 */
+ "stime", /* 25 */
+ "ptrace", /* 26 */
+ "alarm", /* 27 */
+ "oldfstat", /* 28 */
+ "pause", /* 29 */
+ "utime", /* 30 */
+ "stty", /* 31 */
+ "gtty", /* 32 */
+ "access", /* 33 */
+ "nice", /* 34 */
+ "ftime", /* 35 */
+ "sync", /* 36 */
+ "kill", /* 37 */
+ "rename", /* 38 */
+ "mkdir", /* 39 */
+ "rmdir", /* 40 */
+ "dup", /* 41 */
+ "pipe", /* 42 */
+ "times", /* 43 */
+ "prof", /* 44 */
+ "brk", /* 45 */
+ "setgid", /* 46 */
+ "getgid", /* 47 */
+ "signal", /* 48 */
+ "geteuid", /* 49 */
+ "getegid", /* 50 */
+ "acct", /* 51 */
+ "umount2", /* 52 */
+ "lock", /* 53 */
+ "ioctl", /* 54 */
+ "fcntl", /* 55 */
+ "mpx", /* 56 */
+ "setpgid", /* 57 */
+ "ulimit", /* 58 */
+ "oldolduname", /* 59 */
+ "umask", /* 60 */
+ "chroot", /* 61 */
+ "ustat", /* 62 */
+ "dup2", /* 63 */
+ "getppid", /* 64 */
+ "getpgrp", /* 65 */
+ "setsid", /* 66 */
+ "sigaction", /* 67 */
+ "sgetmask", /* 68 */
+ "ssetmask", /* 69 */
+ "setreuid", /* 70 */
+ "setregid", /* 71 */
+ "sigsuspend", /* 72 */
+ "sigpending", /* 73 */
+ "sethostname", /* 74 */
+ "setrlimit", /* 75 */
+ "getrlimit", /* 76 */
+ "getrusage", /* 77 */
+ "gettimeofday", /* 78 */
+ "settimeofday", /* 79 */
+ "getgroups", /* 80 */
+ "setgroups", /* 81 */
+ "select", /* 82 */
+ "symlink", /* 83 */
+ "oldlstat", /* 84 */
+ "readlink", /* 85 */
+ "uselib", /* 86 */
+ "swapon", /* 87 */
+ "reboot", /* 88 */
+ "readdir", /* 89 */
+ "mmap", /* 90 */
+ "munmap", /* 91 */
+ "truncate", /* 92 */
+ "ftruncate", /* 93 */
+ "fchmod", /* 94 */
+ "fchown", /* 95 */
+ "getpriority", /* 96 */
+ "setpriority", /* 97 */
+ "profil", /* 98 */
+ "statfs", /* 99 */
+ "fstatfs", /* 100 */
+ "ioperm", /* 101 */
+ "socketcall", /* 102 */
+ "syslog", /* 103 */
+ "setitimer", /* 104 */
+ "getitimer", /* 105 */
+ "stat", /* 106 */
+ "lstat", /* 107 */
+ "fstat", /* 108 */
+ "olduname", /* 109 */
+ "iopl", /* 110 */
+ "vhangup", /* 111 */
+ "idle", /* 112 */
+ "vm86old", /* 113 */
+ "wait4", /* 114 */
+ "swapoff", /* 115 */
+ "sysinfo", /* 116 */
+ "ipc", /* 117 */
+ "fsync", /* 118 */
+ "sigreturn", /* 119 */
+ "clone", /* 120 */
+ "setdomainname", /* 121 */
+ "uname", /* 122 */
+ "modify_ldt", /* 123 */
+ "adjtimex", /* 124 */
+ "mprotect", /* 125 */
+ "sigprocmask", /* 126 */
+ "create_module", /* 127 */
+ "init_module", /* 128 */
+ "delete_module", /* 129 */
+ "get_kernel_syms", /* 130 */
+ "quotactl", /* 131 */
+ "getpgid", /* 132 */
+ "fchdir", /* 133 */
+ "bdflush", /* 134 */
+ "sysfs", /* 135 */
+ "personality", /* 136 */
+ "afs_syscall", /* 137 */
+ "setfsuid", /* 138 */
+ "setfsgid", /* 139 */
+ "_llseek", /* 140 */
+ "getdents", /* 141 */
+ "_newselect", /* 142 */
+ "flock", /* 143 */
+ "msync", /* 144 */
+ "readv", /* 145 */
+ "writev", /* 146 */
+ "getsid", /* 147 */
+ "fdatasync", /* 148 */
+ "_sysctl", /* 149 */
+ "mlock", /* 150 */
+ "munlock", /* 151 */
+ "mlockall", /* 152 */
+ "munlockall", /* 153 */
+ "sched_setparam", /* 154 */
+ "sched_getparam", /* 155 */
+ "sched_setscheduler", /* 156 */
+ "sched_getscheduler", /* 157 */
+ "sched_yield", /* 158 */
+ "sched_get_priority_max", /* 159 */
+ "sched_get_priority_min", /* 160 */
+ "sched_rr_get_interval", /* 161 */
+ "nanosleep", /* 162 */
+ "mremap", /* 163 */
+ "setresuid", /* 164 */
+ "getresuid", /* 165 */
+ "vm86", /* 166 */
+ "query_module", /* 167 */
+ "poll", /* 168 */
+ "nfsservctl", /* 169 */
+ "setresgid", /* 170 */
+ "getresgid", /* 171 */
+ "prctl", /* 172 */
+ "rt_sigreturn", /* 173 */
+ "rt_sigaction", /* 174 */
+ "rt_sigprocmask", /* 175 */
+ "rt_sigpending", /* 176 */
+ "rt_sigtimedwait", /* 177 */
+ "rt_sigqueueinfo", /* 178 */
+ "rt_sigsuspend", /* 179 */
+ "pread", /* 180 */
+ "pwrite", /* 181 */
+ "chown", /* 182 */
+ "getcwd", /* 183 */
+ "capget", /* 184 */
+ "capset", /* 185 */
+ "sigaltstack", /* 186 */
+ "sendfile", /* 187 */
+ "getpmsg", /* 188 */
+ "putpmsg", /* 189 */
+ "vfork", /* 190 */
diff --git a/sysdeps/Linux/m68k/signalent.h b/sysdeps/Linux/m68k/signalent.h
index e2c1337..f8e0f0e 100644
--- a/sysdeps/Linux/m68k/signalent.h
+++ b/sysdeps/Linux/m68k/signalent.h
@@ -1,32 +1,32 @@
- "SIG_0", /* 0 */
- "SIGHUP", /* 1 */
- "SIGINT", /* 2 */
- "SIGQUIT", /* 3 */
- "SIGILL", /* 4 */
- "SIGTRAP", /* 5 */
- "SIGABRT", /* 6 */
- "SIGBUS", /* 7 */
- "SIGFPE", /* 8 */
- "SIGKILL", /* 9 */
- "SIGUSR1", /* 10 */
- "SIGSEGV", /* 11 */
- "SIGUSR2", /* 12 */
- "SIGPIPE", /* 13 */
- "SIGALRM", /* 14 */
- "SIGTERM", /* 15 */
- "SIGSTKFLT", /* 16 */
- "SIGCHLD", /* 17 */
- "SIGCONT", /* 18 */
- "SIGSTOP", /* 19 */
- "SIGTSTP", /* 20 */
- "SIGTTIN", /* 21 */
- "SIGTTOU", /* 22 */
- "SIGURG", /* 23 */
- "SIGXCPU", /* 24 */
- "SIGXFSZ", /* 25 */
- "SIGVTALRM", /* 26 */
- "SIGPROF", /* 27 */
- "SIGWINCH", /* 28 */
- "SIGIO", /* 29 */
- "SIGPWR", /* 30 */
- "SIGUNUSED", /* 31 */
+ "SIG_0", /* 0 */
+ "SIGHUP", /* 1 */
+ "SIGINT", /* 2 */
+ "SIGQUIT", /* 3 */
+ "SIGILL", /* 4 */
+ "SIGTRAP", /* 5 */
+ "SIGABRT", /* 6 */
+ "SIGBUS", /* 7 */
+ "SIGFPE", /* 8 */
+ "SIGKILL", /* 9 */
+ "SIGUSR1", /* 10 */
+ "SIGSEGV", /* 11 */
+ "SIGUSR2", /* 12 */
+ "SIGPIPE", /* 13 */
+ "SIGALRM", /* 14 */
+ "SIGTERM", /* 15 */
+ "SIGSTKFLT", /* 16 */
+ "SIGCHLD", /* 17 */
+ "SIGCONT", /* 18 */
+ "SIGSTOP", /* 19 */
+ "SIGTSTP", /* 20 */
+ "SIGTTIN", /* 21 */
+ "SIGTTOU", /* 22 */
+ "SIGURG", /* 23 */
+ "SIGXCPU", /* 24 */
+ "SIGXFSZ", /* 25 */
+ "SIGVTALRM", /* 26 */
+ "SIGPROF", /* 27 */
+ "SIGWINCH", /* 28 */
+ "SIGIO", /* 29 */
+ "SIGPWR", /* 30 */
+ "SIGUNUSED", /* 31 */
diff --git a/sysdeps/Linux/m68k/syscallent.h b/sysdeps/Linux/m68k/syscallent.h
index 8475011..cf56647 100644
--- a/sysdeps/Linux/m68k/syscallent.h
+++ b/sysdeps/Linux/m68k/syscallent.h
@@ -1,189 +1,191 @@
- "setup", /* 0 */ /* used only by init, to get system going */
- "exit", /* 1 */
- "fork", /* 2 */
- "read", /* 3 */
- "write", /* 4 */
- "open", /* 5 */
- "close", /* 6 */
- "waitpid", /* 7 */
- "creat", /* 8 */
- "link", /* 9 */
- "unlink", /* 10 */
- "execve", /* 11 */
- "chdir", /* 12 */
- "time", /* 13 */
- "mknod", /* 14 */
- "chmod", /* 15 */
- "chown", /* 16 */
- "break", /* 17 */
- "oldstat", /* 18 */
- "lseek", /* 19 */
- "getpid", /* 20 */
- "mount", /* 21 */
- "umount", /* 22 */
- "setuid", /* 23 */
- "getuid", /* 24 */
- "stime", /* 25 */
- "ptrace", /* 26 */
- "alarm", /* 27 */
- "oldfstat", /* 28 */
- "pause", /* 29 */
- "utime", /* 30 */
- "stty", /* 31 */
- "gtty", /* 32 */
- "access", /* 33 */
- "nice", /* 34 */
- "ftime", /* 35 */
- "sync", /* 36 */
- "kill", /* 37 */
- "rename", /* 38 */
- "mkdir", /* 39 */
- "rmdir", /* 40 */
- "dup", /* 41 */
- "pipe", /* 42 */
- "times", /* 43 */
- "prof", /* 44 */
- "brk", /* 45 */
- "setgid", /* 46 */
- "getgid", /* 47 */
- "signal", /* 48 */
- "geteuid", /* 49 */
- "getegid", /* 50 */
- "acct", /* 51 */
- "umount2", /* 52 */
- "lock", /* 53 */
- "ioctl", /* 54 */
- "fcntl", /* 55 */
- "mpx", /* 56 */
- "setpgid", /* 57 */
- "ulimit", /* 58 */
- "oldolduname", /* 59 */
- "umask", /* 60 */
- "chroot", /* 61 */
- "ustat", /* 62 */
- "dup2", /* 63 */
- "getppid", /* 64 */
- "getpgrp", /* 65 */
- "setsid", /* 66 */
- "sigaction", /* 67 */
- "sgetmask", /* 68 */
- "ssetmask", /* 69 */
- "setreuid", /* 70 */
- "setregid", /* 71 */
- "sigsuspend", /* 72 */
- "sigpending", /* 73 */
- "sethostname", /* 74 */
- "setrlimit", /* 75 */
- "getrlimit", /* 76 */
- "getrusage", /* 77 */
- "gettimeofday", /* 78 */
- "settimeofday", /* 79 */
- "getgroups", /* 80 */
- "setgroups", /* 81 */
- "select", /* 82 */
- "symlink", /* 83 */
- "oldlstat", /* 84 */
- "readlink", /* 85 */
- "uselib", /* 86 */
- "swapon", /* 87 */
- "reboot", /* 88 */
- "readdir", /* 89 */
- "mmap", /* 90 */
- "munmap", /* 91 */
- "truncate", /* 92 */
- "ftruncate", /* 93 */
- "fchmod", /* 94 */
- "fchown", /* 95 */
- "getpriority", /* 96 */
- "setpriority", /* 97 */
- "profil", /* 98 */
- "statfs", /* 99 */
- "fstatfs", /* 100 */
- "ioperm", /* 101 */
- "socketcall", /* 102 */
- "syslog", /* 103 */
- "setitimer", /* 104 */
- "getitimer", /* 105 */
- "stat", /* 106 */
- "lstat", /* 107 */
- "fstat", /* 108 */
- "olduname", /* 109 */
- "iopl", /* 110 */ /* not supported */
- "vhangup", /* 111 */
- "idle", /* 112 */
- "vm86", /* 113 */ /* not supported */
- "wait4", /* 114 */
- "swapoff", /* 115 */
- "sysinfo", /* 116 */
- "ipc", /* 117 */
- "fsync", /* 118 */
- "sigreturn", /* 119 */
- "clone", /* 120 */
- "setdomainname", /* 121 */
- "uname", /* 122 */
- "cacheflush", /* 123 */
- "adjtimex", /* 124 */
- "mprotect", /* 125 */
- "sigprocmask", /* 126 */
- "create_module", /* 127 */
- "init_module", /* 128 */
- "delete_module", /* 129 */
- "get_kernel_syms", /* 130 */
- "quotactl", /* 131 */
- "getpgid", /* 132 */
- "fchdir", /* 133 */
- "bdflush", /* 134 */
- "sysfs", /* 135 */
- "personality", /* 136 */
- "afs_syscall", /* 137 */ /* Syscall for Andrew File System */
- "setfsuid", /* 138 */
- "setfsgid", /* 139 */
- "_llseek", /* 140 */
- "getdents", /* 141 */
- "_newselect", /* 142 */
- "flock", /* 143 */
- "msync", /* 144 */
- "readv", /* 145 */
- "writev", /* 146 */
- "getsid", /* 147 */
- "fdatasync", /* 148 */
- "_sysctl", /* 149 */
- "mlock", /* 150 */
- "munlock", /* 151 */
- "mlockall", /* 152 */
- "munlockall", /* 153 */
- "sched_setparam", /* 154 */
- "sched_getparam", /* 155 */
- "sched_setscheduler", /* 156 */
- "sched_getscheduler", /* 157 */
- "sched_yield", /* 158 */
- "sched_get_priority_max", /* 159 */
- "sched_get_priority_min", /* 160 */
- "sched_rr_get_interval", /* 161 */
- "nanosleep", /* 162 */
- "mremap", /* 163 */
- "setresuid", /* 164 */
- "getresuid", /* 165 */
- "query_module", /* 167 */
- "poll", /* 168 */
- "nfsservctl", /* 169 */
- "setresgid", /* 170 */
- "getresgid", /* 171 */
- "prctl", /* 172 */
- "rt_sigreturn", /* 173 */
- "rt_sigaction", /* 174 */
- "rt_sigprocmask", /* 175 */
- "rt_sigpending", /* 176 */
- "rt_sigtimedwait", /* 177 */
- "rt_sigqueueinfo", /* 178 */
- "rt_sigsuspend", /* 179 */
- "pread", /* 180 */
- "pwrite", /* 181 */
- "lchown", /* 182 */
- "getcwd", /* 183 */
- "capget", /* 184 */
- "capset", /* 185 */
- "sigaltstack", /* 186 */
- "sendfile", /* 187 */
- "streams1", /* 188 */ /* some people actually want it */
- "streams2", /* 189 */ /* some people actually want it */
+ "0", /* 0 */
+ "exit", /* 1 */
+ "fork", /* 2 */
+ "read", /* 3 */
+ "write", /* 4 */
+ "open", /* 5 */
+ "close", /* 6 */
+ "waitpid", /* 7 */
+ "creat", /* 8 */
+ "link", /* 9 */
+ "unlink", /* 10 */
+ "execve", /* 11 */
+ "chdir", /* 12 */
+ "time", /* 13 */
+ "mknod", /* 14 */
+ "chmod", /* 15 */
+ "chown", /* 16 */
+ "break", /* 17 */
+ "oldstat", /* 18 */
+ "lseek", /* 19 */
+ "getpid", /* 20 */
+ "mount", /* 21 */
+ "umount", /* 22 */
+ "setuid", /* 23 */
+ "getuid", /* 24 */
+ "stime", /* 25 */
+ "ptrace", /* 26 */
+ "alarm", /* 27 */
+ "oldfstat", /* 28 */
+ "pause", /* 29 */
+ "utime", /* 30 */
+ "stty", /* 31 */
+ "gtty", /* 32 */
+ "access", /* 33 */
+ "nice", /* 34 */
+ "ftime", /* 35 */
+ "sync", /* 36 */
+ "kill", /* 37 */
+ "rename", /* 38 */
+ "mkdir", /* 39 */
+ "rmdir", /* 40 */
+ "dup", /* 41 */
+ "pipe", /* 42 */
+ "times", /* 43 */
+ "prof", /* 44 */
+ "brk", /* 45 */
+ "setgid", /* 46 */
+ "getgid", /* 47 */
+ "signal", /* 48 */
+ "geteuid", /* 49 */
+ "getegid", /* 50 */
+ "acct", /* 51 */
+ "umount2", /* 52 */
+ "lock", /* 53 */
+ "ioctl", /* 54 */
+ "fcntl", /* 55 */
+ "mpx", /* 56 */
+ "setpgid", /* 57 */
+ "ulimit", /* 58 */
+ "oldolduname", /* 59 */
+ "umask", /* 60 */
+ "chroot", /* 61 */
+ "ustat", /* 62 */
+ "dup2", /* 63 */
+ "getppid", /* 64 */
+ "getpgrp", /* 65 */
+ "setsid", /* 66 */
+ "sigaction", /* 67 */
+ "sgetmask", /* 68 */
+ "ssetmask", /* 69 */
+ "setreuid", /* 70 */
+ "setregid", /* 71 */
+ "sigsuspend", /* 72 */
+ "sigpending", /* 73 */
+ "sethostname", /* 74 */
+ "setrlimit", /* 75 */
+ "getrlimit", /* 76 */
+ "getrusage", /* 77 */
+ "gettimeofday", /* 78 */
+ "settimeofday", /* 79 */
+ "getgroups", /* 80 */
+ "setgroups", /* 81 */
+ "select", /* 82 */
+ "symlink", /* 83 */
+ "oldlstat", /* 84 */
+ "readlink", /* 85 */
+ "uselib", /* 86 */
+ "swapon", /* 87 */
+ "reboot", /* 88 */
+ "readdir", /* 89 */
+ "mmap", /* 90 */
+ "munmap", /* 91 */
+ "truncate", /* 92 */
+ "ftruncate", /* 93 */
+ "fchmod", /* 94 */
+ "fchown", /* 95 */
+ "getpriority", /* 96 */
+ "setpriority", /* 97 */
+ "profil", /* 98 */
+ "statfs", /* 99 */
+ "fstatfs", /* 100 */
+ "ioperm", /* 101 */
+ "socketcall", /* 102 */
+ "syslog", /* 103 */
+ "setitimer", /* 104 */
+ "getitimer", /* 105 */
+ "stat", /* 106 */
+ "lstat", /* 107 */
+ "fstat", /* 108 */
+ "olduname", /* 109 */
+ "110", /* 110 */
+ "vhangup", /* 111 */
+ "idle", /* 112 */
+ "113", /* 113 */
+ "wait4", /* 114 */
+ "swapoff", /* 115 */
+ "sysinfo", /* 116 */
+ "ipc", /* 117 */
+ "fsync", /* 118 */
+ "sigreturn", /* 119 */
+ "clone", /* 120 */
+ "setdomainname", /* 121 */
+ "uname", /* 122 */
+ "cacheflush", /* 123 */
+ "adjtimex", /* 124 */
+ "mprotect", /* 125 */
+ "sigprocmask", /* 126 */
+ "create_module", /* 127 */
+ "init_module", /* 128 */
+ "delete_module", /* 129 */
+ "get_kernel_syms", /* 130 */
+ "quotactl", /* 131 */
+ "getpgid", /* 132 */
+ "fchdir", /* 133 */
+ "bdflush", /* 134 */
+ "sysfs", /* 135 */
+ "personality", /* 136 */
+ "afs_syscall", /* 137 */
+ "setfsuid", /* 138 */
+ "setfsgid", /* 139 */
+ "_llseek", /* 140 */
+ "getdents", /* 141 */
+ "_newselect", /* 142 */
+ "flock", /* 143 */
+ "msync", /* 144 */
+ "readv", /* 145 */
+ "writev", /* 146 */
+ "getsid", /* 147 */
+ "fdatasync", /* 148 */
+ "_sysctl", /* 149 */
+ "mlock", /* 150 */
+ "munlock", /* 151 */
+ "mlockall", /* 152 */
+ "munlockall", /* 153 */
+ "sched_setparam", /* 154 */
+ "sched_getparam", /* 155 */
+ "sched_setscheduler", /* 156 */
+ "sched_getscheduler", /* 157 */
+ "sched_yield", /* 158 */
+ "sched_get_priority_max", /* 159 */
+ "sched_get_priority_min", /* 160 */
+ "sched_rr_get_interval", /* 161 */
+ "nanosleep", /* 162 */
+ "mremap", /* 163 */
+ "setresuid", /* 164 */
+ "getresuid", /* 165 */
+ "166", /* 166 */
+ "query_module", /* 167 */
+ "poll", /* 168 */
+ "nfsservctl", /* 169 */
+ "setresgid", /* 170 */
+ "getresgid", /* 171 */
+ "prctl", /* 172 */
+ "rt_sigreturn", /* 173 */
+ "rt_sigaction", /* 174 */
+ "rt_sigprocmask", /* 175 */
+ "rt_sigpending", /* 176 */
+ "rt_sigtimedwait", /* 177 */
+ "rt_sigqueueinfo", /* 178 */
+ "rt_sigsuspend", /* 179 */
+ "pread", /* 180 */
+ "pwrite", /* 181 */
+ "lchown", /* 182 */
+ "getcwd", /* 183 */
+ "capget", /* 184 */
+ "capset", /* 185 */
+ "sigaltstack", /* 186 */
+ "sendfile", /* 187 */
+ "getpmsg", /* 188 */
+ "putpmsg", /* 189 */
+ "vfork", /* 190 */
diff --git a/sysdeps/Linux/m68k/syscallent.h- b/sysdeps/Linux/m68k/syscallent.h-
deleted file mode 100644
index 492c3db..0000000
--- a/sysdeps/Linux/m68k/syscallent.h-
+++ /dev/null
@@ -1,190 +0,0 @@
- "setup", /* 0 */
- "exit", /* 1 */
- "fork", /* 2 */
- "read", /* 3 */
- "write", /* 4 */
- "open", /* 5 */
- "close", /* 6 */
- "waitpid", /* 7 */
- "creat", /* 8 */
- "link", /* 9 */
- "unlink", /* 10 */
- "execve", /* 11 */
- "chdir", /* 12 */
- "time", /* 13 */
- "mknod", /* 14 */
- "chmod", /* 15 */
- "chown", /* 16 */
- "break", /* 17 */
- "oldstat", /* 18 */
- "lseek", /* 19 */
- "getpid", /* 20 */
- "mount", /* 21 */
- "umount", /* 22 */
- "setuid", /* 23 */
- "getuid", /* 24 */
- "stime", /* 25 */
- "ptrace", /* 26 */
- "alarm", /* 27 */
- "oldfstat", /* 28 */
- "pause", /* 29 */
- "utime", /* 30 */
- "stty", /* 31 */
- "gtty", /* 32 */
- "access", /* 33 */
- "nice", /* 34 */
- "ftime", /* 35 */
- "sync", /* 36 */
- "kill", /* 37 */
- "rename", /* 38 */
- "mkdir", /* 39 */
- "rmdir", /* 40 */
- "dup", /* 41 */
- "pipe", /* 42 */
- "times", /* 43 */
- "prof", /* 44 */
- "brk", /* 45 */
- "setgid", /* 46 */
- "getgid", /* 47 */
- "signal", /* 48 */
- "geteuid", /* 49 */
- "getegid", /* 50 */
- "acct", /* 51 */
- "umount2", /* 52 */
- "lock", /* 53 */
- "ioctl", /* 54 */
- "fcntl", /* 55 */
- "mpx", /* 56 */
- "setpgid", /* 57 */
- "ulimit", /* 58 */
- "oldolduname", /* 59 */
- "umask", /* 60 */
- "chroot", /* 61 */
- "ustat", /* 62 */
- "dup2", /* 63 */
- "getppid", /* 64 */
- "getpgrp", /* 65 */
- "setsid", /* 66 */
- "sigaction", /* 67 */
- "sgetmask", /* 68 */
- "ssetmask", /* 69 */
- "setreuid", /* 70 */
- "setregid", /* 71 */
- "sigsuspend", /* 72 */
- "sigpending", /* 73 */
- "sethostname", /* 74 */
- "setrlimit", /* 75 */
- "getrlimit", /* 76 */
- "getrusage", /* 77 */
- "gettimeofday", /* 78 */
- "settimeofday", /* 79 */
- "getgroups", /* 80 */
- "setgroups", /* 81 */
- "select", /* 82 */
- "symlink", /* 83 */
- "oldlstat", /* 84 */
- "readlink", /* 85 */
- "uselib", /* 86 */
- "swapon", /* 87 */
- "reboot", /* 88 */
- "readdir", /* 89 */
- "mmap", /* 90 */
- "munmap", /* 91 */
- "truncate", /* 92 */
- "ftruncate", /* 93 */
- "fchmod", /* 94 */
- "fchown", /* 95 */
- "getpriority", /* 96 */
- "setpriority", /* 97 */
- "profil", /* 98 */
- "statfs", /* 99 */
- "fstatfs", /* 100 */
- "ioperm", /* 101 */
- "socketcall", /* 102 */
- "syslog", /* 103 */
- "setitimer", /* 104 */
- "getitimer", /* 105 */
- "stat", /* 106 */
- "lstat", /* 107 */
- "fstat", /* 108 */
- "olduname", /* 109 */
- "(NONE)", /* 110 */
- "vhangup", /* 111 */
- "idle", /* 112 */
- "(NONE)", /* 113 */
- "wait4", /* 114 */
- "swapoff", /* 115 */
- "sysinfo", /* 116 */
- "ipc", /* 117 */
- "fsync", /* 118 */
- "sigreturn", /* 119 */
- "clone", /* 120 */
- "setdomainname", /* 121 */
- "uname", /* 122 */
- "cacheflush", /* 123 */
- "adjtimex", /* 124 */
- "mprotect", /* 125 */
- "sigprocmask", /* 126 */
- "create_module", /* 127 */
- "init_module", /* 128 */
- "delete_module", /* 129 */
- "get_kernel_syms", /* 130 */
- "quotactl", /* 131 */
- "getpgid", /* 132 */
- "fchdir", /* 133 */
- "bdflush", /* 134 */
- "sysfs", /* 135 */
- "personality", /* 136 */
- "afs_syscall", /* 137 */
- "setfsuid", /* 138 */
- "setfsgid", /* 139 */
- "_llseek", /* 140 */
- "getdents", /* 141 */
- "_newselect", /* 142 */
- "flock", /* 143 */
- "msync", /* 144 */
- "readv", /* 145 */
- "writev", /* 146 */
- "getsid", /* 147 */
- "fdatasync", /* 148 */
- "_sysctl", /* 149 */
- "mlock", /* 150 */
- "munlock", /* 151 */
- "mlockall", /* 152 */
- "munlockall", /* 153 */
- "sched_setparam", /* 154 */
- "sched_getparam", /* 155 */
- "sched_setscheduler", /* 156 */
- "sched_getscheduler", /* 157 */
- "sched_yield", /* 158 */
- "sched_get_priority_max", /* 159 */
- "sched_get_priority_min", /* 160 */
- "sched_rr_get_interval", /* 161 */
- "nanosleep", /* 162 */
- "mremap", /* 163 */
- "setresuid", /* 164 */
- "getresuid", /* 165 */
- "(NONE)", /* 166 */
- "query_module", /* 167 */
- "poll", /* 168 */
- "nfsservctl", /* 169 */
- "setresgid", /* 170 */
- "getresgid", /* 171 */
- "prctl", /* 172 */
- "rt_sigreturn", /* 173 */
- "rt_sigaction", /* 174 */
- "rt_sigprocmask", /* 175 */
- "rt_sigpending", /* 176 */
- "rt_sigtimedwait", /* 177 */
- "rt_sigqueueinfo", /* 178 */
- "rt_sigsuspend", /* 179 */
- "pread", /* 180 */
- "pwrite", /* 181 */
- "lchown", /* 182 */
- "getcwd", /* 183 */
- "capget", /* 184 */
- "capset", /* 185 */
- "sigaltstack", /* 186 */
- "sendfile", /* 187 */
- "streams1", /* 188 */
- "streams2", /* 189 */
diff --git a/sysdeps/Linux/mksignalent b/sysdeps/Linux/mksignalent
new file mode 100755
index 0000000..316d81f
--- /dev/null
+++ b/sysdeps/Linux/mksignalent
@@ -0,0 +1,33 @@
+#!/usr/bin/awk -f
+
+# hack expression to generate arch/signalent.h from <asm/signal.h>
+# It reads from stdin and writes to stdout
+
+BEGIN {
+ max=0;
+}
+
+{
+ if (($1 ~ /^#define$/) && (!SIGNAL[$3]) && ($2 ~ /^SIG[A-Z]/) \
+ && ($2 !~ /^SIGRTMIN$/) && ($2 !~ /^SIGRTMAX$/) && ($2 !~ /^SIGSTKSZ$/) \
+ && ($3>=0) && ($3<=1000)) {
+ SIGNAL[$3]=$2;
+ if ($3 > max) {
+ max=$3;
+ }
+ }
+}
+
+END {
+ for(i=0; i<=max; i++) {
+ if (!SIGNAL[i]) {
+ SIGNAL[i] = "SIG_" i;
+ }
+ pad = 16 - length(SIGNAL[i]);
+ if (pad<1) {
+ pad=1;
+ }
+ printf("\t\"%s\",%*s/* %d */\n", SIGNAL[i], pad, "", i);
+ }
+}
+
diff --git a/sysdeps/Linux/mksyscallent b/sysdeps/Linux/mksyscallent
new file mode 100755
index 0000000..29d978a
--- /dev/null
+++ b/sysdeps/Linux/mksyscallent
@@ -0,0 +1,34 @@
+#!/usr/bin/awk -f
+
+# hack expression to generate arch/syscallent.h from <asm/unistd.h>
+# It reads from stdin and writes to stdout
+# Currently (linux-2.2.3), it works OK on i386,m68k
+# It does NOT work in arm,mips
+# It is untested in other architectures
+
+BEGIN {
+ max=0;
+}
+
+{
+ if (($1 ~ /^#define$/) && ($2 ~ /^__NR_/) && ($3>=0) && ($3<=1000)) {
+ SYSCALL[$3]=substr($2,6);
+ if ($3 > max) {
+ max=$3;
+ }
+ }
+}
+
+END {
+ for(i=0; i<=max; i++) {
+ if (!SYSCALL[i]) {
+ SYSCALL[i] = i;
+ }
+ pad = 32 - length(SYSCALL[i]);
+ if (pad<1) {
+ pad=1;
+ }
+ printf("\t\"%s\",%*s/* %d */\n", SYSCALL[i], pad, "", i);
+ }
+}
+
diff --git a/sysdeps/Linux/mksyscalls b/sysdeps/Linux/mksyscalls
deleted file mode 100755
index a3358be..0000000
--- a/sysdeps/Linux/mksyscalls
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/awk -f
-
-# hack expression to generate arch/syscallent.h from <asm/unistd.h>
-# It reads from stdin and writes to stdout
-# resulting blurb still needs editing!
-
-BEGIN {
- max=0;
-}
-
-{
- if (($1 ~ /^#define$/) && (substr($2,1,5) ~ /^__NR_$/) && ($3>=0) && ($3<=1000)) {
- SYSCALL[$3]=substr($2,6);
- if ($3 > max) {
- max=$3;
- }
- }
-}
-
-END {
- for(i=0; i<=max; i++) {
- if (SYSCALL[i]) {
- if (length(SYSCALL[i])<5) {
- pad="\t\t\t";
- } else if (length(SYSCALL[i])<13) {
- pad="\t\t";
- } else {
- pad="\t";
- }
- printf("\t\"%s\",%s/* %d */\n", SYSCALL[i], pad, i);
- } else {
- printf("\t\"(NONE)\",\t\t/* %d */\n", i);
- }
- }
-}
-
diff --git a/sysdeps/Linux/sparc/Makefile b/sysdeps/Linux/sparc/Makefile
deleted file mode 100644
index b71ce1f..0000000
--- a/sysdeps/Linux/sparc/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-OBJ = breakpoint.o regs.o trace.o
-
-all: arch.o
-
-arch.o: $(OBJ)
- $(LD) -r -o arch.o $(OBJ)
-
-clean:
- $(RM) $(OBJ) arch.o
diff --git a/sysdeps/Linux/sparc/arch.h b/sysdeps/Linux/sparc/arch.h
deleted file mode 100644
index 1173591..0000000
--- a/sysdeps/Linux/sparc/arch.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#define BREAKPOINT_VALUE {0x91, 0xd0, 0x20, 0x01}
-#define BREAKPOINT_LENGTH 4
-#define DECR_PC_AFTER_BREAK 0
-
diff --git a/sysdeps/Linux/sparc/breakpoint.c b/sysdeps/Linux/sparc/breakpoint.c
deleted file mode 100644
index 250e511..0000000
--- a/sysdeps/Linux/sparc/breakpoint.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/ptrace.h>
-#include "ltrace.h"
-
-void insert_breakpoint(pid_t pid, struct breakpoint * sbp)
-{
- unsigned long a;
-
- a = ptrace(PTRACE_PEEKTEXT, pid, sbp->addr, 0);
- *(unsigned long *)sbp->orig_value = a;
- a = ((0x91 * 256 + 0xd0) * 256 + 0x20) * 256 + 0x01;
- ptrace(PTRACE_POKETEXT, pid, sbp->addr, a);
-}
-
-void delete_breakpoint(pid_t pid, struct breakpoint * sbp)
-{
- ptrace(PTRACE_POKETEXT, pid, sbp->addr, *(long *)sbp->orig_value);
-}
diff --git a/sysdeps/Linux/sparc/regs.c b/sysdeps/Linux/sparc/regs.c
deleted file mode 100644
index aaa81a9..0000000
--- a/sysdeps/Linux/sparc/regs.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-#include <sys/ptrace.h>
-
-void * get_instruction_pointer(pid_t pid)
-{
- return (void *)ptrace(PTRACE_PEEKUSER, pid, PT_PC, 0);
-}
-
-void * get_stack_pointer(pid_t pid)
-{
- return (void *)-1;
-}
-
-void * get_return_addr(pid_t pid, void * stack_pointer)
-{
- return (void *)-1;
-}
-
diff --git a/sysdeps/Linux/sparc/signalent.h b/sysdeps/Linux/sparc/signalent.h
deleted file mode 100644
index e69de29..0000000
--- a/sysdeps/Linux/sparc/signalent.h
+++ /dev/null
diff --git a/sysdeps/Linux/sparc/syscallent.h b/sysdeps/Linux/sparc/syscallent.h
deleted file mode 100644
index 432a400..0000000
--- a/sysdeps/Linux/sparc/syscallent.h
+++ /dev/null
@@ -1,256 +0,0 @@
- "setup", /* 0 */
- "exit", /* 1 */
- "fork", /* 2 */
- "read", /* 3 */
- "write", /* 4 */
- "open", /* 5 */
- "close", /* 6 */
- "wait4", /* 7 */
- "creat", /* 8 */
- "link", /* 9 */
- "unlink", /* 10 */
- "execv", /* 11 */
- "chdir", /* 12 */
- "(NONE)", /* 13 */
- "mknod", /* 14 */
- "chmod", /* 15 */
- "chown", /* 16 */
- "brk", /* 17 */
- "(NONE)", /* 18 */
- "lseek", /* 19 */
- "getpid", /* 20 */
- "capget", /* 21 */
- "capset", /* 22 */
- "setuid", /* 23 */
- "getuid", /* 24 */
- "(NONE)", /* 25 */
- "ptrace", /* 26 */
- "alarm", /* 27 */
- "sigaltstack", /* 28 */
- "pause", /* 29 */
- "utime", /* 30 */
- "stty", /* 31 */
- "gtty", /* 32 */
- "access", /* 33 */
- "nice", /* 34 */
- "ftime", /* 35 */
- "sync", /* 36 */
- "kill", /* 37 */
- "stat", /* 38 */
- "sendfile", /* 39 */
- "lstat", /* 40 */
- "dup", /* 41 */
- "pipe", /* 42 */
- "times", /* 43 */
- "profil", /* 44 */
- "(NONE)", /* 45 */
- "setgid", /* 46 */
- "getgid", /* 47 */
- "signal", /* 48 */
- "geteuid", /* 49 */
- "getegid", /* 50 */
- "acct", /* 51 */
- "(NONE)", /* 52 */
- "mctl", /* 53 */
- "ioctl", /* 54 */
- "reboot", /* 55 */
- "(NONE)", /* 56 */
- "symlink", /* 57 */
- "readlink", /* 58 */
- "execve", /* 59 */
- "umask", /* 60 */
- "chroot", /* 61 */
- "fstat", /* 62 */
- "(NONE)", /* 63 */
- "getpagesize", /* 64 */
- "msync", /* 65 */
- "(NONE)", /* 66 */
- "pread", /* 67 */
- "pwrite", /* 68 */
- "sbrk", /* 69 */
- "sstk", /* 70 */
- "mmap", /* 71 */
- "vadvise", /* 72 */
- "munmap", /* 73 */
- "mprotect", /* 74 */
- "madvise", /* 75 */
- "vhangup", /* 76 */
- "(NONE)", /* 77 */
- "mincore", /* 78 */
- "getgroups", /* 79 */
- "setgroups", /* 80 */
- "getpgrp", /* 81 */
- "setpgrp", /* 82 */
- "setitimer", /* 83 */
- "(NONE)", /* 84 */
- "swapon", /* 85 */
- "getitimer", /* 86 */
- "gethostname", /* 87 */
- "sethostname", /* 88 */
- "getdtablesize", /* 89 */
- "dup2", /* 90 */
- "getdopt", /* 91 */
- "fcntl", /* 92 */
- "select", /* 93 */
- "setdopt", /* 94 */
- "fsync", /* 95 */
- "setpriority", /* 96 */
- "socket", /* 97 */
- "connect", /* 98 */
- "accept", /* 99 */
- "getpriority", /* 100 */
- "rt_sigreturn", /* 101 */
- "rt_sigaction", /* 102 */
- "rt_sigprocmask", /* 103 */
- "rt_sigpending", /* 104 */
- "rt_sigtimedwait", /* 105 */
- "rt_sigqueueinfo", /* 106 */
- "rt_sigsuspend", /* 107 */
- "sigvec", /* 108 */
- "sigblock", /* 109 */
- "sigsetmask", /* 110 */
- "sigpause", /* 111 */
- "sigstack", /* 112 */
- "recvmsg", /* 113 */
- "sendmsg", /* 114 */
- "vtrace", /* 115 */
- "gettimeofday", /* 116 */
- "getrusage", /* 117 */
- "getsockopt", /* 118 */
- "getcwd", /* 119 */
- "readv", /* 120 */
- "writev", /* 121 */
- "settimeofday", /* 122 */
- "fchown", /* 123 */
- "fchmod", /* 124 */
- "recvfrom", /* 125 */
- "setreuid", /* 126 */
- "setregid", /* 127 */
- "rename", /* 128 */
- "truncate", /* 129 */
- "ftruncate", /* 130 */
- "flock", /* 131 */
- "(NONE)", /* 132 */
- "sendto", /* 133 */
- "shutdown", /* 134 */
- "socketpair", /* 135 */
- "mkdir", /* 136 */
- "rmdir", /* 137 */
- "utimes", /* 138 */
- "(NONE)", /* 139 */
- "adjtime", /* 140 */
- "getpeername", /* 141 */
- "gethostid", /* 142 */
- "(NONE)", /* 143 */
- "getrlimit", /* 144 */
- "setrlimit", /* 145 */
- "killpg", /* 146 */
- "prctl", /* 147 */
- "(NONE)", /* 148 */
- "(NONE)", /* 149 */
- "getsockname", /* 150 */
- "getmsg", /* 151 */
- "putmsg", /* 152 */
- "poll", /* 153 */
- "(NONE)", /* 154 */
- "nfssvc", /* 155 */
- "getdirentries", /* 156 */
- "statfs", /* 157 */
- "fstatfs", /* 158 */
- "umount", /* 159 */
- "async_daemon", /* 160 */
- "getfh", /* 161 */
- "getdomainname", /* 162 */
- "setdomainname", /* 163 */
- "(NONE)", /* 164 */
- "quotactl", /* 165 */
- "exportfs", /* 166 */
- "mount", /* 167 */
- "ustat", /* 168 */
- "semsys", /* 169 */
- "msgsys", /* 170 */
- "shmsys", /* 171 */
- "auditsys", /* 172 */
- "rfssys", /* 173 */
- "getdents", /* 174 */
- "setsid", /* 175 */
- "fchdir", /* 176 */
- "fchroot", /* 177 */
- "vpixsys", /* 178 */
- "aioread", /* 179 */
- "aiowrite", /* 180 */
- "aiowait", /* 181 */
- "aiocancel", /* 182 */
- "sigpending", /* 183 */
- "query_module", /* 184 */
- "setpgid", /* 185 */
- "pathconf", /* 186 */
- "fpathconf", /* 187 */
- "sysconf", /* 188 */
- "uname", /* 189 */
- "init_module", /* 190 */
- "personality", /* 191 */
- "prof", /* 192 */
- "break", /* 193 */
- "lock", /* 194 */
- "mpx", /* 195 */
- "ulimit", /* 196 */
- "getppid", /* 197 */
- "sigaction", /* 198 */
- "sgetmask", /* 199 */
- "ssetmask", /* 200 */
- "sigsuspend", /* 201 */
- "oldlstat", /* 202 */
- "uselib", /* 203 */
- "readdir", /* 204 */
- "ioperm", /* 205 */
- "socketcall", /* 206 */
- "syslog", /* 207 */
- "olduname", /* 208 */
- "iopl", /* 209 */
- "idle", /* 210 */
- "vm86", /* 211 */
- "waitpid", /* 212 */
- "swapoff", /* 213 */
- "sysinfo", /* 214 */
- "ipc", /* 215 */
- "sigreturn", /* 216 */
- "clone", /* 217 */
- "modify_ldt", /* 218 */
- "adjtimex", /* 219 */
- "sigprocmask", /* 220 */
- "create_module", /* 221 */
- "delete_module", /* 222 */
- "get_kernel_syms", /* 223 */
- "getpgid", /* 224 */
- "bdflush", /* 225 */
- "sysfs", /* 226 */
- "afs_syscall", /* 227 */
- "setfsuid", /* 228 */
- "setfsgid", /* 229 */
- "_newselect", /* 230 */
- "time", /* 231 */
- "oldstat", /* 232 */
- "stime", /* 233 */
- "oldfstat", /* 234 */
- "phys", /* 235 */
- "_llseek", /* 236 */
- "mlock", /* 237 */
- "munlock", /* 238 */
- "mlockall", /* 239 */
- "munlockall", /* 240 */
- "sched_setparam", /* 241 */
- "sched_getparam", /* 242 */
- "sched_setscheduler", /* 243 */
- "sched_getscheduler", /* 244 */
- "sched_yield", /* 245 */
- "sched_get_priority_max", /* 246 */
- "sched_get_priority_min", /* 247 */
- "sched_rr_get_interval", /* 248 */
- "nanosleep", /* 249 */
- "mremap", /* 250 */
- "_sysctl", /* 251 */
- "getsid", /* 252 */
- "fdatasync", /* 253 */
- "nfsservctl", /* 254 */
- "aplib", /* 255 */
diff --git a/sysdeps/Linux/sparc/trace.c b/sysdeps/Linux/sparc/trace.c
deleted file mode 100644
index 1452d94..0000000
--- a/sysdeps/Linux/sparc/trace.c
+++ /dev/null
@@ -1,70 +0,0 @@
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <signal.h>
-#include <sys/ptrace.h>
-
-#include "ltrace.h"
-
-/* Returns syscall number if `pid' stopped because of a syscall.
- * Returns -1 otherwise
- */
-int syscall_p(pid_t pid, int status)
-{
-#if 0
- if (WIFSTOPPED(status) && WSTOPSIG(status)==SIGTRAP) {
- int tmp = ptrace(PTRACE_PEEKUSER, pid, 4*ORIG_EAX);
- if (tmp>=0) {
- return tmp;
- }
- }
-#endif
- return -1;
-}
-
-void continue_after_breakpoint(struct process *proc, struct breakpoint * sbp, int delete_it)
-{
- delete_breakpoint(proc->pid, sbp);
- ptrace(PTRACE_POKEUSER, proc->pid, PT_PC, sbp->addr);
- if (delete_it) {
- continue_process(proc->pid);
- } else {
- proc->breakpoint_being_enabled = sbp;
- ptrace(PTRACE_SINGLESTEP, proc->pid, 0, 0);
- }
-}
-
-long gimme_arg(enum tof type, struct process * proc, int arg_num)
-{
-#if 0
- if (arg_num==-1) { /* return value */
- return ptrace(PTRACE_PEEKUSER, proc->pid, 4*EAX);
- }
-
- if (type==LT_TOF_FUNCTION) {
- return ptrace(PTRACE_PEEKTEXT, proc->pid, proc->stack_pointer+4*(arg_num+1));
- } else if (type==LT_TOF_SYSCALL) {
-#if 0
- switch(arg_num) {
- case 0: return ptrace(PTRACE_PEEKUSER, proc->pid, 4*EBX);
- case 1: return ptrace(PTRACE_PEEKUSER, proc->pid, 4*ECX);
- case 2: return ptrace(PTRACE_PEEKUSER, proc->pid, 4*EDX);
- case 3: return ptrace(PTRACE_PEEKUSER, proc->pid, 4*ESI);
- case 4: return ptrace(PTRACE_PEEKUSER, proc->pid, 4*EDI);
- default:
- fprintf(stderr, "gimme_arg called with wrong arguments\n");
- exit(2);
- }
-#else
- return ptrace(PTRACE_PEEKUSER, proc->pid, 4*arg_num);
-#endif
- } else {
- fprintf(stderr, "gimme_arg called with wrong arguments\n");
- exit(1);
- }
-#endif
- return 0;
-}
diff --git a/sysdeps/Linux/trace.c b/sysdeps/Linux/trace.c
index 9ef96c9..fd2c1a7 100644
--- a/sysdeps/Linux/trace.c
+++ b/sysdeps/Linux/trace.c
@@ -14,7 +14,17 @@
*/
int fork_p(int sysnum)
{
- return (sysnum == __NR_fork || sysnum == __NR_clone);
+ return 0
+#if defined(__NR_fork)
+ || (sysnum == __NR_fork)
+#endif
+#if defined(__NR_clone)
+ || (sysnum == __NR_clone)
+#endif
+#if defined(__NR_vfork)
+ || (sysnum == __NR_vfork)
+#endif
+ ;
}
/* Returns 1 if the sysnum may make the process exec other program
diff --git a/sysdeps/README b/sysdeps/README
new file mode 100644
index 0000000..d7d794d
--- /dev/null
+++ b/sysdeps/README
@@ -0,0 +1,30 @@
+Each operating system must have a subdir here, with a Makefile
+The first target of that Makefile must build a file "sysdep.o" in this
+directory.
+The "clean" target of that Makefile must undo all the efects of the
+first target, and must remove "sysdep.o" in this dir.
+
+Files "sysdep.h", "signalent.h" and "syscallent.h" must be present
+inside the directory after invoking the first target of the Makefile.
+
+-----------
+"sysdep.o" must export the following functions:
+
+void continue_after_breakpoint(struct process * proc, struct breakpoint * sbp, int delete_it);
+void continue_after_signal(pid_t pid, int signum);
+void continue_enabling_breakpoint(pid_t pid, struct breakpoint * sbp);
+void continue_process(pid_t pid);
+void insert_breakpoint(pid_t pid, struct breakpoint * sbp);
+void delete_breakpoint(pid_t pid, struct breakpoint * sbp);
+int fork_p(int sysnum);
+int exec_p(int sysnum);
+int syscall_p(struct process * proc, int status, int * sysnum);
+void * get_instruction_pointer(pid_t pid);
+void * get_stack_pointer(pid_t pid);
+void * get_return_addr(pid_t pid, void * stack_pointer);
+long gimme_arg(enum tof type, struct process * proc, int arg_num);
+int umovestr(struct process * proc, void * addr, int len, void * laddr);
+char * pid2name(pid_t pid);
+void trace_me(void);
+int trace_pid(pid_t pid);
+void untrace_pid(pid_t pid);