aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>1999-06-28 17:52:43 +0800
committerobrien <obrien@FreeBSD.org>1999-06-28 17:52:43 +0800
commit753cc6ea658516c2fa1680975a6fd0887521097f (patch)
treebb2b9788d0d0b4542e2b3d79b2fd9efa807748c1 /lang
parent2222cbc7d76f9510656d5021e796ff12868d1a24 (diff)
downloadfreebsd-ports-gnome-753cc6ea658516c2fa1680975a6fd0887521097f.tar.gz
freebsd-ports-gnome-753cc6ea658516c2fa1680975a6fd0887521097f.tar.zst
freebsd-ports-gnome-753cc6ea658516c2fa1680975a6fd0887521097f.zip
Define "OBSTACK_CHUNK_SIZE" as getpagesize().
Our malloc can allocte pagesized blocks efficiently and the EGCS default size of 4072 bytes is not optimal. Protect #define's and other minor syncing with src/contrib/egcs/gcc/config/freebsd.h OBSTACK_CHUNK_SIZE Submitted by: Hidetoshi Shimokawa
Diffstat (limited to 'lang')
-rw-r--r--lang/egcs/files/freebsd.h34
-rw-r--r--lang/gcc295/files/freebsd.h34
2 files changed, 34 insertions, 34 deletions
diff --git a/lang/egcs/files/freebsd.h b/lang/egcs/files/freebsd.h
index fe538d18cb7c..5719d55a4b9b 100644
--- a/lang/egcs/files/freebsd.h
+++ b/lang/egcs/files/freebsd.h
@@ -26,29 +26,17 @@ Boston, MA 02111-1307, USA. */
/* Don't assume anything about the header files. */
+#undef NO_IMPLICIT_EXTERN_C
#define NO_IMPLICIT_EXTERN_C
-/* This defines which switch letters take arguments. On svr4, most of
+/* This defines which switch letters take arguments. On FreeBSD, most of
the normal cases (defined in gcc.c) apply, and we also have -h* and
- -z* options (for the linker). We have a slightly different mix. We
- have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
+ -z* options (for the linker) (comming from svr4).
+ We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
#undef SWITCH_TAKES_ARG
#define SWITCH_TAKES_ARG(CHAR) \
- ( (CHAR) == 'D' \
- || (CHAR) == 'U' \
- || (CHAR) == 'o' \
- || (CHAR) == 'e' \
- || (CHAR) == 'T' \
- || (CHAR) == 'u' \
- || (CHAR) == 'I' \
- || (CHAR) == 'm' \
- || (CHAR) == 'x' \
- || (CHAR) == 'L' \
- || (CHAR) == 'A' \
- || (CHAR) == 'V' \
- || (CHAR) == 'B' \
- || (CHAR) == 'b' \
+ (DEFAULT_SWITCH_TAKES_ARG (CHAR) \
|| (CHAR) == 'h' \
|| (CHAR) == 'z' /* ignored by ld */ \
|| (CHAR) == 'R')
@@ -70,12 +58,24 @@ Boston, MA 02111-1307, USA. */
we want to retain compatibility with older gcc versions.
(even though the svr4 ABI for the i386 says that records and unions are
returned in memory) */
+#undef DEFAULT_PCC_STRUCT_RETURN
#define DEFAULT_PCC_STRUCT_RETURN 0
/* Ensure we the configuration knows our system correctly so we can link with
libraries compiled with the native cc. */
#undef NO_DOLLAR_IN_LABEL
+/* Use more efficient ``thunks'' to implement C++ vtables. XXX note that
+ this setting is claimed to have a few bugs by the EGCS maintainers. They
+ believe the bugs will be worked out in EGCS 1.2. */
+#undef DEFAULT_VTABLE_THUNKS
+#define DEFAULT_VTABLE_THUNKS 1
+
+/* Our malloc can allocte pagesized blocks efficiently. The default size
+ of 4072 bytes is not optimal on the i386 nor the Alpha. */
+#undef OBSTACK_CHUNK_SIZE
+#define OBSTACK_CHUNK_SIZE (getpagesize())
+
/* Miscellaneous parameters. */
diff --git a/lang/gcc295/files/freebsd.h b/lang/gcc295/files/freebsd.h
index fe538d18cb7c..5719d55a4b9b 100644
--- a/lang/gcc295/files/freebsd.h
+++ b/lang/gcc295/files/freebsd.h
@@ -26,29 +26,17 @@ Boston, MA 02111-1307, USA. */
/* Don't assume anything about the header files. */
+#undef NO_IMPLICIT_EXTERN_C
#define NO_IMPLICIT_EXTERN_C
-/* This defines which switch letters take arguments. On svr4, most of
+/* This defines which switch letters take arguments. On FreeBSD, most of
the normal cases (defined in gcc.c) apply, and we also have -h* and
- -z* options (for the linker). We have a slightly different mix. We
- have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
+ -z* options (for the linker) (comming from svr4).
+ We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
#undef SWITCH_TAKES_ARG
#define SWITCH_TAKES_ARG(CHAR) \
- ( (CHAR) == 'D' \
- || (CHAR) == 'U' \
- || (CHAR) == 'o' \
- || (CHAR) == 'e' \
- || (CHAR) == 'T' \
- || (CHAR) == 'u' \
- || (CHAR) == 'I' \
- || (CHAR) == 'm' \
- || (CHAR) == 'x' \
- || (CHAR) == 'L' \
- || (CHAR) == 'A' \
- || (CHAR) == 'V' \
- || (CHAR) == 'B' \
- || (CHAR) == 'b' \
+ (DEFAULT_SWITCH_TAKES_ARG (CHAR) \
|| (CHAR) == 'h' \
|| (CHAR) == 'z' /* ignored by ld */ \
|| (CHAR) == 'R')
@@ -70,12 +58,24 @@ Boston, MA 02111-1307, USA. */
we want to retain compatibility with older gcc versions.
(even though the svr4 ABI for the i386 says that records and unions are
returned in memory) */
+#undef DEFAULT_PCC_STRUCT_RETURN
#define DEFAULT_PCC_STRUCT_RETURN 0
/* Ensure we the configuration knows our system correctly so we can link with
libraries compiled with the native cc. */
#undef NO_DOLLAR_IN_LABEL
+/* Use more efficient ``thunks'' to implement C++ vtables. XXX note that
+ this setting is claimed to have a few bugs by the EGCS maintainers. They
+ believe the bugs will be worked out in EGCS 1.2. */
+#undef DEFAULT_VTABLE_THUNKS
+#define DEFAULT_VTABLE_THUNKS 1
+
+/* Our malloc can allocte pagesized blocks efficiently. The default size
+ of 4072 bytes is not optimal on the i386 nor the Alpha. */
+#undef OBSTACK_CHUNK_SIZE
+#define OBSTACK_CHUNK_SIZE (getpagesize())
+
/* Miscellaneous parameters. */