summaryrefslogtreecommitdiff
path: root/lang/egcs
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>1999-06-28 09:52:43 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>1999-06-28 09:52:43 +0000
commitef62a281edb0056f1691e0a93b3e918ceaabc467 (patch)
tree4933e0f963924ead36abe14833c772d4d72c2406 /lang/egcs
parentCleanup the FREEBSD_NATIVE stuff, which we don't use anymore in this context. (diff)
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
Notes
Notes: svn path=/head/; revision=19867
Diffstat (limited to 'lang/egcs')
-rw-r--r--lang/egcs/files/freebsd.h34
1 files changed, 17 insertions, 17 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. */