Changeset 183
- Timestamp:
- 04/29/06 13:35:33 (3 years ago)
- Files:
-
- downloads/ddl.sdk.beta.1.1.src.zip (modified) (previous)
- downloads/ddl.utils.beta.1.1.win32.bin.zip (modified) (previous)
- trunk/buildexamples.d (modified) (1 diff)
- trunk/buildsdk.d (modified) (1 diff)
- trunk/ddl/DefaultRegistry.d (modified) (1 diff)
- trunk/ddl/omf/OMFBinary.d (modified) (2 diffs)
- trunk/examples/host.d (modified) (2 diffs)
- trunk/utils/bless_bn.d (modified) (1 diff)
- trunk/utils/ddlinfo_bn.d (modified) (1 diff)
- trunk/utils/insitu_bn.d (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/buildexamples.d
r181 r183 6 6 build("-full","examples/host.d"); 7 7 insitu("examples/host.map","examples/host.situ"); 8 bless("examples/host.situ","examples/ insitu.ddl");8 bless("examples/host.situ","examples/host.ddl"); 9 9 10 10 writefln("\n* Compiling Mule"); trunk/buildsdk.d
r176 r183 17 17 listdir("doc","*.html"); 18 18 19 fileListing ~= "buildexamples.d"; 19 20 fileListing ~= "buildutils.d"; 20 21 fileListing ~= "buildsdk.d"; trunk/ddl/DefaultRegistry.d
r170 r183 43 43 class DefaultRegistry : LoaderRegistry{ 44 44 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 } 54 65 } 55 66 } trunk/ddl/omf/OMFBinary.d
r181 r183 242 242 reader.get(internalName); 243 243 reader.get(moduleName); 244 245 debug debugLog("Ordinal: %d internal: %s module: %s",ordinalFlag,cast(char[])internalName,cast(char[])moduleName); 244 246 245 247 if(ordinalFlag == 0){ … … 262 264 } 263 265 else{ 264 uint entryOrdinal; 266 ushort entryOrdinal; 267 assert(reader.hasMore()); 265 268 reader.get(entryOrdinal); 266 269 debug debugLog("impdef: [%s] [%s] %d",cast(char[])internalName,cast(char[])moduleName,entryOrdinal); trunk/examples/host.d
r181 r183 40 40 ddl.DefaultRegistry; 41 41 42 alias void function(Linker, char[][]) fnType;43 42 import utils.ArgParser; 43 44 44 int main (char[][] args) 45 45 { 46 int ret;47 writefln("Testing...\n"); 46 int ret; 47 48 48 if (args.length > 1) 49 49 { 50 writefln("Initalizing."); 50 // load the statically-linked symbols for this executable 51 51 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 57 64 auto app = linker.loadAndLink (args[1]); 58 65 66 // and locate the entry point 59 67 auto entry = app.getDExport!(void function(Linker, char[][]), "app.entry")(); 60 assert(entry); 61 68 62 69 try { 63 entry (linker, args[1.. args.length]);70 entry (linker, args[1..$]); 64 71 } catch (Object o) 65 72 { … … 69 76 } 70 77 else 71 writefln ("usage is: host application[args]");78 writefln ("usage is: host AppPath [-lLibName] [args]"); 72 79 return ret; 73 80 } trunk/utils/bless_bn.d
r181 r183 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 51 8;4 long auto_build_number = 519; trunk/utils/ddlinfo_bn.d
r181 r183 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 5 53;4 long auto_build_number = 560; trunk/utils/insitu_bn.d
r181 r183 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 51 5;4 long auto_build_number = 516;
