summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/config/i386/seq-sysv3.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/config/i386/seq-sysv3.h')
-rw-r--r--contrib/gcc/config/i386/seq-sysv3.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/contrib/gcc/config/i386/seq-sysv3.h b/contrib/gcc/config/i386/seq-sysv3.h
new file mode 100644
index 0000000..e3182ee
--- /dev/null
+++ b/contrib/gcc/config/i386/seq-sysv3.h
@@ -0,0 +1,56 @@
+/* Sequent DYNIX/ptx 1.x (SVr3) */
+
+#include "i386/sysv3.h"
+
+/* Sequent Symmetry SVr3 doesn't have crtn.o; crt1.o doesn't work
+ but crt0.o does. */
+
+#undef STARTFILE_SPEC
+#define STARTFILE_SPEC \
+"%{pg:gcrt0.o%s}\
+ %{!pg:%{posix:%{p:mcrtp0.o%s}%{!p:crtp0.o%s}}\
+ %{!posix:%{p:mcrt0.o%s}%{!p:crt0.o%s}}} crtbegin.o%s\
+ %{p:-L/usr/lib/libp}%{pg:-L/usr/lib/libp}"
+
+#undef LIB_SPEC
+#define LIB_SPEC \
+"%{posix:-lcposix}\
+ %{shlib:-lc_s}\
+ %{fshared-data:-lpps -lseq} -lc crtend.o%s"
+
+#undef CPP_SPEC
+#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} -D_SEQUENT_=1"
+
+/* Although the .init section is used, it is not automatically invoked.
+ This because the _start() function in /lib/crt0.o never calls anything
+ from the .init section */
+#define INVOKE__main
+
+/* Assembler pseudo-op for initialized shared variables (.shdata). */
+#undef SHARED_SECTION_ASM_OP
+#define SHARED_SECTION_ASM_OP ".section .shdata, \"ws\""
+
+/* Assembler pseudo-op for uninitialized shared global variables (.shbss). */
+#undef ASM_OUTPUT_SHARED_COMMON
+#define ASM_OUTPUT_SHARED_COMMON(FILE, NAME, SIZE, ROUNDED) \
+( fputs(".comm ", (FILE)), \
+ assemble_name((FILE), (NAME)), \
+ fprintf((FILE), ",%u,-3\n", (SIZE)))
+
+/* Assembler pseudo-op for uninitialized shared local variables (.shbss). */
+#undef SHARED_BSS_SECTION_ASM_OP
+#define SHARED_BSS_SECTION_ASM_OP ".section .shbss, \"bs\""
+#undef BSS_SECTION_FUNCTION
+#define BSS_SECTION_FUNCTION \
+void \
+bss_section () \
+{ \
+ if (in_section != in_bss) \
+ { \
+ if (flag_shared_data) \
+ fprintf (asm_out_file, "%s\n", SHARED_BSS_SECTION_ASM_OP); \
+ else \
+ fprintf (asm_out_file, "%s\n", BSS_SECTION_ASM_OP); \
+ in_section = in_bss; \
+ } \
+}
OpenPOWER on IntegriCloud