aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-01-26 20:18:12 -0800
committerRichard Henderson <rth@gcc.gnu.org>2002-01-26 20:18:12 -0800
commitcea3bd3e5a0a40eb90809bf90063da4911ba23b0 (patch)
treee5878dd8630022a33d8797b199100a5b12fc5c7f /gcc/config.gcc
parent1f9131b7db56276783f0276f2083c208dbf05709 (diff)
downloadgcc-cea3bd3e5a0a40eb90809bf90063da4911ba23b0.zip
gcc-cea3bd3e5a0a40eb90809bf90063da4911ba23b0.tar.gz
gcc-cea3bd3e5a0a40eb90809bf90063da4911ba23b0.tar.bz2
Makefile.in (CRTSTUFF_CFLAGS): New.
* Makefile.in (CRTSTUFF_CFLAGS): New. (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it. * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain crtstuff.c instead of alpha assembly version. * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN not FORCE_{INIT,FINI}_SECTION_ALIGN. (__do_global_dtors_aux): Mark used. (frame_dummy, __do_global_ctors_aux): Mark used. (fini_dummy, init_dummy): Remove. * config/alpha/crtbegin.asm: Remove file. * config/alpha/crtend.asm: Remove file. * config/alpha/t-crtbe: Remove file. * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New. (LINK_EH_SPEC): New. * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before calling constructors. * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef. * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New. * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old CRT_END_INIT_DUMMY hack. * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace FORCE_{INIT,FINI}_SECTION_ALIGN. * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace FORCE_{INIT,FINI}_SECTION_ALIGN. * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new invocation sequence. * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise. * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update. (FORCE_CODE_SECTION_ALIGN): New. From-SVN: r49261
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc12
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 10d6e1f..63cef2b 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -461,7 +461,8 @@ alpha*-*-linux*ecoff*)
alpha*-*-linux*libc1*)
tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
target_cpu_default="MASK_GAS"
- tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 alpha/t-alpha alpha/t-crtbe alpha/t-crtfm alpha/t-ieee"
+ tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 alpha/t-alpha alpha/t-crtfm alpha/t-ieee"
+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
gas=yes gnu_ld=yes
if test x$enable_threads = xyes; then
thread_file='posix'
@@ -470,7 +471,8 @@ alpha*-*-linux*libc1*)
alpha*-*-linux*)
tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
target_cpu_default="MASK_GAS"
- tmake_file="t-slibgcc-elf-ver t-linux alpha/t-crtbe alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
+ tmake_file="t-slibgcc-elf-ver t-linux alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
gas=yes gnu_ld=yes
if test x$enable_threads = xyes; then
thread_file='posix'
@@ -479,12 +481,14 @@ alpha*-*-linux*)
alpha*-*-freebsd*)
tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
target_cpu_default="MASK_GAS"
- tmake_file="${tmake_file} alpha/t-crtbe alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
+ tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
;;
alpha*-*-netbsd*)
tm_file="${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
target_cpu_default="MASK_GAS"
- tmake_file="${tmake_file} alpha/t-alpha alpha/t-crtbe alpha/t-ieee"
+ tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
;;
alpha*-*-openbsd*)