aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Van Artsdalen <jrv@gnu.org>1992-03-08 20:07:51 +0000
committerJames Van Artsdalen <jrv@gnu.org>1992-03-08 20:07:51 +0000
commit82bb2b597d775a92172cc4d3832345a262fe8ce5 (patch)
treec3b6205f52f179d958d37ddff4cbcfdc774d8667
parentd69eb909eba2eb52b5daa458c72182a48db502e2 (diff)
downloadgcc-82bb2b597d775a92172cc4d3832345a262fe8ce5.zip
gcc-82bb2b597d775a92172cc4d3832345a262fe8ce5.tar.gz
gcc-82bb2b597d775a92172cc4d3832345a262fe8ce5.tar.bz2
*** empty log message ***
From-SVN: r421
-rw-r--r--gcc/config/i386/mach.h8
-rw-r--r--gcc/config/i386/osfrose.h59
2 files changed, 44 insertions, 23 deletions
diff --git a/gcc/config/i386/mach.h b/gcc/config/i386/mach.h
index 4390a6f..9c4e3e0 100644
--- a/gcc/config/i386/mach.h
+++ b/gcc/config/i386/mach.h
@@ -20,7 +20,7 @@
return ax; \
}
-#define perform_divsi3(a,b) \
+#define perform_divsi3(a,b) \
{ \
register int dx asm("dx"); \
register int ax asm("ax"); \
@@ -41,7 +41,7 @@
return dx; \
}
-#define perform_modsi3(a,b) \
+#define perform_modsi3(a,b) \
{ \
register int dx asm("dx"); \
register int ax asm("ax"); \
@@ -51,7 +51,7 @@
return dx; \
}
-#define perform_fix_truncdfsi2(a) \
+#define perform_fixdfsi(a) \
{ \
auto unsigned short ostatus; \
auto unsigned short nstatus; \
@@ -66,7 +66,7 @@
asm volatile ("fldcw %0" : /* no outputs */ : "m" (nstatus)); \
asm volatile ("fldl %0" : /* no outputs */ : "m" (a)); \
asm volatile ("fistpl %0" : "=m" (ret)); \
- asm volatile ("fldcw %0" : /* no outputs */ : "m" (nstatus)); \
+ asm volatile ("fldcw %0" : /* no outputs */ : "m" (ostatus)); \
\
return ret; \
}
diff --git a/gcc/config/i386/osfrose.h b/gcc/config/i386/osfrose.h
index 160e5ab..c9bde59 100644
--- a/gcc/config/i386/osfrose.h
+++ b/gcc/config/i386/osfrose.h
@@ -1,4 +1,4 @@
-/* Definitions of target machine for GNU compiler.
+/* Definitions of target machine for GNU compiler.
Encore Multimax (OSF/1 with OSF/rose) version.
Copyright (C) 1991 Free Software Foundation, Inc.
@@ -45,21 +45,26 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#endif
#define CPP_PREDEFINES "-DOSF -DOSF1 -Dunix -Di386"
-#ifdef CPP_SPEC
+#ifdef CPP_SPEC
#undef CPP_SPEC
#endif
-#define CPP_SPEC "%{.S: -D__LANGUAGE_ASSEMBLY__ \
- -D_LANGUAGE_ASSEMBLY \
- %{!ansi:-DLANGUAGE_ASSEMBLY}} \
- %{!.S: -D__LANGUAGE_C__ \
- -D_LANGUAGE_C \
- %{!ansi:-DLANGUAGE_C}}"
+#define CPP_SPEC "\
+%{.S: -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \
+%{.cc: -D__LANGUAGE_C_PLUS_PLUS} \
+%{.cxx: -D__LANGUAGE_C_PLUS_PLUS} \
+%{.C: -D__LANGUAGE_C_PLUS_PLUS} \
+%{.m: -D__LANGUAGE_OBJECTIVE_C} \
+%{!.S: -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C}}"
#ifdef CC1_SPEC
#undef CC1_SPEC
#endif
#define CC1_SPEC ""
+#ifndef CC1PLUS_SPEC
+#define CC1PLUS_SPEC "%{!fgnu-binutils: -fno-gnu-binutils}"
+#endif
+
#ifdef ASM_SPEC
#undef ASM_SPEC
#endif
@@ -87,7 +92,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#endif
#define LIBG_SPEC ""
-#ifdef STARTFILE_SPEC
+#ifdef STARTFILE_SPEC
#undef STARTFILE_SPEC
#endif
#define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}"
@@ -99,17 +104,15 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define MACHINE_TYPE ((!TARGET_486) ? "80386 running OSF/1 with OSF/rose objects" : \
"80486 running OSF/1 with OSF/rose objects")
-#if 0
-#ifdef MD_EXEC_PREFIX
+#ifdef MD_EXEC_PREFIX
#undef MD_EXEC_PREFIX
#endif
#define MD_EXEC_PREFIX "/usr/ccs/gcc/"
-#ifdef MD_STARTFILE_PREFIX
+#ifdef MD_STARTFILE_PREFIX
#undef MD_STARTFILE_PREFIX
#endif
#define MD_STARTFILE_PREFIX "/usr/ccs/lib/"
-#endif
/* Tell final.c we don't need a label passed to mcount. */
#define NO_PROFILE_DATA
@@ -119,9 +122,27 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Tell collect that the object format is OSF/rose. */
#define OBJECT_FORMAT_ROSE
-
-/* Defines to be able to build gnulib with GCC. */
+/* Use atexit for static constructors/destructors, instead of defining
+ our own exit function. */
+#define HAVE_ATEXIT
+
+/* If defined, a C string constant for the assembler operation to
+ identify the following data as initialization code. If not
+ defined, GNU CC will assume such a section does not exist.
+
+ OSF/rose doesn't presently have an init section, but this macro
+ also controls whether or not __main is called from main, collect
+ will however build an initialization section directly. */
+
+#define INIT_SECTION_ASM_OP ".init"
+
+/* Define this macro meaning that gcc should find the library 'libgcc.a'
+ by hand, rather than passing the argeument '-lgcc' to tell the linker
+ to do the search */
+#define LINK_LIBGCC_SPECIAL
+
+/* Defines to be able to build libgcc.a with GCC. */
#define perform_udivsi3(a,b) \
{ \
@@ -134,7 +155,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
return ax; \
}
-#define perform_divsi3(a,b) \
+#define perform_divsi3(a,b) \
{ \
register int dx asm("dx"); \
register int ax asm("ax"); \
@@ -155,7 +176,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
return dx; \
}
-#define perform_modsi3(a,b) \
+#define perform_modsi3(a,b) \
{ \
register int dx asm("dx"); \
register int ax asm("ax"); \
@@ -165,7 +186,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
return dx; \
}
-#define perform_fix_truncdfsi2(a) \
+#define perform_fixdfsi(a) \
{ \
auto unsigned short ostatus; \
auto unsigned short nstatus; \
@@ -180,7 +201,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
asm volatile ("fldcw %0" : /* no outputs */ : "m" (nstatus)); \
asm volatile ("fldl %0" : /* no outputs */ : "m" (a)); \
asm volatile ("fistpl %0" : "=m" (ret)); \
- asm volatile ("fldcw %0" : /* no outputs */ : "m" (nstatus)); \
+ asm volatile ("fldcw %0" : /* no outputs */ : "m" (ostatus)); \
\
return ret; \
}