Changeset 272

Show
Ignore:
Timestamp:
11/06/06 23:04:25 (2 years ago)
Author:
pragma
Message:

Sundry bug fixes.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ddl/ExportSymbol.d

    r271 r272  
    3030module ddl.ExportSymbol; 
    3131 
     32import ddl.DDLException; 
     33 
    3234/* 
    3335    Determines the resolution status of the symbol 
    3436**/ 
    3537enum SymbolType: ubyte{ 
    36     Unresolved, // undefined 
     38    Unresolved = 0, // undefined 
    3739    Weak, // defined but can be overriden by another defintion during a linker pass 
    3840    Strong, // defined and can be linked against 
     
    100102        case SymbolType.Unresolved: return "unresolved"; 
    101103        default: 
     104            return "unknown"; 
    102105        } 
    103106    } 
  • trunk/ddl/Linker.d

    r271 r272  
    9090        down the list. 
    9191    */ 
    92     protected DynamicLibrary[DynamicLibrary] libraries; 
     92    protected DynamicLibrary[] libraries; 
    9393     
    9494    /**  
     
    206206                        symbol.type = SymbolType.Strong; 
    207207                        symbol.isExternal = true; // set extern status for externally resolved weak symbols 
     208                        debug debugLog("linked symbol"); 
    208209                        goto nextSymbol; 
    209210                    } 
     
    312313            debugLog("[Linker.register]: %s",mod.getName); 
    313314        } 
    314         libraries[lib] = lib; 
     315        libraries ~= lib; 
    315316    } 
    316317         
     
    360361    */ 
    361362    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; 
    363367    } 
    364368} 
  • trunk/ddl/omf/OMFBinary.d

    r265 r272  
    944944            OMFReader reader = thisRecord.getOMFReader(); 
    945945             
    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]); 
    947947            debug thisRecord.doRecordChecksum(); 
    948948                     
  • trunk/ddl/omf/OMFModule.d

    r271 r272  
    104104                if(destSymbol.isExternal){ 
    105105                    // 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); 
    106107                    continue; 
    107108                }