Xbox support question

Myria asterisk@graces.dricas.com
Tue Oct 12 00:40:00 GMT 2004


>> There certainly are GPL compatible SHA-1 implementations available, in
>> GNU/Linux, or FreeS/WAN, for example.
>
> Yeah, then the question becomes how to compromise between bloating the
> binutils sources and inconveniencing the user :-P
>
> (that is, after the politics of choosing a suitable implementation)

That's what I meant by a "significant addition"...  bloating the binutils 
code by 20k just so maybe 30 people can use OpenXDK.  That's personally why 
I'd just use PE format then convert PE to XBE with another tool. 
Microsoft's and Xbox Linux's PE->XBE tool is named (independently) 
"imagebld"; OpenXDK's current poor design is named "cxbe".

Microsoft's game-developer-only tool uses link.exe with /subsystem:xbox to 
produce PE files for later conversion.  Try it on standard VC7.1, it works:

C:\xboxtest>type meow.c
void mainCRTStartup(void) { }

C:\xboxtest>cl /c meow.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

meow.c

C:\xboxtest>link /out:meow.exe /fixed:no /subsystem:xbox meow.obj
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.

C:\xboxtest>dumpbin /headers meow.exe
Microsoft (R) COFF/PE Dumper Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file meow.exe

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
             14C machine (x86)
               1 number of sections
        416B2639 time date stamp Mon Oct 11 17:32:57 2004
               0 file pointer to symbol table
               0 number of symbols
              E0 size of optional header
             10E characteristics
                   Executable
                   Line numbers stripped
                   Symbols stripped
                   32 bit word machine

OPTIONAL HEADER VALUES
             10B magic # (PE32)
            7.10 linker version
              20 size of code
               0 size of initialized data
               0 size of uninitialized data
             1E0 entry point (004001E0)
             1E0 base of code
             200 base of data
          400000 image base (00400000 to 004001FF)
              20 section alignment
              20 file alignment
            4.00 operating system version
            0.00 image version
            1.00 subsystem version
               0 Win32 version
             200 size of image
             1E0 size of headers
               0 checksum
               E subsystem (Xbox)
               0 DLL characteristics
          100000 size of stack reserve
            1000 size of stack commit
          100000 size of heap reserve
            1000 size of heap commit
               0 loader flags
              10 number of directories
               0 [       0] RVA [size] of Export Directory
               0 [       0] RVA [size] of Import Directory
               0 [       0] RVA [size] of Resource Directory
               0 [       0] RVA [size] of Exception Directory
               0 [       0] RVA [size] of Certificates Directory
               0 [       0] RVA [size] of Base Relocation Directory
               0 [       0] RVA [size] of Debug Directory
               0 [       0] RVA [size] of Architecture Directory
               0 [       0] RVA [size] of Global Pointer Directory
               0 [       0] RVA [size] of Thread Storage Directory
               0 [       0] RVA [size] of Load Configuration Directory
               0 [       0] RVA [size] of Bound Import Directory
               0 [       0] RVA [size] of Import Address Table Directory
               0 [       0] RVA [size] of Delay Import Directory
               0 [       0] RVA [size] of COM Descriptor Directory
               0 [       0] RVA [size] of Reserved Directory


SECTION HEADER #1
   .text name
       5 virtual size
     1E0 virtual address (004001E0 to 004001E4)
      20 size of raw data
     1E0 file pointer to raw data (000001E0 to 000001FF)
       0 file pointer to relocation table
       0 file pointer to line numbers
       0 number of relocations
       0 number of line numbers
60000020 flags
         Code
         Execute Read

  Summary

          20 .text

C:\xboxtest>meow
The C:\xboxtest\meow.exe application cannot be run in Win32 mode.



More information about the Binutils mailing list