Ticket #25042: email1.eml

File email1.eml, 2.7 KB (added by jsanchez@…, 14 years ago)
Line 
1From: IainS
2To: Juan E Sanchez
3
4
5On 27 May 2010, at 16:23, Juan E Sanchez wrote:
6
7> I noticed that you submitted a patch online, that would fix the 
8> current problem I am having with macports on Darwin.  The specific 
9> issue is that c++ exception handling is not being handled properly 
10> on Darwin 10.6 when linked against libgcc_s_10.5.so.
11
12hmm.
13I don't see any real issues with the g++ testsuite on gcc-trunk (or 
144.5).
15
16> Would you happen to know why I might be having this issue?
17
18In a way it should not make any difference, since libgcc_s.10.5.dylib 
19is just a stub linked to libSystem on darwin10.
20
21I would suspect that your problem is more likely to be that you've 
22built and installed a version of libgcc_s.10.5.dylib that is being 
23found ahead of the system one.
24
25This would cause code to be executed from the newly-built libgcc_s 
26instead of libSystem and the unwinder will get  confused Big Time.
27
28It's essential to make sure that you *don't* build the stubs *unless* 
29you are Apple :-)
30(or a darwin OS releaser - and I mean stand-alone system release).
31
32Therefore you should *not* build gcc with --slibdir=  but let the 
33mechanisms I put in place from 4.5 onwards deal with the stub libs 
34(including the _ext which is needed for emutls etc.).
35
36I recommend something like:
37
38/GCC/source/dir/configure --prefix=/path/to/installation/ --
39target=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 --
40build=x86_64-apple-darwin10 --enable-languages=c,objc,c++,obj-c+
41+,fortran --enable-version-specific-runtime-libs --enable-threads --
42enable-checking=release --with-libiconv-prefix=/usr --with-system-zlib 
43--program-suffix=-X.Y.Z
44
45with host/target adjusted as per the requirements
46(or drop it so that it's found for different targets - might be easier 
47for macports scenario).
48
49e.g:
50/GCC/source/dir/configure --prefix=/path/to/installation/  --enable-
51languages=c,objc,c++,obj-c++,fortran --enable-version-specific-runtime-
52libs --enable-threads --enable-checking=release --with-libiconv-
53prefix=/usr --with-system-zlib --program-suffix=-X.Y.Z
54
55>  I notice that the XCode specs file for gcc 4.2 and your specs file 
56> both have this correction:
57>
58> %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5)
59
60I guess you can always apply a local patch - but first make sure you 
61aren't short-circuiting things (because it *will* upset darwin8 and 9 
62as well as darwin10).
63
64Note that this in gcc/config/darwin10.h is also important:
65#undef LIB_SPEC
66#define LIB_SPEC "%{!static:-no_compact_unwind -lSystem}"
67
68but that's been in gcc-trunk for a while - it should be in 4.5
69
70> Has your patch been accepted?
71
72not yet,
73but as I say above, perhaps the real issue lies elsewhere.
74
75cheers,
76Iain
77