This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
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.