#define MAJOR 1 // Major version number
#define MINOR 7 // Minor version number
-#define PATCH 2 // Patch release number
+#define PATCH 4 // Patch release number
#ifdef WIN32
#define PLATFORM "Win32" // Release platform - Windows
// 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))
// and Globals share a hash table, but their value fields are interpreted
// differently.
+#define SYMLEN 256 // Symbol name size (incl. null)
+
struct HREC
{
uint8_t h_sym[SYMLEN];