aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rwxr-xr-xinclude/a.out.encap.h6
-rwxr-xr-xinclude/ranlib.h8
-rwxr-xr-xinclude/stab.def19
-rw-r--r--include/wait.h50
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)))