- CHUNK * chnext; // Next, previous chunks in section
- CHUNK * chprev;
- uint32_t chloc; // Base addr of this chunk
- uint32_t challoc; // # bytes allocated for chunk
- uint32_t ch_size; // # bytes chunk actually uses
- uint8_t * chptr; // Data for this chunk
+ CHUNK * chnext; // Next, previous chunks in section
+ CHUNK * chprev;
+ uint32_t chloc; // Base addr of this chunk
+ uint32_t challoc; // # bytes allocated for chunk
+ uint32_t ch_size; // # bytes chunk actually uses
+ uint8_t * chptr; // Data for this chunk
+};
+
+// Fixup records can also hold an expression (if any)
+#define FIXUP struct _fixup
+FIXUP {
+ FIXUP * next; // Pointer to next FIXUP
+ uint32_t attr; // Fixup type
+ uint32_t loc; // Location in section
+ uint16_t fileno; // ID of current file
+ uint32_t lineno; // Current line
+ TOKEN * expr; // Pointer to stored expression (if any)
+ SYM * symbol; // Pointer to symbol (if any)
+ uint32_t orgaddr; // Fixup origin address (used for FU_JR)