Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
FYI: GCC 4.5.0 on Mingw.org
a14331990:
I have enabled auto-import in ld with this patch.
--- Code: ------ ld/emultempl/pe.em 2009-09-14 19:43:30 +0800
+++ ld/emultempl/pe.em 2010-01-29 10:49:20 +0800
@@ -155,7 +155,7 @@
default_auto_import=1
;;
*)
- default_auto_import=-1
+ default_auto_import=1
;;
esac
@@ -946,7 +946,8 @@
if (pe_enable_stdcall_fixup == -1)
{
- einfo (_("Warning: resolving %s by linking to %s\n"),
+ if (link_info.pei386_auto_import == -1)
+ info_msg (_("Info: resolving %s by linking to %s (auto-import)\n"),
undef->root.string, cname);
if (! gave_warning_message)
{
@@ -973,7 +974,8 @@
if (pe_enable_stdcall_fixup == -1)
{
- einfo (_("Warning: resolving %s by linking to %s\n"),
+ if (link_info.pei386_auto_import == -1)
+ info_msg (_("Info: resolving %s by linking to %s (auto-import)\n"),
undef->root.string, sym->root.string);
if (! gave_warning_message)
{
--- End code ---
It is supposed to be used together with the patch in my previous reply.
In this way, gcc 4.5 don't emit exported inline functions and ld can auto-import symbols.
I'm testing wxMSW 2.8.11 now with this config
--- Code: ---...
SHARED ?= 1
...
UNICODE ?= 1
...
BUILD ?= release
...
MONOLITHIC ?= 1
...
OFFICIAL_BUILD ?= 1
...
--- End code ---
the object files generated are small, 100k per one, don't know linking will work or not, my machine is slow.
a14331990:
Success! :D
The build generated small object files of size 61.5MB in total
and can produce the dll
wxmsw28u_gcc.dll
of size 9.84MB.
This dll is woking, I tested it with demos/life successfully.
ollydbg:
--- Quote from: a14331990 on May 15, 2010, 03:10:11 am ---Success! :D
The build generate small object files of size 61.5MB in total
and can produce the dll
wxmsw28u_gcc.dll
of size 9.84MB.
This dll is woking, I tested it with demos/life successfully.
--- End quote ---
Nice!!
So, it seems after applying your patch, it is a really workable GCC mingw 4.5.
a14331990:
First, some credits,
the patch about auto-import comes from this post by Dave Korn and slightly modified by me
[PATCH] Silence ld auto-import warnings for pe-i386.
http://sourceware.org/ml/binutils/2009-02/msg00341.html
and the patch about dllexport is just a removal of nathan's code.
r147799 | nathan | 2009-05-22 22:57:15 +0800 (Fri, 22 May 2009) | 16 lines
gcc/
* tree.c (handle_dll_attribute): Mark dllexport'd inlines as
non-external.
gcc/cp
* decl2.c (decl_needed_p): Consider dllexport'd functions needed.
* semantics.c (expand_or_defer_fn): Similarly.
gcc/testsuite/
* gcc.dg/dll-6.c: New test.
* gcc.dg/dll-6a.c: Likewise.
* gcc.dg/dll-7.c: Likewise.
* gcc.dg/dll-7a.c: Likewise.
* g++.dg/ext/dllexport2.C: Likewise.
* g++.dg/ext/dllexport2a.cc: Likewise.
I have just built codeblocks r6216 (gcc-4.5,wxmsw 2.8.11), startup ok, cannot open code editor (maybe too slow), I then check another build of codeblocks r6216 (gcc-4.4,wxmsw 2.8.11), same problem. I think I should try wxmsw 2.8.10.
Update: I close many programs and codeblocks works fine now.
reckless:
youre a god thank you very much :D
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version