]> Shamusworld >> Repos - rln/blobdiff - rln.h
Convert output symbol table back to a table
[rln] / rln.h
diff --git a/rln.h b/rln.h
index 7737f4d945e1e6340e73af7668e83cfcadf3c122..9451dfb395084ad719cf0a7210d9119a4ad9fc2e 100644 (file)
--- a/rln.h
+++ b/rln.h
@@ -250,18 +250,15 @@ struct OFILE
 
 // Symbol Record
 
-// SYMREC: Used by builddir for the lists of exports and imports, and by the
-// linker for the output symbol table (that's why there are type and value
-// fields, unused in builddir)
+// SYMREC: Used by the linker for the output symbol table
 
-#define SYMLEN       100                       // Symbol name size (incl. null)
+#define OST_SIZE_INIT 8                                // Half the initial output symbol table size
 
 struct SYMREC
 {
-       uint8_t s_name[SYMLEN];                 // Including null terminator
-       uint16_t s_type;
+       uint32_t s_idx;
+       uint32_t s_type;
        uint32_t s_value;
-       struct SYMREC * s_next;
 };
 
 #define new_symrec() (struct SYMREC *)malloc(sizeof(struct SYMREC))
@@ -272,6 +269,8 @@ struct SYMREC
 // and Globals share a hash table, but their value fields are interpreted
 // differently.
 
+#define SYMLEN       100                       // Symbol name size (incl. null)
+
 struct HREC
 {
        uint8_t h_sym[SYMLEN];