diff options
| author | mycroft <mycroft@NetBSD.org> | 1993-04-16 12:09:18 +0000 |
|---|---|---|
| committer | mycroft <mycroft@NetBSD.org> | 1993-04-16 12:09:18 +0000 |
| commit | 2d8799343e1a4a678e58c5d4b1eefaba48fa85a6 (patch) | |
| tree | 1c3199c79ebd9c88e7f6dd4c07697d20dc24a0a3 /include | |
| parent | 9b18e2903e36d5f824a290a1f1dd7ef333afeb12 (diff) | |
Add support for QMAGIC.
Diffstat (limited to 'include')
| -rw-r--r-- | include/a.out.h | 17 |
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) |
