On Tue, 2002-06-25 at 04:04, Sean Chittenden wrote:
> > Just a query. Is there anything stopping us from moving to the
> > latest gcc on current ? Just curious. Cause mozilla won't compile
> > with gcc from current and I have installed gcc from the ports just
> > for that.
>
> I hacked together a really crude patch based on some info from Joe
> Clark(e?). Dig through the archives from earlier this week and you
> should find something. -sc
I'm still waiting on someone to come back to me with alpha results, and
I'll commit the patch. If you missed it, it's re-attached.
Joe
>
> --
> Sean Chittenden
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message
>
--- xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h.orig Fri Jun 21 01:12:40 2002
+++ xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h Fri Jun 21 01:41:51 2002
@@ -94,8 +94,16 @@
* gcc is that the system gcc defines __FreeBSD_cc_version. This variable
* can also identify the period of time that 4.0-CURRENT used thunks.
*/
-#if defined(__FreeBSD_cc_version) && \
- (__FreeBSD_cc_version < 400002 || __FreeBSD_cc_version > 400003)
+
+/* It seems we need to use thunks in FreeBSD -CURRENT after gcc-3.1 was merged.
+ * This solves a problem wherein regxpcom and/or regchrome would seg fault
+ * after running for a while. This problem has also exhibited itself on
+ * the alpha platform. Therefore, use thunks on all non-i386 versions of
+ * -stable and _all_ versions of -CURRENT that are using gcc-3.1.
+ */
+#if defined(__FreeBSD_cc_version) && defined(__i386__) && \
+ (__FreeBSD_cc_version < 400002 || __FreeBSD_cc_version > 400003) && \
+ (__FreeBSD_cc_version < 500003)
#define CFRONT_STYLE_THIS_ADJUST
#else
#define THUNK_BASED_THIS_ADJUST