#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
#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
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 |