Changeset 183

Show
Ignore:
Timestamp:
04/29/06 13:35:33 (3 years ago)
Author:
pragma
Message:

Fixed #46 and updated the SDK and Utils bundle.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/buildexamples.d

    r181 r183  
    66    build("-full","examples/host.d"); 
    77    insitu("examples/host.map","examples/host.situ"); 
    8     bless("examples/host.situ","examples/insitu.ddl"); 
     8    bless("examples/host.situ","examples/host.ddl"); 
    99     
    1010    writefln("\n* Compiling Mule"); 
  • trunk/buildsdk.d

    r176 r183  
    1717        listdir("doc","*.html"); 
    1818     
     19    fileListing ~= "buildexamples.d"; 
    1920    fileListing ~= "buildutils.d"; 
    2021    fileListing ~= "buildsdk.d"; 
  • trunk/ddl/DefaultRegistry.d

    r170 r183  
    4343class DefaultRegistry : LoaderRegistry{ 
    4444    public this(){ 
    45  
    46 //      register(new COFFObjLoader()); 
    47         register(new OMFLibLoader()); 
    48         register(new OMFObjLoader()); 
    49         register(new DDLLoader()); 
    50         register(new ELFObjLoader()); 
    51         register(new ArchiveLoader()); 
    52         register(new InSituLibLoader()); 
    53         register(new InSituMapLoader()); 
     45        version(Windows){ // order optimized per OS 
     46            register(new OMFLibLoader()); 
     47            register(new OMFObjLoader()); 
     48            register(new DDLLoader()); 
     49            register(new InSituLibLoader()); 
     50            register(new InSituMapLoader()); 
     51            register(new ArchiveLoader());           
     52    //      register(new COFFObjLoader());           
     53            register(new ELFObjLoader());            
     54        } 
     55        else{ 
     56            register(new ArchiveLoader()); 
     57            register(new ELFObjLoader()); 
     58            register(new DDLLoader()); 
     59            register(new InSituLibLoader());             
     60            register(new OMFLibLoader()); 
     61            register(new OMFObjLoader()); 
     62            register(new InSituMapLoader());             
     63    //      register(new COFFObjLoader());           
     64        } 
    5465    } 
    5566} 
  • trunk/ddl/omf/OMFBinary.d

    r181 r183  
    242242                    reader.get(internalName); 
    243243                    reader.get(moduleName); 
     244                     
     245                    debug debugLog("Ordinal: %d internal: %s module: %s",ordinalFlag,cast(char[])internalName,cast(char[])moduleName); 
    244246                                             
    245247                    if(ordinalFlag == 0){ 
     
    262264                    } 
    263265                    else{ 
    264                         uint entryOrdinal; 
     266                        ushort entryOrdinal; 
     267                        assert(reader.hasMore()); 
    265268                        reader.get(entryOrdinal); 
    266269                        debug debugLog("impdef: [%s] [%s] %d",cast(char[])internalName,cast(char[])moduleName,entryOrdinal); 
  • trunk/examples/host.d

    r181 r183  
    4040        ddl.DefaultRegistry; 
    4141 
    42 alias void function(Linker, char[][]) fnType
    43          
     42import  utils.ArgParser
     43 
    4444int main (char[][] args) 
    4545{ 
    46         int ret; 
    47         writefln("Testing...\n"); 
     46        int     ret; 
     47 
    4848        if (args.length > 1) 
    4949           { 
    50            writefln("Initalizing."); 
     50           // load the statically-linked symbols for this executable 
    5151           auto linker = new Linker (new DefaultRegistry); 
    52            linker.loadAndRegister ("examples\\insitu.ddl"); 
    53            linker.loadAndRegister ("snn.lib"); 
    54            linker.loadAndRegister ("phobos.lib"); 
    55            writefln("Ready.  Loading test binary."); 
    56             
     52           linker.loadAndRegister ("examples\\host.ddl"); 
     53 
     54           // get dash prefixed args 
     55           ArgParser parser = new ArgParser; 
     56           parser.bind ("-", "l", delegate uint(char[] value) { 
     57                        writefln ("loading '%s'", value); 
     58                        linker.loadAndRegister (value); 
     59                        return value.length; 
     60                        }); 
     61           parser.parse (args[2..$]); 
     62 
     63           // load the application file 
    5764           auto app = linker.loadAndLink (args[1]); 
    58          
     65 
     66           // and locate the entry point 
    5967           auto entry = app.getDExport!(void function(Linker, char[][]), "app.entry")(); 
    60            assert(entry); 
    61                     
     68 
    6269           try { 
    63                entry (linker, args[1..args.length]); 
     70               entry (linker, args[1..$]); 
    6471               } catch (Object o) 
    6572                       { 
     
    6976           } 
    7077        else 
    71            writefln ("usage is: host application [args]"); 
     78           writefln ("usage is: host AppPath [-lLibName] [args]"); 
    7279        return ret; 
    7380} 
  • trunk/utils/bless_bn.d

    r181 r183  
    22// This file is automatically maintained by the BUILD utility, 
    33// Please refrain from manually editing it. 
    4 long auto_build_number = 518
     4long auto_build_number = 519
  • trunk/utils/ddlinfo_bn.d

    r181 r183  
    22// This file is automatically maintained by the BUILD utility, 
    33// Please refrain from manually editing it. 
    4 long auto_build_number = 553
     4long auto_build_number = 560
  • trunk/utils/insitu_bn.d

    r181 r183  
    22// This file is automatically maintained by the BUILD utility, 
    33// Please refrain from manually editing it. 
    4 long auto_build_number = 515
     4long auto_build_number = 516