summaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/cris/cris.h3
-rw-r--r--gcc/config/elfos.h9
-rw-r--r--gcc/config/i386/i386elf.h7
-rw-r--r--gcc/config/pa/elf.h7
4 files changed, 16 insertions, 10 deletions
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index f97ff0b3ddf..38a92ae607c 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -231,7 +231,6 @@ extern const char *cris_elinux_stacksize_str;
link them to crt0.o to be prepared. Use scrt0.c if running the
simulator, linear style, or s2crt0.c if fixed style. */
/* We need to remove any previous definition (elfos.h). */
-#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
"%{sim2:s2crt0.o%s}\
%{!sim2:%{sim:scrt0.o%s}\
@@ -239,6 +238,8 @@ extern const char *cris_elinux_stacksize_str;
%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}\
crtbegin.o%s"
+#define ENDFILE_SPEC "crtend.o%s"
+
#define EXTRA_SPECS \
{"cpp_subtarget", CRIS_CPP_SUBTARGET_SPEC}, \
{"cc1_subtarget", CRIS_CC1_SUBTARGET_SPEC}, \
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index 33e88154af3..003fca26d9a 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -42,15 +42,6 @@ Boston, MA 02111-1307, USA. */
#define MAX_OFILE_ALIGNMENT (32768 * 8)
#endif
-#undef ENDFILE_SPEC
-#define ENDFILE_SPEC "crtend.o%s"
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "%{!shared: \
- %{!symbolic: \
- %{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}\
- crtbegin.o%s"
-
/* Use periods rather than dollar signs in special g++ assembler names. */
#define NO_DOLLAR_IN_LABEL
diff --git a/gcc/config/i386/i386elf.h b/gcc/config/i386/i386elf.h
index 352c3e17b70..97d5fbebd0d 100644
--- a/gcc/config/i386/i386elf.h
+++ b/gcc/config/i386/i386elf.h
@@ -47,6 +47,13 @@ Boston, MA 02111-1307, USA. */
#undef CPP_SPEC
#define CPP_SPEC "%(cpp_cpu)"
+#define ENDFILE_SPEC "crtend.o%s"
+
+#define STARTFILE_SPEC "%{!shared: \
+ %{!symbolic: \
+ %{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}\
+ crtbegin.o%s"
+
/* This is how to output assembly code to define a `float' constant.
We always have to use a .long pseudo-op to do this because the native
SVR4 ELF assembler is buggy and it generates incorrect values when we
diff --git a/gcc/config/pa/elf.h b/gcc/config/pa/elf.h
index 76e8dac3d3e..db2f20fe969 100644
--- a/gcc/config/pa/elf.h
+++ b/gcc/config/pa/elf.h
@@ -21,6 +21,13 @@ Boston, MA 02111-1307, USA. */
/* So we can conditionalize small amounts of code in pa.c or pa.md. */
#define OBJ_ELF
+#define ENDFILE_SPEC "crtend.o%s"
+
+#define STARTFILE_SPEC "%{!shared: \
+ %{!symbolic: \
+ %{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}\
+ crtbegin.o%s"
+
#define TEXT_SECTION_ASM_OP "\t.text"
#define DATA_SECTION_ASM_OP "\t.data"
#define BSS_SECTION_ASM_OP "\t.section\t.bss"