>I'd like to recommend to stick with 4.5.2 until these 
>issues are cleared up.

Or 4.5.3 ?

>> @set HB_USER_LDFLAGS=-static-libgcc
>> @set HB_USER_DFLAGS=-static-libgcc

>Can you tell, what these options are doing?

The @set HB_USER_LDFLAGS=-static-libgcc, stops the following exe to ask for
'libgcc_s_dw2-1.dll':

harbour.exe
hbformat.exe
hbi18n.exe
hbmk2.exe
hbpp.exe
hbrun.exe
hbtest.exe

The @set HB_USER_DFLAGS=-static-libgcc, stops the following exe to ask for
'libgcc_s_dw2-1.dll':

hbformat-dll.exe
hbi18n-dll.exe
hbmk2-dll.exe
hbrun-dll.exe
hbtest-dll.exe

See below:

http://sourceforge.net/project/shownotes.php?release_id=691876:

File Release Notes and Changelog

Release Name: Current Release: gcc-4.4.0

Notes:
The MinGW.org team is pleased to offer a binary release of GCC 4.4.0.

....

5.  GENERAL NOTES

- Throwing exceptions through foreign frames

Previous versions of GCC would blindly unwind through all foreign frames.
If these frames did not have valid unwind information, perhaps because
they were written in a language that does not have exceptions, program
data structures might be left in an incoherent state, leading to
mysterious bugs including data loss and program crashes.  From now on,
GCC will only unwind through frames if it can be determined that the
functions understand exceptions.  Currently, functions that use either
Dwarf-2 EH or SEH are supported.

Unfortunately, in i386 versions of Windows, there is no reliable way
for the compiler or runtime unwinder to tell if a function supports
unwinding with SEH.  Consequently, it is necessary to add the seh_aware
decorator to the declarations of foreign SEH functions that exceptions
might be thrown through.

If you intend to throw exceptions through Windows API callbacks, you
will need to add __attribute__((seh_aware)) to the declaration of the
corresponding API function.  This is only a temporary measure, as a
future version of w32api from MinGW.org will have some sort of way of
adding this annotation automatically.  Note that it is not necessary to
add this attribute to the callbacks themselves, or any other function
definition that is compiled by GCC; it is only necessary for foreign
functions.

- Dynamic linking with libgcc_s_dw2-1.dll

Dynamic linking with libgcc_s_dw2-1.dll is necessary to throw
exceptions between different modules, such as between two DLLs or a
DLL and an EXE.  Consequently, it is the default for all languages
other than C.  To disable this dynamic linking, use -static-libgcc.
To enable this dynamic linking in C, use -shared-libgcc.

Best regards,
István


_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to