aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid S. Miller <davem@redhat.com>2002-04-05 20:55:28 -0800
committerDavid S. Miller <davem@gcc.gnu.org>2002-04-05 20:55:28 -0800
commit2d69e3cb6a464a0cc36ccb5219852912f04960dd (patch)
tree8bcead9980dd18158153ab7e4db6dbab7d580a18 /gcc
parent9df224790b7ba6fd9eb64ddb371b814cc04ecc1c (diff)
downloadgcc-2d69e3cb6a464a0cc36ccb5219852912f04960dd.zip
gcc-2d69e3cb6a464a0cc36ccb5219852912f04960dd.tar.gz
gcc-2d69e3cb6a464a0cc36ccb5219852912f04960dd.tar.bz2
freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
2002-04-05 David S. Miller <davem@redhat.com> * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits. * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos, sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*, {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file. From-SVN: r51940
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/config.gcc12
-rw-r--r--gcc/config/sparc/freebsd.h5
3 files changed, 25 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9d66238..51f332e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,16 @@
+2002-04-05 David S. Miller <davem@redhat.com>
+
+ * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
+ * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
+ sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
+ {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
+
+2002-04-05 David S. Miller <davem@redhat.com>
+
+ * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
+ are not going to emit return instructions, emit at least a nop
+ for the sake of sane backtraces.
+
2002-04-05 Richard Henderson <rth@redhat.com>
* doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 818dfbe..1e3b355 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2974,7 +2974,7 @@ sparc-tti-*)
;;
sparc64-wrs-vxworks*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h sparc/biarch64.h gofast.h sparc/vxsparc64.h"
- tmake_file=sparc/t-vxsparc64
+ tmake_file="sparc/t-vxsparc64 sparc/t-crtfm"
use_collect2=yes
;;
sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
@@ -3007,7 +3007,7 @@ sparc-*-bsd*)
;;
sparc-*-chorusos*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h chorus.h"
- tmake_file=sparc/t-chorus-elf
+ tmake_file="sparc/t-chorus-elf sparc/t-crtfm"
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
float_format=i64
case x${enable_threads} in
@@ -3064,7 +3064,7 @@ sparc-*-rtemsaout*)
sparc-*-rtems*|sparc-*-rtemself*)
xm_defines=POSIX
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h sparc/rtemself.h rtems.h"
- tmake_file="sparc/t-elf t-rtems"
+ tmake_file="sparc/t-elf sparc/t-crtfm t-rtems"
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
#float_format=i128
float_format=i64
@@ -3212,7 +3212,7 @@ sparclite-*-aout*)
;;
sparclite-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h gofast.h sparc/liteelf.h"
- tmake_file=sparc/t-sparclite
+ tmake_file="sparc/t-sparclite sparc/t-crtfm"
extra_parts="crtbegin.o crtend.o"
;;
sparc86x-*-aout*)
@@ -3221,7 +3221,7 @@ sparc86x-*-aout*)
;;
sparc86x-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h gofast.h sparc/sp86x-elf.h"
- tmake_file=sparc/t-sp86x
+ tmake_file="sparc/t-sp86x sparc/t-crtfm"
extra_parts="crtbegin.o crtend.o"
;;
sparc64-*-aout*)
@@ -3229,10 +3229,12 @@ sparc64-*-aout*)
;;
sparc64-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sp64-elf.h"
+ tmake_file="${tmake_file} sparc/t-crtfm"
extra_parts="crtbegin.o crtend.o"
;;
sparc64-*-freebsd*|ultrasparc-*-freebsd*)
tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
+ tmake_file="${tmake_file} sparc/t-crtfm"
xmake_file=none
case "x$with_cpu" in
xultrasparc) ;;
diff --git a/gcc/config/sparc/freebsd.h b/gcc/config/sparc/freebsd.h
index 9017839..33b0716 100644
--- a/gcc/config/sparc/freebsd.h
+++ b/gcc/config/sparc/freebsd.h
@@ -148,3 +148,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
RELATIVE relocations. */
/* #define DWARF_OFFSET_SIZE PTR_SIZE */
+
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC \
+ "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}" \
+ FBSD_ENDFILE_SPEC