Changeset 272
- Timestamp:
- 11/06/06 23:04:25 (2 years ago)
- Files:
-
- trunk/ddl/ExportSymbol.d (modified) (2 diffs)
- trunk/ddl/Linker.d (modified) (4 diffs)
- trunk/ddl/omf/OMFBinary.d (modified) (1 diff)
- trunk/ddl/omf/OMFModule.d (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ddl/ExportSymbol.d
r271 r272 30 30 module ddl.ExportSymbol; 31 31 32 import ddl.DDLException; 33 32 34 /* 33 35 Determines the resolution status of the symbol 34 36 **/ 35 37 enum SymbolType: ubyte{ 36 Unresolved , // undefined38 Unresolved = 0, // undefined 37 39 Weak, // defined but can be overriden by another defintion during a linker pass 38 40 Strong, // defined and can be linked against … … 100 102 case SymbolType.Unresolved: return "unresolved"; 101 103 default: 104 return "unknown"; 102 105 } 103 106 } trunk/ddl/Linker.d
r271 r272 90 90 down the list. 91 91 */ 92 protected DynamicLibrary[ DynamicLibrary] libraries;92 protected DynamicLibrary[] libraries; 93 93 94 94 /** … … 206 206 symbol.type = SymbolType.Strong; 207 207 symbol.isExternal = true; // set extern status for externally resolved weak symbols 208 debug debugLog("linked symbol"); 208 209 goto nextSymbol; 209 210 } … … 312 313 debugLog("[Linker.register]: %s",mod.getName); 313 314 } 314 libraries [lib]= lib;315 libraries ~= lib; 315 316 } 316 317 … … 360 361 */ 361 362 public bool isRegistered(DynamicLibrary lib){ 362 return !!(lib in this.libraries); 363 foreach(registeredLib; this.libraries){ 364 if(registeredLib == lib) return true; 365 } 366 return false; 363 367 } 364 368 } trunk/ddl/omf/OMFBinary.d
r265 r272 944 944 OMFReader reader = thisRecord.getOMFReader(); 945 945 946 debug debugLog("record: %X (%X) %s",thisRecord.recordType,thisRecord.type,recordNameLookup[thisRecord.recordType]);946 //debug debugLog("record: %X (%X) %s",thisRecord.recordType,thisRecord.type,recordNameLookup[thisRecord.recordType]); 947 947 debug thisRecord.doRecordChecksum(); 948 948 trunk/ddl/omf/OMFModule.d
r271 r272 104 104 if(destSymbol.isExternal){ 105 105 // discard this fixup - it references a non-local symbol 106 debug debugLog("Discarded Fixup dest %s:%s [%0.8X] (%0.8X) rel:%d",destSymbol.name,destSymbol.getTypeName(),destAddress,*cast(uint*)destAddress,cast(uint)isSegmentRelative); 106 107 continue; 107 108 }
