summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authormycroft <mycroft@NetBSD.org>1993-04-16 12:09:18 +0000
committermycroft <mycroft@NetBSD.org>1993-04-16 12:09:18 +0000
commit2d8799343e1a4a678e58c5d4b1eefaba48fa85a6 (patch)
tree1c3199c79ebd9c88e7f6dd4c07697d20dc24a0a3 /include
parent9b18e2903e36d5f824a290a1f1dd7ef333afeb12 (diff)
Add support for QMAGIC.
Diffstat (limited to 'include')
-rw-r--r--include/a.out.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/include/a.out.h b/include/a.out.h
index 10081551927..5312cc51f09 100644
--- a/include/a.out.h
+++ b/include/a.out.h
@@ -45,18 +45,21 @@
#define __LDPGSZ 1024
#endif
+#define N_ALIGN(ex,x) \
+ ((ex).a_magic == ZMAGIC || (ex).a_magic == QMAGIC ? \
+ ((x) + __LDPGSZ - 1) & ~(__LDPGSZ - 1) : (x))
+
/* Valid magic number check. */
#define N_BADMAG(ex) \
((ex).a_magic != NMAGIC && (ex).a_magic != OMAGIC && \
- (ex).a_magic != ZMAGIC)
+ (ex).a_magic != ZMAGIC && (ex).a_magic != QMAGIC)
/* Address of the bottom of the text segment. */
-#define N_TXTADDR(X) 0
+#define N_TXTADDR(ex) ((ex).a_magic == QMAGIC ? __LDPGSZ : 0)
/* Address of the bottom of the data segment. */
#define N_DATADDR(ex) \
- (N_TXTADDR(ex) + ((ex).a_magic == OMAGIC ? (ex).a_text \
- : __LDPGSZ + ((ex).a_text - 1 & ~(__LDPGSZ - 1))))
+ N_ALIGN(ex, N_TXTADDR(x) + (ex).a_text)
/* Text segment offset. */
#define N_TXTOFF(ex) \
@@ -64,13 +67,11 @@
/* Data segment offset. */
#define N_DATOFF(ex) \
- (N_TXTOFF(ex) + ((ex).a_magic != ZMAGIC ? (ex).a_text \
- : __LDPGSZ + ((ex).a_text - 1 & ~(__LDPGSZ - 1))))
+ N_ALIGN(ex, N_TXTOFF(x) + (ex).a_text)
/* Symbol table offset. */
#define N_SYMOFF(ex) \
- (N_TXTOFF(ex) + (ex).a_text + (ex).a_data + (ex).a_trsize + \
- (ex).a_drsize)
+ (N_DATOFF(ex) + (ex).a_data + (ex).a_trsize + (ex).a_drsize)
/* String table offset. */
#define N_STROFF(ex) (N_SYMOFF(ex) + (ex).a_syms)