Changed the object file and library format. There is now an additional
string table in the object file that (currently) holds all identifiers from the import, export and debug info sections. The plan is to put all strings into this table, so we have them in a central place and don't waste memory. Apart from that, the indices are unique, so comparing strings should be a lot easier than before (as soon as the programs take advantage of this fact, which is currently not the case). git-svn-id: svn://svn.cc65.org/cc65/trunk@2169 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -6,10 +6,10 @@
|
||||
/* */
|
||||
/* */
|
||||
/* */
|
||||
/* (C) 1998 Ullrich von Bassewitz */
|
||||
/* Wacholderweg 14 */
|
||||
/* D-70597 Stuttgart */
|
||||
/* EMail: uz@musoftware.de */
|
||||
/* (C) 1998-2003 Ullrich von Bassewitz */
|
||||
/* R<>merstrasse 52 */
|
||||
/* D-70794 Filderstadt */
|
||||
/* EMail: uz@cc65.org */
|
||||
/* */
|
||||
/* */
|
||||
/* This software is provided 'as-is', without any expressed or implied */
|
||||
@@ -46,10 +46,10 @@
|
||||
|
||||
/* Defines for magic and version */
|
||||
#define OBJ_MAGIC 0x616E7A55
|
||||
#define OBJ_VERSION 0x0009
|
||||
#define OBJ_VERSION 0x000A
|
||||
|
||||
/* Size of an object file header */
|
||||
#define OBJ_HDR_SIZE 64
|
||||
#define OBJ_HDR_SIZE 72
|
||||
|
||||
/* Flag bits */
|
||||
#define OBJ_FLAGS_DBGINFO 0x0001 /* File has debug info */
|
||||
@@ -57,8 +57,8 @@
|
||||
|
||||
|
||||
/* Header structure */
|
||||
typedef struct ObjHeader_ ObjHeader;
|
||||
struct ObjHeader_ {
|
||||
typedef struct ObjHeader ObjHeader;
|
||||
struct ObjHeader {
|
||||
unsigned long Magic; /* 32: Magic number */
|
||||
unsigned Version; /* 16: Version number */
|
||||
unsigned Flags; /* 16: flags */
|
||||
@@ -76,6 +76,8 @@ struct ObjHeader_ {
|
||||
unsigned long DbgSymSize; /* 32: Size of debug symbols */
|
||||
unsigned long LineInfoOffs; /* 32: Offset to list of line infos */
|
||||
unsigned long LineInfoSize; /* 32: Size of line infos */
|
||||
unsigned long StrPoolOffs; /* 32: Offset to string pool */
|
||||
unsigned long StrPoolSize; /* 32: Size of string pool */
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user