diff options
Diffstat (limited to 'include')
-rwxr-xr-x | include/a.out.encap.h | 6 | ||||
-rwxr-xr-x | include/ranlib.h | 8 | ||||
-rwxr-xr-x | include/stab.def | 19 | ||||
-rw-r--r-- | include/wait.h | 50 |
4 files changed, 50 insertions, 33 deletions
diff --git a/include/a.out.encap.h b/include/a.out.encap.h index 39c84d7..adc3f1c 100755 --- a/include/a.out.encap.h +++ b/include/a.out.encap.h @@ -1,3 +1,6 @@ +/* This file is obsolete. It needs to be converted to just define a bunch + of stuff that BFD can use to do coff-encapsulated files. --gnu@cygnus.com */ + /* Another try at encapsulating bsd object files in coff. Copyright (C) 1988, 1989, Free Software Foundation, Inc. Written by Pace Willisson 12/9/88 @@ -38,9 +41,6 @@ #include "a.out.gnu.h" -/* Figure out what our target machine is */ -#include "target.h" - #define N_FLAGS_COFF_ENCAPSULATE 0x20 /* coff header precedes bsd header */ /* Describe the COFF header used for encapsulation. */ diff --git a/include/ranlib.h b/include/ranlib.h index 07bc0ab..6d080f4 100755 --- a/include/ranlib.h +++ b/include/ranlib.h @@ -30,6 +30,9 @@ 9 ; byte count of string table "foo\0_bar\0" ; string table */ +#define RANLIBMAG "__.SYMDEF" /* Archive file name containing index */ +#define RANLIBSKEW 3 /* Creation time offset */ + /* Format of __.SYMDEF: First, a longword containing the size of the 'symdef' data that follows. Second, zero or more 'symdef' structures. @@ -43,6 +46,9 @@ struct symdef unsigned long string_offset; /* In the file */ char *name; /* In memory, sometimes */ } s; + /* this points to the front of the file header (AKA member header -- + a struct ar_hdr), not to the front of the file or into the file). + in other words it only tells you which file to read */ unsigned long file_offset; }; @@ -50,6 +56,6 @@ struct symdef #define ranlib symdef #define ran_un s -#define ran_str string_offset +#define ran_strx string_offset #define ran_name name #define ran_off file_offset diff --git a/include/stab.def b/include/stab.def index 58364e1..2ef91c0 100755 --- a/include/stab.def +++ b/include/stab.def @@ -38,6 +38,12 @@ __define_stab (N_LCSYM, 0x28, "LCSYM") This is not used in C. */ __define_stab (N_MAIN, 0x2a, "MAIN") +/* Number of symbols: 0, files,,funcs,lines according to Ultrix V4.0. */ +__define_stab (N_NSYMS, 0x32, "NSYMS") + +/* "No DST map for sym: name, ,0,type,ignored" according to Ultrix V4.0. */ +__define_stab (N_NOMAP, 0x34, "NOMAP") + /* Register variable. Value is number of register. */ __define_stab (N_RSYM, 0x40, "RSYM") @@ -59,7 +65,7 @@ __define_stab (N_ENTRY, 0xa4, "ENTRY") Value is starting text address of the compilation. */ __define_stab (N_SO, 0x64, "SO") -/* Name of sub-source file. +/* Name of sub-source file (#include file). Value is starting text address of the compilation. */ __define_stab (N_SOL, 0x84, "SOL") @@ -120,8 +126,13 @@ __define_stab (N_BROWS, 0x48, "BROWS") /* GNU C++ exception stabs. */ +/* THE FOLLOWING TWO STAB VALUES CONFLICT. Happily, one is for Modula-2 + and one is for C++. Still,... */ /* GNU C++ exception variable. Name is variable name. */ __define_stab (N_EHDECL, 0x50, "EHDECL") +/* Modula2 info "for imc": name,,0,0,0 according to Ultrix V4.0. */ +__define_stab (N_MOD2, 0x50, "MOD2") + /* GNU C++ `catch' clause. Value is its address. Desc is nonzero if this entry is immediately followed by a CAUGHT stab saying what exception @@ -138,7 +149,6 @@ __define_stab (N_NBDATA, 0xF2, "NBDATA") __define_stab (N_NBBSS, 0xF4, "NBBSS") __define_stab (N_NBSTS, 0xF6, "NBSTS") __define_stab (N_NBLCS, 0xF8, "NBLCS") -__define_stab (N_NSYMS, 0xFA, "NSYMS") /* The above information, in matrix format. @@ -151,11 +161,11 @@ __define_stab (N_NSYMS, 0xFA, "NSYMS") |_______________________________________________| | 20 GSYM | 22 FNAME | 24 FUN | 26 STSYM | | 28 LCSYM | 2A MAIN | 2C | 2E | - | 30 PC | 32 | 34 | 36 | + | 30 PC | 32 NSYMS | 34 NOMAP | 36 | | 38 | 3A | 3C | 3E | | 40 RSYM | 42 M2C | 44 SLINE | 46 | | 48 BROWS | 4A | 4C | 4E | - | 50 EHDECL | 52 | 54 CATCH | 56 | + | 50 EHDECL*| 52 | 54 CATCH | 56 | | 58 | 5A | 5C | 5E | | 60 SSYM | 62 | 64 SO | 66 DSLINE | | 68 BSLINE | 6A | 6C | 6E | @@ -178,5 +188,6 @@ __define_stab (N_NSYMS, 0xFA, "NSYMS") | F0 | F2 | F4 | F6 | | F8 | FA | FC | FE LENG | +-----------------------------------------------+ + * 50 EHDECL is also MOD2. */ diff --git a/include/wait.h b/include/wait.h index 339c2eb..8bf0676 100644 --- a/include/wait.h +++ b/include/wait.h @@ -1,27 +1,27 @@ +/* Define how to access the int that the wait system call stores. + This has been compatible in all Unix systems since time immemorial, + but various well-meaning people have defined various different + words for the same old bits in the same old int (sometimes claimed + to be a struct). We just know it's an int and we use these macros + to access the bits. */ -/* Define how to access the structure that the wait system call stores. - On many systems, there is a structure defined for this. - But on vanilla-ish USG systems there is not. */ +/* The following macros are defined equivalently to their definitions + in POSIX.1. We fail to define WNOHANG and WUNTRACED, which POSIX.1 + <sys/wait.h> defines, since our code does not use waitpid(). We + also fail to declare wait() and waitpid(). */ -#ifndef HAVE_WAIT_STRUCT -#define WAITTYPE int -#define WIFSTOPPED(w) (((w)&0377) == 0177) -#define WIFSIGNALED(w) (((w)&0377) != 0177 && ((w)&~0377) == 0) -#define WIFEXITED(w) (((w)&0377) == 0) -#define WRETCODE(w) ((w) >> 8) -#define WSTOPSIG(w) ((w) >> 8) -#define WCOREDUMP(w) (((w)&0200) != 0) -#define WTERMSIG(w) ((w) & 0177) -#define WSETEXIT(w, status) ((w) = (status)) -#define WSETSTOP(w,sig) ((w) = (0177 | ((sig) << 8))) -#else -#include <sys/wait.h> -#define WAITTYPE union wait -#define WRETCODE(w) (w).w_retcode -#define WSTOPSIG(w) (w).w_stopsig -#define WCOREDUMP(w) (w).w_coredump -#define WTERMSIG(w) (w).w_termsig -#define WSETEXIT(w, status) ((w).w_status = (status)) -#define WSETSTOP(w,sig) \ - ((w).w_stopsig = (sig), (w).w_coredump = 0, (w).w_termsig = 0177) -#endif +#define WIFEXITED(w) (((w)&0377) == 0) +#define WIFSIGNALED(w) (((w)&0377) != 0177 && ((w)&~0377) == 0) +#define WIFSTOPPED(w) (((w)&0377) == 0177) + +#define WEXITSTATUS(w) ((w) >> 8) /* same as WRETCODE */ +#define WTERMSIG(w) ((w) & 0177) +#define WSTOPSIG(w) ((w) >> 8) + +/* These are not defined in POSIX, but are used by our programs. */ + +#define WAITTYPE int + +#define WCOREDUMP(w) (((w)&0200) != 0) +#define WSETEXIT(w,status) ((w) = (0 | ((status) << 8))) +#define WSETSTOP(w,sig) ((w) = (0177 | ((sig) << 8))) |