Fix the build on -CURRENT. The thunks fix did _not_ make it into the 1.1

release.

Submitted by:	quite a few
This commit is contained in:
Joe Marcus Clarke 2002-08-29 15:56:23 +00:00
parent ca635abd58
commit c21eb43707
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=65232
5 changed files with 105 additions and 0 deletions

View File

@ -0,0 +1,21 @@
--- 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 versions of
+ * -CURRENT that are using gcc-3.1.
+ */
+#if defined(__FreeBSD_cc_version) && \
+ (__FreeBSD_cc_version < 400002 || __FreeBSD_cc_version > 400003) && \
+ (__FreeBSD_cc_version < 500003)
#define CFRONT_STYLE_THIS_ADJUST
#else
#define THUNK_BASED_THIS_ADJUST

View File

@ -0,0 +1,21 @@
--- 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 versions of
+ * -CURRENT that are using gcc-3.1.
+ */
+#if defined(__FreeBSD_cc_version) && \
+ (__FreeBSD_cc_version < 400002 || __FreeBSD_cc_version > 400003) && \
+ (__FreeBSD_cc_version < 500003)
#define CFRONT_STYLE_THIS_ADJUST
#else
#define THUNK_BASED_THIS_ADJUST

View File

@ -0,0 +1,21 @@
--- 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 versions of
+ * -CURRENT that are using gcc-3.1.
+ */
+#if defined(__FreeBSD_cc_version) && \
+ (__FreeBSD_cc_version < 400002 || __FreeBSD_cc_version > 400003) && \
+ (__FreeBSD_cc_version < 500003)
#define CFRONT_STYLE_THIS_ADJUST
#else
#define THUNK_BASED_THIS_ADJUST

View File

@ -0,0 +1,21 @@
--- 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 versions of
+ * -CURRENT that are using gcc-3.1.
+ */
+#if defined(__FreeBSD_cc_version) && \
+ (__FreeBSD_cc_version < 400002 || __FreeBSD_cc_version > 400003) && \
+ (__FreeBSD_cc_version < 500003)
#define CFRONT_STYLE_THIS_ADJUST
#else
#define THUNK_BASED_THIS_ADJUST

View File

@ -0,0 +1,21 @@
--- 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 versions of
+ * -CURRENT that are using gcc-3.1.
+ */
+#if defined(__FreeBSD_cc_version) && \
+ (__FreeBSD_cc_version < 400002 || __FreeBSD_cc_version > 400003) && \
+ (__FreeBSD_cc_version < 500003)
#define CFRONT_STYLE_THIS_ADJUST
#else
#define THUNK_BASED_THIS_ADJUST