This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Xbox support question


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]