This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
V3 PATCH [BRANCH]: Fixes various math symbols
- To: libstdc++ at gcc dot gnu dot org
- Subject: V3 PATCH [BRANCH]: Fixes various math symbols
- From: Gabriel Dos Reis <gdr at codesourcery dot com>
- Date: 24 Jun 2001 15:10:16 +0200
- Cc: gcc-patches at gcc dot gnu dot org
- Organization: CodeSourcery, LLC
This patches fixes a regression on AIX where we failed to provide
"C"-library fallback versions for some mathematical
__builtin-functions. It is already on mainline.
Bootstrapped and tested on an i686-pc-linux and AIX.
-- Gaby
CodeSourcery, LLC http://www.codesourcery.com
http://www.codesourcery.com/gcc-compile.shtml
2001-06-24 Gabriel Dos Reis <gdr@codesourcery.com>
David Edelsohn <dje@watson.ibm.com>
* libmath/stubs.c: New file.
* libmath/Makefile.am (libmath_la_SOURCES): Add stubs.c.
* libmath/Makefile.in: Regenerate.
Index: Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libmath/Makefile.am,v
retrieving revision 1.11
diff -p -r1.11 Makefile.am
*** Makefile.am 2001/02/03 09:01:44 1.11
--- Makefile.am 2001/06/24 12:53:37
*************** libmath_la_LIBADD = \
*** 40,47 ****
libmath_la_DEPENDENCIES = $(libmath_la_LIBADD)
! libmath_la_SOURCES = \
! signbit.c signbitf.c
LINK = $(LIBTOOL) --mode=link "$(CCLD)" $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
--- 40,46 ----
libmath_la_DEPENDENCIES = $(libmath_la_LIBADD)
! libmath_la_SOURCES = signbit.c signbitf.c stubs.c
LINK = $(LIBTOOL) --mode=link "$(CCLD)" $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libmath/Makefile.in,v
retrieving revision 1.37.2.3
diff -p -r1.37.2.3 Makefile.in
*** Makefile.in 2001/05/14 19:49:10 1.37.2.3
--- Makefile.in 2001/06/24 12:53:37
*************** libmath_la_LIBADD = @LIBMATHOBJS@ $(E
*** 128,136 ****
libmath_la_DEPENDENCIES = $(libmath_la_LIBADD)
! libmath_la_SOURCES = signbit.c signbitf.c
-
LINK = $(LIBTOOL) --mode=link "$(CCLD)" $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
# Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
--- 128,135 ----
libmath_la_DEPENDENCIES = $(libmath_la_LIBADD)
! libmath_la_SOURCES = signbit.c signbitf.c stubs.c
LINK = $(LIBTOOL) --mode=link "$(CCLD)" $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
# Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
*************** CPPFLAGS = @CPPFLAGS@
*** 154,160 ****
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
libmath_la_LDFLAGS =
! libmath_la_OBJECTS = signbit.lo signbitf.lo
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
--- 153,159 ----
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
libmath_la_LDFLAGS =
! libmath_la_OBJECTS = signbit.lo signbitf.lo stubs.lo
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
Index: stubs.c
===================================================================
RCS file: stubs.c
diff -N stubs.c
*** /dev/null Tue May 5 13:32:27 1998
--- stubs.c Sun Jun 24 05:53:37 2001
***************
*** 0 ****
--- 1,119 ----
+ /* Stub definitions for libmath subpart of libstdc++. */
+
+ /* Copyright (C) 2001 Free Software Foundation, Inc.
+
+ This file is part of the GNU ISO C++ Library. This library is free
+ software; you can redistribute it and/or modify it under the
+ terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this library; see the file COPYING. If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ USA.
+
+ As a special exception, you may use this file as part of a free software
+ library without restriction. Specifically, if other files instantiate
+ templates or use macros or inline functions from this file, or you compile
+ this file and link it with other files to produce an executable, this
+ file does not by itself cause the resulting executable to be covered by
+ the GNU General Public License. This exception does not however
+ invalidate any other reasons why the executable file might be covered by
+ the GNU General Public License. */
+
+ #include <math.h>
+ #include <bits/c++config.h>
+
+ #if !defined(_GLIBCPP_HAVE_COSF) && !defined(_GLIBCPP_HAVE___BUILTIN_COSF)
+ float
+ cosf(float x)
+ {
+ return (float) cos(x);
+ }
+ #endif
+
+ #ifndef _GLIBCPP_HAVE_COSHF
+ float
+ coshf(float x)
+ {
+ return (float) cosh(x);
+ }
+ #endif
+
+ #ifndef _GLIBCPP_HAVE_EXPF
+ float
+ expf(float x)
+ {
+ return (float) exp(x);
+ }
+ #endif
+
+ #ifndef _GLIBCPP_HAVE_LOGF
+ float
+ logf(float x)
+ {
+ return (float) log(x);
+ }
+ #endif
+
+ #ifndef _GLIBCPP_HAVE_LOG10F
+ float
+ log10f(float x)
+ {
+ return (float) log10(x);
+ }
+ #endif
+
+ #ifndef _GLIBCPP_HAVE_POWF
+ float
+ powf(float x, float y)
+ {
+ return (float) pow(x, y);
+ }
+ #endif
+
+ #if !defined(_GLIBCPP_HAVE_SINF) && !defined(_GLIBCPP_HAVE___BUILTIN_SINF)
+ float
+ sinf(float x)
+ {
+ return (float) sin(x);
+ }
+ #endif
+
+ #ifndef _GLIBCPP_HAVE_SINHF
+ float
+ sinhf(float x)
+ {
+ return (float) sinh(x);
+ }
+ #endif
+
+ #ifndef _GLIBCPP_HAVE_SQRTF
+ float
+ sqrtf(float x)
+ {
+ return (float) sqrt(x);
+ }
+ #endif
+
+ #ifndef _GLIBCPP_HAVE_TANF
+ float
+ tanf(float x)
+ {
+ return (float) tan(x);
+ }
+ #endif
+
+ #ifndef _GLIBCPP_HAVE_TANHF
+ float
+ tanhf(float x)
+ {
+ return (float) tanh(x);
+ }
+ #endif