crtfastmath.c: New file.
* config/ia64/crtfastmath.c: New file. * config/ia64/t-ia64 (EXTRA_PARTS): Include it. * config/ia64/linux.h (ENDFILE_SPEC): New. From-SVN: r43515
This commit is contained in:
parent
41104fd541
commit
8b54e86833
|
@ -1,3 +1,9 @@
|
|||
2001-06-22 David Mosberger <davidm@hpl.hp.com>
|
||||
|
||||
* config/ia64/crtfastmath.c: New file.
|
||||
* config/ia64/t-ia64 (EXTRA_PARTS): Include it.
|
||||
* config/ia64/linux.h (ENDFILE_SPEC): New.
|
||||
|
||||
2001-06-22 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
|
||||
|
||||
* config/h8300/h8300.c (asm_file_start): Remove reference to
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
/* Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Contributed by David Mosberger <davidm@hpl.hp.com>.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* In addition to the permissions in the GNU General Public License, the
|
||||
Free Software Foundation gives you unlimited permission to link the
|
||||
compiled version of this file into combinations with other programs,
|
||||
and to distribute those combinations without any restriction coming
|
||||
from the use of this file. (The General Public License restrictions
|
||||
do apply in other respects; for example, they cover modification of
|
||||
the file, and distribution when not linked into a combine
|
||||
executable.) */
|
||||
|
||||
/* We could call fesetenv() here but that would create a confusing
|
||||
dependency on libm (since that is where fesetenv() gets defined.
|
||||
To avoid this, just do everything locally. */
|
||||
#define FE_NONIEEE_ENV 0x0009a04d0270037f
|
||||
|
||||
static void __attribute__((constructor))
|
||||
__ia64_set_fast_math (void)
|
||||
{
|
||||
__asm__ __volatile__ ("mov.m ar.fpsr=%0" : : "r"(FE_NONIEEE_ENV));
|
||||
}
|
|
@ -16,6 +16,12 @@
|
|||
#undef ASM_SPEC
|
||||
#define ASM_SPEC "-x %{mconstant-gp} %{mauto-pic}"
|
||||
|
||||
/* Similar to standard Linux, but adding -ffast-math support. */
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC \
|
||||
"%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
|
||||
%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
|
||||
|
||||
/* Define this for shared library support because it isn't in the main
|
||||
linux.h file. */
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ SHLIB_MAPFILES += $(srcdir)/config/ia64/libgcc-ia64.ver
|
|||
# For svr4 we build crtbegin.o and crtend.o which serve to add begin and
|
||||
# end labels to the .ctors and .dtors section when we link using gcc.
|
||||
|
||||
EXTRA_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o
|
||||
EXTRA_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o
|
||||
|
||||
# Effectively disable the crtbegin/end rules using crtstuff.c
|
||||
T = disable
|
||||
|
@ -34,6 +34,8 @@ crtbeginS.o: $(srcdir)/config/ia64/crtbegin.asm $(GCC_PASSES)
|
|||
$(GCC_FOR_TARGET) -DSHARED -c -o crtbeginS.o -x assembler-with-cpp $(srcdir)/config/ia64/crtbegin.asm
|
||||
crtendS.o: $(srcdir)/config/ia64/crtend.asm $(GCC_PASSES)
|
||||
$(GCC_FOR_TARGET) -DSHARED -c -o crtendS.o -x assembler-with-cpp $(srcdir)/config/ia64/crtend.asm
|
||||
crtfastmath.o: $(srcdir)/config/ia64/crtfastmath.c $(GCC_PASSES)
|
||||
$(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -c -o crtfastmath.o $(srcdir)/config/ia64/crtfastmath.c
|
||||
|
||||
EXTRA_HEADERS = $(srcdir)/config/ia64/ia64intrin.h
|
||||
LIB2ADDEH = $(srcdir)/config/ia64/unwind-ia64.c $(srcdir)/unwind-sjlj.c
|
||||
|
|
Loading…
Reference in New Issue