diff --git a/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h b/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h index e83d53c4e80..0a7cb2f81c9 100644 --- a/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h +++ b/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h @@ -59,6 +59,11 @@ #include #if __FreeBSD_version >= 400015 #define CFRONT_STYLE_THIS_ADJUST +#elif __FreeBSD_version == 340000 +/* "FreeBSD 3.4 ships with gcc version 2.7.2.3" -- + * Joerg Brunsmann + */ +#define CFRONT_STYLE_THIS_ADJUST #else #define THUNK_BASED_THIS_ADJUST #endif @@ -70,7 +75,13 @@ #define THUNK_BASED_THIS_ADJUST #elif defined(__bsdi__) +#include +#if _BSDI_VERSION >= 199910 +/* BSDI/4.1 ships with egcs, ergo thunk-based */ +#define THUNK_BASED_THIS_ADJUST +#else #define CFRONT_STYLE_THIS_ADJUST +#endif #elif defined(NTO) #define CFRONT_STYLE_THIS_ADJUST