Update N_FN value to 0x1F. Add comments about N_EXT bits.

This commit is contained in:
John Gilmore 1991-09-20 21:50:27 +00:00
parent 1b3f485c58
commit 30c52cdf23
3 changed files with 19 additions and 4 deletions

View File

@ -169,9 +169,12 @@ struct nlist {
#define N_TEXT 4
#define N_DATA 6
#define N_BSS 8
#define N_FN 0xe
#define N_COMM 0x12 /* common (visible in shared lib commons) */
#define N_FN 0x1F /* File name of a .o file */
/* Note: N_EXT can only usefully be OR-ed with N_UNDF, N_ABS, N_TEXT,
N_DATA, or N_BSS. When the low-order bit of other types is set,
(e.g. N_WARNING versus N_FN), they are two different types. */
#define N_EXT 1
#define N_TYPE 036
#define N_STAB 0340

View File

@ -175,8 +175,11 @@ struct internal_nlist {
#define N_TEXT 4
#define N_DATA 6
#define N_BSS 8
#define N_FN 0x0e
#define N_COMM 0x12 /* Common symbol (visible after shared lib dynlink) */
#define N_FN 0x1f /* File name of .o file */
/* Note: N_EXT can only usefully be OR-ed with N_UNDF, N_ABS, N_TEXT,
N_DATA, or N_BSS. When the low-order bit of other types is set,
(e.g. N_WARNING versus N_FN), they are two different types. */
#define N_EXT 1
#define N_TYPE 0x1e
#define N_STAB 0xe0

View File

@ -171,11 +171,20 @@ __define_stab (N_LENG, 0xfe, "LENG")
STAB MATRIX
_________________________________________________
| 00 - 1F are not dbx stab symbols |
| Entries with bit 01 set are external symbols. |
| In most cases, the low bit is the EXTernal bit|
| 00 UNDEF | 02 ABS | 04 TEXT | 06 DATA |
| 08 BSS | 0A INDR | 0C | 0E FN |
| 01 |EXT | 03 |EXT | 05 |EXT | 07 |EXT |
| 08 BSS | 0A INDR | 0C | 0E |
| 09 |EXT | 0B | 0D | 0F |
| 10 | 12 COMM | 14 SETA | 16 SETT |
| 11 | 13 | 15 | 17 |
| 18 SETD | 1A SETB | 1C SETV | 1E WARNING|
| 19 | 1B | 1D | 1F FN |
|_______________________________________________|
| Debug entries with bit 01 set are unused. |
| 20 GSYM | 22 FNAME | 24 FUN | 26 STSYM |