The compiler look to be very good.
For the floating point with the VFP, it's go 5 - 6 times faster that
with MSVS with the hard lib used.
I want to use it for some modules in a ms visual studio application.
I try with dll to use it from MSVS app and I have some trouble.
That's the way I try it:
# Compile
arm-wince-mingw32ce-gcc -shared -c gccdll.cpp
# Produce necessary files for dll generation
arm-wince-mingw32ce-dlltool -e gccdll -l gccdll.lib -z gccdll.def
gccdll.o
# Produce dll
arm-wince-mingw32ce-gcc -shared gccdll.o gccdll -o gccdll.dll
# Change .text attribute for removing the MS linker warning
arm-wince-mingw32ce-objcopy --set-section-flags
.text=contents,alloc,load,code,readonly gccdll.lib
When I try the .exe file that use the .dll on the target, I got an
access violation if the seccinit module (from BSP with buffer validation
stuff) with a very trivial test.
dll source:
extern "C" int __declspec(dllexport) TestDll(void)
{
return 9999;
}
exe source:
#include "stdafx.h"
extern "C" int __declspec(dllexport) TestDll(void);
int _tmain(int argc, _TCHAR* argv[])
{
int a = TestDll();
return 0;
}
The object dump of the dll genarate by gcc look like this:
gccdll.dll: file format pei-arm-wince-little
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000003d4 00011000 00011000 00000600 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000004 00012000 00012000 00000a00 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000010 00013000 00013000 00000000 2**2
ALLOC
3 .edata 000000a5 00014000 00014000 00000c00 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .idata 00000100 00015000 00015000 00000e00 2**2
CONTENTS, ALLOC, LOAD, DATA
5 .reloc 00000044 00016000 00016000 00001000 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
6 .debug_aranges 000000a0 00017000 00017000 00001200 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_pubnames 000001b3 00018000 00018000 00001400 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_info 00000cb2 00019000 00019000 00001600 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_abbrev 00000416 0001a000 0001a000 00002400 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_line 00000416 0001b000 0001b000 00002a00 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_frame 000001c8 0001c000 0001c000 00003000 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_str 00000034 0001d000 0001d000 00003200 2**0
CONTENTS, READONLY, DEBUGGING
13 .debug_loc 0000033f 0001e000 0001e000 00003400 2**0
CONTENTS, READONLY, DEBUGGING
And an object dump of the dll genarate by MSVS look like this:
MSDLL.dll: file format pei-arm-wince-little
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000520 10001000 10001000 00000400 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .rdata 00000144 10002000 10002000 00000a00 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .data 00000040 10003000 10003000 00000c00 2**2
CONTENTS, ALLOC, LOAD, DATA
3 .pdata 00000080 10004000 10004000 00000e00 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .reloc 00000092 10005000 10005000 00001000 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
Any idea or reference of what happens and a way to go out of this trail
or it's dead end ?
Regards,
Guy
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Cegcc-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cegcc-devel