* [PATCH] sparcv9-linux fixes
@ 2002-09-12 7:58 Jakub Jelinek
0 siblings, 0 replies; only message in thread
From: Jakub Jelinek @ 2002-09-12 7:58 UTC (permalink / raw)
To: Ulrich Drepper, Roland McGrath; +Cc: Glibc hackers
Hi!
4 different things:
1) libc.so did not compile at all, because of undefined __divdi3_internal
reference. Instead of requiring each port using sysdeps/wordsize-32
to add divdi3 manually into sysdep_routines, I think
sysdeps/wordsize-32/Makefile should do it for all.
2) ld.so segfaulted on sparcv9 (and sparc64), because they have
HP_TIMING, even HP_TIMING_INLINE, but due to lack of relocations
even accesses to static variables in pic go through .got and need
R_SPARC_RELATIVE adjustement (ie. !defined DONT_USE_BOOTSTRAP_MAP).
I think it is better to do HP_TIMING_NOW ASAP even on these arches
to an automatic variable and copy it to static variable later.
3) DaveM changed sparc64-linux specs file so that it hardcodes even
/usr/lib/crt[in].o for -m32 link. Thus the ugly workaround has to be
extended for sparc32 too.
4) and last ulps regeneration to make math tests happy
With all this sparcv9-linux glibc compiles and passes make check with
exception of tst-timer test
rpm -q binutils gcc
binutils-2.13.90.0.2-2
gcc-3.2-7.1
(the latter based on 20020903 checkout).
2002-09-12 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (struct dl_start_final_info): New.
(_dl_start_final): Change second argument to struct
dl_start_final_info *. Set start_time from info.
(_dl_start): Remove bootstrap_map variable, add info.
Define bootstrap_map as macro. If not DONT_USE_BOOTSTRAP_MAP,
store HP_TIMING_NOW result into info.start_time.
* sysdeps/wordsize-32/Makefile: New file.
* sysdeps/arm/Makefile: Removed.
* sysdeps/i386/Makefile (sysdep_routines, shared-only-routines):
Don't add divdi3 here.
* sysdeps/m68k/Makefile: Likewise.
* sysdeps/powerpc/powerpc32/Makefile: Likewise.
* sysdeps/sh/Makefile: Likewise.
* sysdeps/s390/s390-32/Makefile: Likewise.
* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Regenerate.
linuxthreads/
* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: Move...
* sysdeps/unix/sysv/linux/sparc/Makefile: ...here.
Replace /usr/lib/crt[in].o with crt[in].o too.
--- libc/elf/rtld.c.jj Thu Sep 12 02:54:46 2002
+++ libc/elf/rtld.c Thu Sep 12 10:12:40 2002
@@ -146,8 +146,15 @@ TLS_INIT_HELPER
#ifdef DONT_USE_BOOTSTRAP_MAP
static ElfW(Addr) _dl_start_final (void *arg);
#else
+struct dl_start_final_info
+{
+ struct link_map l;
+#if !defined HP_TIMING_NONAVAIL && HP_TIMING_INLINE
+ hp_timing_t start_time;
+#endif
+};
static ElfW(Addr) _dl_start_final (void *arg,
- struct link_map *bootstrap_map_p);
+ struct dl_start_final_info *info);
#endif
#ifdef RTLD_START
@@ -176,7 +183,7 @@ static inline ElfW(Addr) __attribute__ (
_dl_start_final (void *arg)
#else
static ElfW(Addr) __attribute__ ((noinline))
-_dl_start_final (void *arg, struct link_map *bootstrap_map_p)
+_dl_start_final (void *arg, struct dl_start_final_info *info)
#endif
{
ElfW(Addr) start_addr;
@@ -188,6 +195,10 @@ _dl_start_final (void *arg, struct link_
/* If it hasn't happen yet record the startup time. */
if (! HP_TIMING_INLINE)
HP_TIMING_NOW (start_time);
+#ifndef DONT_USE_BOOTSTRAP_MAP
+ else
+ start_time = info->start_time;
+#endif
/* Initialize the timing functions. */
HP_TIMING_DIFF_INIT ();
@@ -195,11 +206,11 @@ _dl_start_final (void *arg, struct link_
/* Transfer data about ourselves to the permanent link_map structure. */
#ifndef DONT_USE_BOOTSTRAP_MAP
- GL(dl_rtld_map).l_addr = bootstrap_map_p->l_addr;
- GL(dl_rtld_map).l_ld = bootstrap_map_p->l_ld;
- memcpy (GL(dl_rtld_map).l_info, bootstrap_map_p->l_info,
+ GL(dl_rtld_map).l_addr = info->l.l_addr;
+ GL(dl_rtld_map).l_ld = info->l.l_ld;
+ memcpy (GL(dl_rtld_map).l_info, info->l.l_info,
sizeof GL(dl_rtld_map).l_info);
- GL(dl_rtld_map).l_mach = bootstrap_map_p->l_mach;
+ GL(dl_rtld_map).l_mach = info->l.l_mach;
#endif
_dl_setup_hash (&GL(dl_rtld_map));
GL(dl_rtld_map).l_opencount = 1;
@@ -208,20 +219,19 @@ _dl_start_final (void *arg, struct link_
/* Copy the TLS related data if necessary. */
#if USE_TLS && !defined DONT_USE_BOOTSTRAP_MAP
# ifdef HAVE___THREAD
- assert (bootstrap_map_p->l_tls_modid != 0);
+ assert (info->l.l_tls_modid != 0);
# else
- if (bootstrap_map_p->l_tls_modid != 0)
+ if (info->l.l_tls_modid != 0)
# endif
{
- GL(dl_rtld_map).l_tls_blocksize = bootstrap_map_p->l_tls_blocksize;
- GL(dl_rtld_map).l_tls_align = bootstrap_map_p->l_tls_align;
- GL(dl_rtld_map).l_tls_initimage_size
- = bootstrap_map_p->l_tls_initimage_size;
- GL(dl_rtld_map).l_tls_initimage = bootstrap_map_p->l_tls_initimage;
- GL(dl_rtld_map).l_tls_offset = bootstrap_map_p->l_tls_offset;
+ GL(dl_rtld_map).l_tls_blocksize = info->l.l_tls_blocksize;
+ GL(dl_rtld_map).l_tls_align = info->l.l_tls_align;
+ GL(dl_rtld_map).l_tls_initimage_size = info->l.l_tls_initimage_size;
+ GL(dl_rtld_map).l_tls_initimage = info->l.l_tls_initimage;
+ GL(dl_rtld_map).l_tls_offset = info->l.l_tls_offset;
GL(dl_rtld_map).l_tls_modid = 1;
GL(dl_rtld_map).l_tls_tp_initialized
- = bootstrap_map_p->l_tls_tp_initialized;
+ = info->l.l_tls_tp_initialized;
}
#endif
@@ -260,7 +270,8 @@ _dl_start (void *arg)
#ifdef DONT_USE_BOOTSTRAP_MAP
# define bootstrap_map GL(dl_rtld_map)
#else
- struct link_map bootstrap_map;
+ struct dl_start_final_info info;
+# define bootstrap_map info.l
#endif
#if !defined HAVE_BUILTIN_MEMSET || defined USE_TLS
size_t cnt;
@@ -281,7 +292,11 @@ _dl_start (void *arg)
#include "dynamic-link.h"
if (HP_TIMING_INLINE && HP_TIMING_AVAIL)
+#ifdef DONT_USE_BOOTSTRAP_MAP
HP_TIMING_NOW (start_time);
+#else
+ HP_TIMING_NOW (info.start_time);
+#endif
/* Partly clean the `bootstrap_map' structure up. Don't use
`memset' since it might not be built in or inlined and we cannot
@@ -439,7 +454,7 @@ _dl_start (void *arg)
#ifdef DONT_USE_BOOTSTRAP_MAP
ElfW(Addr) entry = _dl_start_final (arg);
#else
- ElfW(Addr) entry = _dl_start_final (arg, &bootstrap_map);
+ ElfW(Addr) entry = _dl_start_final (arg, &info);
#endif
#ifndef ELF_MACHINE_START_ADDRESS
--- libc/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile.jj Wed Apr 25 06:39:42 2001
+++ libc/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile Thu Sep 12 13:01:55 2002
@@ -1,9 +0,0 @@
-ifeq ($(subdir),linuxthreads)
-# gcc -m64 has /usr/lib64/crti.o hardcoded in the specs file, because otherwise
-# it would normally find 32bit crti.o.
-LDFLAGS-pthread.so += -specs=$(objpfx)specs
-before-compile += $(objpfx)specs
-generated += specs
-$(objpfx)specs:
- $(CC) $(CFLAGS) $(CPPFLAGS) -dumpspecs | sed 's_/usr/lib64/crti.o_crti.o_g' > $@
-endif
--- libc/linuxthreads/sysdeps/unix/sysv/linux/sparc/Makefile.jj Thu Sep 12 13:01:59 2002
+++ libc/linuxthreads/sysdeps/unix/sysv/linux/sparc/Makefile Thu Sep 12 13:03:20 2002
@@ -0,0 +1,10 @@
+ifeq ($(subdir),linuxthreads)
+# gcc has /usr/lib{,64}/crti.o hardcoded in the specs file, because otherwise
+# it would normally find {64,32}bit crt[in].o.
+LDFLAGS-pthread.so += -specs=$(objpfx)specs
+before-compile += $(objpfx)specs
+generated += specs
+$(objpfx)specs:
+ $(CC) $(CFLAGS) $(CPPFLAGS) -dumpspecs \
+ | sed 's,/usr/lib\(\|64\)/\(crt[in]\.o\),\2,g' > $@
+endif
--- libc/sysdeps/arm/Makefile.jj Mon Aug 12 15:36:38 2002
+++ libc/sysdeps/arm/Makefile Thu Sep 12 08:40:32 2002
@@ -1,7 +0,0 @@
-ifeq ($(subdir),csu)
-ifeq (yes,$(build-shared))
-# Compatibility
-sysdep_routines += divdi3
-shared-only-routines += divdi3
-endif
-endif
--- libc/sysdeps/i386/Makefile.jj Sat Mar 23 05:51:15 2002
+++ libc/sysdeps/i386/Makefile Thu Sep 12 08:40:19 2002
@@ -9,12 +9,6 @@ ifeq ($(subdir),csu)
# On i686 we must avoid generating the trampoline functions generated
# to get the GOT pointer.
CFLAGS-initfini.s += -march=i386 -mcpu=i386
-
-ifeq (yes,$(build-shared))
-# Compatibility
-sysdep_routines += divdi3
-shared-only-routines += divdi3
-endif
endif
ifeq ($(subdir),db2)
--- libc/sysdeps/m68k/Makefile.jj Sat Mar 23 05:51:45 2002
+++ libc/sysdeps/m68k/Makefile Thu Sep 12 08:41:27 2002
@@ -33,14 +33,6 @@ CFLAGS-setjmp.c := -fno-omit-frame-point
# The 68k `long double' is a distinct type we support.
long-double-fcts = yes
-ifeq ($(subdir),csu)
-ifeq (yes,$(build-shared))
-# Compatibility
-sysdep_routines += divdi3
-shared-only-routines += divdi3
-endif
-endif
-
ifeq ($(subdir),elf)
CFLAGS-rtld.c += -Wno-uninitialized -Wno-unused
endif
--- libc/sysdeps/powerpc/powerpc32/Makefile.jj Thu Sep 5 05:49:38 2002
+++ libc/sysdeps/powerpc/powerpc32/Makefile Thu Sep 12 08:45:16 2002
@@ -37,8 +37,8 @@ ifeq (yes,$(have-protected))
CPPFLAGS-divdi3.c = -DHAVE_DOT_HIDDEN
CPPFLAGS-libgcc-compat.S = -DHAVE_DOT_HIDDEN
endif
-sysdep_routines += divdi3 libgcc-compat
-shared-only-routines += divdi3 libgcc-compat
+sysdep_routines += libgcc-compat
+shared-only-routines += libgcc-compat
endif
endif
--- libc/sysdeps/sparc/sparc32/fpu/libm-test-ulps.jj Mon Oct 1 06:18:57 2001
+++ libc/sysdeps/sparc/sparc32/fpu/libm-test-ulps Thu Sep 12 12:14:49 2002
@@ -1,64 +1,18 @@
# Begin of automatic generation
-# asin
-Test "asin (-0.5) == -pi/6":
-float: 2
-ifloat: 2
-Test "asin (0.5) == pi/6":
-float: 2
-ifloat: 2
-Test "asin (0.7) == 0.77539749661075306374035335271498708":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-# atanh
-Test "atanh (0.7) == 0.8673005276940531944":
-double: 1
-idouble: 1
-
# atan2
-Test "atan2 (0.7, -1.0) == 2.530866689200584621918884506789267":
-float: 3.0000
-ifloat: 3.0000
-Test "atan2 (-0.7, -1.0) == -2.530866689200584621918884506789267":
-float: 3.0000
-ifloat: 3.0000
-Test "atan2 (1.4, -0.93) == 2.1571487668237843754887415992772736":
-float: 4.0000
-ifloat: 4.0000
-Function: "atan2":
-float: 4.0000
-ifloat: 4.0000
-
-# cabs
-Test "cabs (-0.7 + 12.4 i) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "cabs (-0.7 - 12.4 i) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "cabs (-12.4 + 0.7 i) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "cabs (-12.4 - 0.7 i) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "cabs (0.7 + 1.2 i) == 1.3892443989449804508432547041028554":
-double: 1
-idouble: 1
-Test "cabs (0.7 + 12.4 i) == 12.419742348374220601176836866763271":
+Test "atan2 (-0.75, -1.0) == -2.49809154479650885165983415456218025":
+float: 3
+ifloat: 3
+Test "atan2 (0.75, -1.0) == 2.49809154479650885165983415456218025":
+float: 3
+ifloat: 3
+Test "atan2 (1.390625, 0.9296875) == 0.981498387184244311516296577615519772":
float: 1
ifloat: 1
-# cacos
-Test "Real part of: cacos (0.7 + 1.2 i) == 1.1351827477151551088992008271819053 - 1.0927647857577371459105272080819308 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0.7 + 1.2 i) == 1.1351827477151551088992008271819053 - 1.0927647857577371459105272080819308 i":
+# atanh
+Test "atanh (0.75) == 0.972955074527656652552676371721589865":
float: 1
ifloat: 1
@@ -73,20 +27,12 @@ double: 1
float: 3
idouble: 1
ifloat: 3
-Test "Real part of: cacosh (0.7 + 1.2 i) == 1.0927647857577371459105272080819308 + 1.1351827477151551088992008271819053 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
# casin
-Test "Real part of: casin (0.7 + 1.2 i) == 0.4356135790797415103321208644578462 + 1.0927647857577371459105272080819308 i":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-Test "Imaginary part of: casin (0.7 + 1.2 i) == 0.4356135790797415103321208644578462 + 1.0927647857577371459105272080819308 i":
+Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i":
+double: 1
float: 1
+idouble: 1
ifloat: 1
# casinh
@@ -100,11 +46,13 @@ double: 3
float: 6
idouble: 3
ifloat: 6
-Test "Real part of: casinh (0.7 + 1.2 i) == 0.97865459559367387689317593222160964 + 0.91135418953156011567903546856170941 i":
+Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
+float: 1
+ifloat: 1
+Test "Imaginary part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0.7 + 1.2 i) == 0.97865459559367387689317593222160964 + 0.91135418953156011567903546856170941 i":
float: 1
+idouble: 1
ifloat: 1
# catan
@@ -116,12 +64,9 @@ double: 1
float: 1
idouble: 1
ifloat: 1
-Test "Real part of: catan (0.7 + 1.2 i) == 1.0785743834118921877443707996386368 + 0.57705737765343067644394541889341712 i":
+Test "Real part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i":
float: 4
ifloat: 4
-Test "Imaginary part of: catan (0.7 + 1.2 i) == 1.0785743834118921877443707996386368 + 0.57705737765343067644394541889341712 i":
-double: 1
-idouble: 1
# catanh
Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
@@ -130,20 +75,21 @@ idouble: 4
Test "Imaginary part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
float: 4
ifloat: 4
-Test "Real part of: catanh (0.7 + 1.2 i) == 0.2600749516525135959200648705635915 + 0.97024030779509898497385130162655963 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0.7 + 1.2 i) == 0.2600749516525135959200648705635915 + 0.97024030779509898497385130162655963 i":
+Test "Real part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
double: 1
-float: 6
idouble: 1
+Test "Imaginary part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
+float: 6
ifloat: 6
# cbrt
Test "cbrt (-27.0) == -3.0":
double: 1
idouble: 1
-Test "cbrt (0.970299) == 0.99":
+Test "cbrt (0.75) == 0.908560296416069829445605878163630251":
+double: 1
+idouble: 1
+Test "cbrt (0.9921875) == 0.997389022060725270579075195353955217":
double: 1
idouble: 1
@@ -151,12 +97,14 @@ idouble: 1
Test "Imaginary part of: ccos (-2 - 3 i) == -4.1896256909688072301 - 9.1092278937553365979 i":
float: 1
ifloat: 1
-Test "Real part of: ccos (0.7 + 1.2 i) == 1.3848657645312111080 - 0.97242170335830028619 i":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (0.7 + 1.2 i) == 1.3848657645312111080 - 0.97242170335830028619 i":
+Test "Real part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
double: 1
+float: 1
idouble: 1
+ifloat: 1
+Test "Imaginary part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
+float: 1
+ifloat: 1
# ccosh
Test "Real part of: ccosh (-2 - 3 i) == -3.7245455049153225654 + 0.5118225699873846088 i":
@@ -165,34 +113,30 @@ ifloat: 1
Test "Imaginary part of: ccosh (-2 - 3 i) == -3.7245455049153225654 + 0.5118225699873846088 i":
float: 1
ifloat: 1
-Test "Real part of: ccosh (0.7 + 1.2 i) == 0.4548202223691477654 + 0.7070296600921537682 i":
+Test "Real part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "Imaginary part of: ccosh (0.7 + 1.2 i) == 0.4548202223691477654 + 0.7070296600921537682 i":
-double: 1
-idouble: 1
+Test "Imaginary part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
+float: 1
+ifloat: 1
# cexp
Test "Imaginary part of: cexp (-2.0 - 3.0 i) == -0.13398091492954261346140525546115575 - 0.019098516261135196432576240858800925 i":
float: 1
ifloat: 1
-Test "Real part of: cexp (0.7 + 1.2 i) == 0.72969890915032360123451688642930727 + 1.8768962328348102821139467908203072 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cexp (0.7 + 1.2 i) == 0.72969890915032360123451688642930727 + 1.8768962328348102821139467908203072 i":
+Test "Real part of: cexp (0.75 + 1.25 i) == 0.667537446429131586942201977015932112 + 2.00900045494094876258347228145863909 i":
float: 1
ifloat: 1
# clog
Test "Imaginary part of: clog (-2 - 3 i) == 1.2824746787307683680267437207826593 - 2.1587989303424641704769327722648368 i":
-double: 1
float: 3
-idouble: 1
ifloat: 3
+Test "Real part of: clog (0.75 + 1.25 i) == 0.376885901188190075998919126749298416 + 1.03037682652431246378774332703115153 i":
+float: 1
+ifloat: 1
# clog10
Test "Imaginary part of: clog10 (-0 + inf i) == inf + pi/2*log10(e) i":
@@ -230,14 +174,9 @@ ifloat: 1
Test "Imaginary part of: clog10 (0 - inf i) == inf - pi/2*log10(e) i":
float: 1
ifloat: 1
-Test "Real part of: clog10 (0.7 + 1.2 i) == 0.1427786545038868803 + 0.4528483579352493248 i":
-double: 1
+Test "Real part of: clog10 (0.75 + 1.25 i) == 0.163679467193165171449476605077428975 + 0.447486970040493067069984724340855636 i":
float: 1
-idouble: 1
ifloat: 1
-Test "Imaginary part of: clog10 (0.7 + 1.2 i) == 0.1427786545038868803 + 0.4528483579352493248 i":
-double: 1
-idouble: 1
Test "Imaginary part of: clog10 (3 + inf i) == inf + pi/2*log10(e) i":
float: 1
ifloat: 1
@@ -252,28 +191,39 @@ float: 1
ifloat: 1
# cos
-Test "cos (0.7) == 0.76484218728448842625585999019186495":
+Test "cos (M_PI_6l * 2.0) == 0.5":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "cos (M_PI_6l * 2.0) == 0.5":
-double: 1
-float: 0.5
-idouble: 1
-ifloat: 0.5
Test "cos (M_PI_6l * 4.0) == -0.5":
double: 2
float: 1
idouble: 2
ifloat: 1
Test "cos (pi/2) == 0":
-double: 0.2758
-float: 0.3667
-idouble: 0.2758
-ifloat: 0.3667
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
# cpow
+Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
+float: 1
+ifloat: 1
+Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i) == 0.117506293914473555420279832210420483 + 0.346552747708338676483025352060418001 i":
+double: 1
+float: 4
+idouble: 1
+ifloat: 4
+Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i) == 0.0846958290317209430433805274189191353 + 0.513285749182902449043287190519090481 i":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
Test "Real part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
double: 1
float: 4
@@ -283,24 +233,19 @@ Test "Imaginary part of: cpow (2 + 3 i,
float: 2
ifloat: 2
Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i) == 1.0 + 0.0 i":
-double: 1.1031
-float: 1.4668
-idouble: 1.1031
-ifloat: 1.4668
-
-# csin
-Test "Imaginary part of: csin (0.7 + 1.2 i) == 1.1664563419657581376 + 1.1544997246948547371 i":
-float: 1
-ifloat: 1
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
# csinh
Test "Imaginary part of: csinh (-2 - 3 i) == 3.5905645899857799520 - 0.5309210862485198052 i":
double: 1
idouble: 1
-Test "Real part of: csinh (0.7 + 1.2 i) == 0.27487868678117583582 + 1.1698665727426565139 i":
+Test "Real part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
float: 1
ifloat: 1
-Test "Imaginary part of: csinh (0.7 + 1.2 i) == 0.27487868678117583582 + 1.1698665727426565139 i":
+Test "Imaginary part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
float: 1
ifloat: 1
@@ -311,27 +256,14 @@ ifloat: 1
Test "Real part of: csqrt (-2 - 3 i) == 0.89597747612983812471573375529004348 - 1.6741492280355400404480393008490519 i":
float: 1
ifloat: 1
-Test "Real part of: csqrt (0.7 + 1.2 i) == 1.022067610030026450706487883081139 + 0.58704531296356521154977678719838035 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: csqrt (0.7 + 1.2 i) == 1.022067610030026450706487883081139 + 0.58704531296356521154977678719838035 i":
-float: 1
-ifloat: 1
# ctan
Test "Real part of: ctan (-2 - 3 i) == 0.0037640256415042482 - 1.0032386273536098014 i":
double: 1
idouble: 1
-Test "Real part of: ctan (0.7 + 1.2 i) == 0.1720734197630349001 + 0.9544807059989405538 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan (0.7 + 1.2 i) == 0.1720734197630349001 + 0.9544807059989405538 i":
+Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
double: 1
-float: 1
idouble: 1
-ifloat: 1
# ctanh
Test "Real part of: ctanh (-2 - 3 i) == -0.9653858790221331242 + 0.0098843750383224937 i":
@@ -342,34 +274,22 @@ ifloat: 2
Test "Imaginary part of: ctanh (0 + pi/4 i) == 0.0 + 1.0 i":
float: 1
ifloat: 1
-Test "Real part of: ctanh (0.7 + 1.2 i) == 1.3472197399061191630 + 0.4778641038326365540 i":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "Imaginary part of: ctanh (0.7 + 1.2 i) == 1.3472197399061191630 + 0.4778641038326365540 i":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
+Test "Real part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
+double: 1
+idouble: 1
+
+# erf
+Test "erf (1.25) == 0.922900128256458230136523481197281140":
+double: 1
+idouble: 1
# erfc
-Test "erfc (0.7) == 0.32219880616258152702":
+Test "erfc (2.0) == 0.00467773498104726583793074363274707139":
double: 1
idouble: 1
-Test "erfc (1.2) == 0.089686021770364619762":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-Test "erfc (2.0) == 0.0046777349810472658379":
+Test "erfc (4.125) == 0.542340079956506600531223408575531062e-8":
double: 1
idouble: 1
-Test "erfc (4.1) == 0.67000276540848983727e-8":
-double: 24
-float: 12
-idouble: 24
-ifloat: 12
# exp10
Test "exp10 (-1) == 0.1":
@@ -377,8 +297,10 @@ double: 2
float: 1
idouble: 2
ifloat: 1
-Test "exp10 (0.7) == 5.0118723362727228500155418688494574":
+Test "exp10 (0.75) == 5.62341325190349080394951039776481231":
+double: 1
float: 1
+idouble: 1
ifloat: 1
Test "exp10 (3) == 1000":
double: 6
@@ -387,32 +309,13 @@ idouble: 6
ifloat: 2
# expm1
+Test "expm1 (0.75) == 1.11700001661267466854536981983709561":
+double: 1
+idouble: 1
Test "expm1 (1) == M_El - 1.0":
float: 1
ifloat: 1
-# fmod
-Test "fmod (-6.5, -2.3) == -1.9":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "fmod (-6.5, 2.3) == -1.9":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "fmod (6.5, -2.3) == 1.9":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "fmod (6.5, 2.3) == 1.9":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
# hypot
Test "hypot (-0.7, -12.4) == 12.419742348374220601176836866763271":
float: 1
@@ -429,9 +332,6 @@ ifloat: 1
Test "hypot (0.7, -12.4) == 12.419742348374220601176836866763271":
float: 1
ifloat: 1
-Test "hypot (0.7, 1.2) == 1.3892443989449804508432547041028554":
-double: 1
-idouble: 1
Test "hypot (0.7, 12.4) == 12.419742348374220601176836866763271":
float: 1
ifloat: 1
@@ -443,90 +343,110 @@ float: 1
ifloat: 1
# j0
-Test "j0 (10.0) == -0.24593576445134833520":
+Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "j0 (0.75) == 0.864242275166648623555731103820923211":
+float: 1
+ifloat: 1
+Test "j0 (10.0) == -0.245935764451348335197760862485328754":
double: 2
float: 1
idouble: 2
ifloat: 1
-Test "j0 (2.0) == 0.22389077914123566805":
+Test "j0 (2.0) == 0.223890779141235668051827454649948626":
float: 2
ifloat: 2
-Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1"
+Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
double: 1
-idouble: 1
float: 1
-ifloat: 1
-Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1"
-double: 1
idouble: 1
-float: 1
ifloat: 1
-Test "j0 (8.0) == 0.17165080713755390609":
+Test "j0 (8.0) == 0.171650807137553906090869407851972001":
float: 1
ifloat: 1
# j1
-Test "j1 (10.0) == 0.043472746168861436670":
+Test "j1 (10.0) == 0.0434727461688614366697487680258592883":
float: 2
ifloat: 2
-Test "j1 (2.0) == 0.57672480775687338720":
+Test "j1 (2.0) == 0.576724807756873387202448242269137087":
double: 1
idouble: 1
-Test "j1 (8.0) == 0.23463634685391462438":
+Test "j1 (8.0) == 0.234636346853914624381276651590454612":
double: 1
idouble: 1
# jn
-Test "jn (0, 10.0) == -0.24593576445134833520":
+Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "jn (0, 0.75) == 0.864242275166648623555731103820923211":
+float: 1
+ifloat: 1
+Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
double: 2
float: 1
idouble: 2
ifloat: 1
-Test "jn (0, 2.0) == 0.22389077914123566805":
+Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
float: 2
ifloat: 2
-Test "jn (0, 8.0) == 0.17165080713755390609":
+Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-Test "jn (1, 10.0) == 0.043472746168861436670":
+Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
+float: 1
+ifloat: 1
+Test "jn (1, 10.0) == 0.0434727461688614366697487680258592883":
float: 2
ifloat: 2
-Test "jn (1, 2.0) == 0.57672480775687338720":
+Test "jn (1, 2.0) == 0.576724807756873387202448242269137087":
double: 1
idouble: 1
-Test "jn (1, 8.0) == 0.23463634685391462438":
+Test "jn (1, 8.0) == 0.234636346853914624381276651590454612":
double: 1
idouble: 1
-Test "jn (10, 0.1) == 0.26905328954342155795e-19":
-double: 6
-float: 4
-idouble: 6
-ifloat: 4
-Test "jn (10, 0.7) == 0.75175911502153953928e-11":
-double: 3
+Test "jn (10, 0.125) == 0.250543369809369890173993791865771547e-18":
+double: 1
float: 1
-idouble: 3
+idouble: 1
+ifloat: 1
+Test "jn (10, 0.75) == 0.149621713117596814698712483621682835e-10":
+double: 1
+float: 1
+idouble: 1
ifloat: 1
-Test "jn (10, 10.0) == 0.20748610663335885770":
+Test "jn (10, 10.0) == 0.207486106633358857697278723518753428":
double: 4
float: 3
idouble: 4
ifloat: 3
-Test "jn (10, 2.0) == 0.25153862827167367096e-6":
+Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
float: 4
ifloat: 4
-Test "jn (3, 0.1) == 0.000020820315754756261429":
+Test "jn (3, 0.125) == 0.406503832554912875023029337653442868e-4":
double: 1
+float: 1
idouble: 1
-Test "jn (3, 0.7) == 0.0069296548267508408077":
+ifloat: 1
+Test "jn (3, 0.75) == 0.848438342327410884392755236884386804e-2":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-Test "jn (3, 10.0) == 0.058379379305186812343":
+Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
double: 3
float: 1
idouble: 3
ifloat: 1
-Test "jn (3, 2.0) == 0.12894324947440205110":
+Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
double: 1
float: 2
idouble: 1
@@ -544,86 +464,45 @@ float: 2
idouble: 1
ifloat: 2
-# log
-Test "log (0.7) == -0.35667494393873237891263871124118447":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
# log10
-Test "log10 (0.7) == -0.15490195998574316929":
+Test "log10 (0.75) == -0.124938736608299953132449886193870744":
double: 1
-float: 1
+float: 2
idouble: 1
-ifloat: 1
+ifloat: 2
Test "log10 (e) == log10(e)":
float: 1
ifloat: 1
# log1p
-Test "log1p (-0.3) == -0.35667494393873237891263871124118447":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# log2
-Test "log2 (0.7) == -0.51457317282975824043":
-double: 1
+Test "log1p (-0.25) == -0.287682072451780927439219005993827432":
float: 1
-idouble: 1
ifloat: 1
# sincos
-Test "sincos (0.7, &sin_res, &cos_res) puts 0.76484218728448842625585999019186495 in cos_res":
+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-float: 0.5
-idouble: 1
-ifloat: 0.5
Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
double: 1
float: 1
idouble: 1
ifloat: 1
Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
-double: 0.2758
-float: 0.3667
-idouble: 0.2758
-ifloat: 0.3667
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
-float: 1
-ifloat: 1
-
-# sinh
-Test "sinh (0.7) == 0.75858370183953350346":
double: 1
float: 1
idouble: 1
ifloat: 1
-
-# tan
-Test "tan (pi/4) == 1":
-double: 0.5
-idouble: 0.5
-
-# tanh
-Test "tanh (0.7) == 0.60436777711716349631":
-double: 1
+Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
float: 1
-idouble: 1
ifloat: 1
-Test "tanh (-0.7) == -0.60436777711716349631":
+# tan
+Test "tan (pi/4) == 1":
double: 1
-float: 1
idouble: 1
-ifloat: 1
# tgamma
Test "tgamma (-0.5) == -2 sqrt (pi)":
@@ -641,170 +520,130 @@ idouble: 1
ifloat: 1
# y0
-Test "y0 (0.7) == -0.19066492933739506743":
+Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
double: 2
float: 1
idouble: 2
ifloat: 1
-Test "y0 (1.0) == 0.088256964215676957983":
+Test "y0 (1.5) == 0.382448923797758843955068554978089862":
double: 2
float: 1
idouble: 2
ifloat: 1
-Test "y0 (1.5) == 0.38244892379775884396":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (10.0) == 0.055671167283599391424":
+Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
float: 1
ifloat: 1
-Test "y0 (8.0) == 0.22352148938756622053":
+Test "y0 (8.0) == 0.223521489387566220527323400498620359":
double: 1
float: 1
idouble: 1
ifloat: 1
# y1
-Test "y1 (0.1) == -6.4589510947020269877":
+Test "y1 (0.125) == -5.19993611253477499595928744876579921":
double: 1
idouble: 1
-Test "y1 (0.7) == -1.1032498719076333697":
-double: 1
+Test "y1 (1.5) == -0.412308626973911295952829820633445323":
float: 1
-idouble: 1
ifloat: 1
-Test "y1 (1.5) == -0.41230862697391129595":
-float: 1
-ifloat: 1
-Test "y1 (10.0) == 0.24901542420695388392":
+Test "y1 (10.0) == 0.249015424206953883923283474663222803":
double: 3
float: 1
idouble: 3
ifloat: 1
-Test "y1 (2.0) == -0.10703243154093754689":
+Test "y1 (2.0) == -0.107032431540937546888370772277476637":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "y1 (8.0) == -0.15806046173124749426":
+Test "y1 (8.0) == -0.158060461731247494255555266187483550":
double: 1
float: 2
idouble: 1
ifloat: 2
# yn
-Test "yn (0, 0.7) == -0.19066492933739506743":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "yn (0, 1.0) == 0.088256964215676957983":
+Test "yn (0, 1.0) == 0.0882569642156769579829267660235151628":
double: 2
float: 1
idouble: 2
ifloat: 1
-Test "yn (0, 1.5) == 0.38244892379775884396":
+Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
double: 2
float: 1
idouble: 2
ifloat: 1
-Test "yn (0, 10.0) == 0.055671167283599391424":
+Test "yn (0, 10.0) == 0.0556711672835993914244598774101900481":
float: 1
ifloat: 1
-Test "yn (0, 8.0) == 0.22352148938756622053":
+Test "yn (0, 8.0) == 0.223521489387566220527323400498620359":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "yn (1, 0.1) == -6.4589510947020269877":
+Test "yn (1, 0.125) == -5.19993611253477499595928744876579921":
double: 1
idouble: 1
-Test "yn (1, 0.7) == -1.1032498719076333697":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (1, 1.5) == -0.41230862697391129595":
+Test "yn (1, 1.5) == -0.412308626973911295952829820633445323":
float: 1
ifloat: 1
-Test "yn (1, 10.0) == 0.24901542420695388392":
+Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
double: 3
float: 1
idouble: 3
ifloat: 1
-Test "yn (1, 2.0) == -0.10703243154093754689":
+Test "yn (1, 2.0) == -0.107032431540937546888370772277476637":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "yn (1, 8.0) == -0.15806046173124749426":
+Test "yn (1, 8.0) == -0.158060461731247494255555266187483550":
double: 1
float: 2
idouble: 1
ifloat: 2
-Test "yn (10, 0.1) == -0.11831335132045197885e19":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-Test "yn (10, 0.7) == -0.42447194260703866924e10":
-double: 3
-idouble: 3
-Test "yn (10, 1.0) == -0.12161801427868918929e9":
+Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
double: 1
idouble: 1
-Test "yn (10, 10.0) == -0.35981415218340272205":
+Test "yn (10, 0.75) == -2133501638.90573424452445412893839236":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "yn (10, 2.0) == -129184.54220803928264":
-double: 2
-idouble: 2
-Test "yn (3, 0.1) == -5099.3323786129048894":
+Test "yn (10, 1.0) == -121618014.278689189288130426667971145":
double: 1
-float: 1
idouble: 1
-ifloat: 1
-Test "yn (3, 0.7) == -15.819479052819633505":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "yn (3, 10.0) == -0.25136265718383732978":
+Test "yn (10, 10.0) == -0.359814152183402722051986577343560609":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "yn (3, 2.0) == -1.1277837768404277861":
-double: 1
-idouble: 1
-
-# Maximal error of functions:
-Function: "asin":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "atanh":
+Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
+double: 2
+idouble: 2
+Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
double: 1
idouble: 1
-
-Function: "cabs":
+Test "yn (3, 0.75) == -12.9877176234475433186319774484809207":
double: 1
float: 1
idouble: 1
ifloat: 1
-
-Function: Real part of "cacos":
+Test "yn (3, 10.0) == -0.251362657183837329779204747654240998":
double: 1
float: 1
idouble: 1
ifloat: 1
+Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
+double: 1
+idouble: 1
-Function: Imaginary part of "cacos":
+# Maximal error of functions:
+Function: "atan2":
+float: 3
+ifloat: 3
+
+Function: "atanh":
float: 1
ifloat: 1
@@ -821,13 +660,9 @@ idouble: 1
ifloat: 3
Function: Real part of "casin":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-
-Function: Imaginary part of "casin":
+double: 1
float: 1
+idouble: 1
ifloat: 1
Function: Real part of "casinh":
@@ -854,14 +689,10 @@ ifloat: 1
Function: Real part of "catanh":
double: 4
-float: 1
idouble: 4
-ifloat: 1
Function: Imaginary part of "catanh":
-double: 1
float: 6
-idouble: 1
ifloat: 6
Function: "cbrt":
@@ -870,12 +701,12 @@ idouble: 1
Function: Real part of "ccos":
double: 1
+float: 1
idouble: 1
+ifloat: 1
Function: Imaginary part of "ccos":
-double: 1
float: 1
-idouble: 1
ifloat: 1
Function: Real part of "ccosh":
@@ -885,31 +716,27 @@ idouble: 1
ifloat: 1
Function: Imaginary part of "ccosh":
-double: 1
float: 1
-idouble: 1
ifloat: 1
Function: Real part of "cexp":
-double: 1
float: 1
-idouble: 1
ifloat: 1
Function: Imaginary part of "cexp":
float: 1
ifloat: 1
+Function: Real part of "clog":
+float: 1
+ifloat: 1
+
Function: Imaginary part of "clog":
-double: 1
float: 3
-idouble: 1
ifloat: 3
Function: Real part of "clog10":
-double: 1
float: 1
-idouble: 1
ifloat: 1
Function: Imaginary part of "clog10":
@@ -925,21 +752,17 @@ idouble: 2
ifloat: 1
Function: Real part of "cpow":
-double: 1
+double: 2
float: 4
-idouble: 1
+idouble: 2
ifloat: 4
Function: Imaginary part of "cpow":
-double: 1.1031
+double: 2
float: 2
-idouble: 1.1031
+idouble: 2
ifloat: 2
-Function: Imaginary part of "csin":
-float: 1
-ifloat: 1
-
Function: Real part of "csinh":
float: 1
ifloat: 1
@@ -951,44 +774,34 @@ idouble: 1
ifloat: 1
Function: Real part of "csqrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "csqrt":
float: 1
ifloat: 1
Function: Real part of "ctan":
double: 1
-float: 1
idouble: 1
-ifloat: 1
Function: Imaginary part of "ctan":
double: 1
-float: 1
idouble: 1
-ifloat: 1
Function: Real part of "ctanh":
-double: 2
+double: 1
float: 2
-idouble: 2
+idouble: 1
ifloat: 2
Function: Imaginary part of "ctanh":
-double: 2
float: 1
-idouble: 2
ifloat: 1
+Function: "erf":
+double: 1
+idouble: 1
+
Function: "erfc":
-double: 24
-float: 12
-idouble: 24
-ifloat: 12
+double: 1
+idouble: 1
Function: "exp10":
double: 6
@@ -997,19 +810,13 @@ idouble: 6
ifloat: 2
Function: "expm1":
+double: 1
float: 1
-ifloat: 1
-
-Function: "fmod":
-double: 2
-float: 1
-idouble: 2
+idouble: 1
ifloat: 1
Function: "hypot":
-double: 1
float: 1
-idouble: 1
ifloat: 1
Function: "j0":
@@ -1025,9 +832,9 @@ idouble: 1
ifloat: 2
Function: "jn":
-double: 6
+double: 4
float: 4
-idouble: 6
+idouble: 4
ifloat: 4
Function: "lgamma":
@@ -1036,28 +843,14 @@ float: 2
idouble: 1
ifloat: 2
-Function: "log":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
Function: "log10":
double: 1
-float: 1
+float: 2
idouble: 1
-ifloat: 1
+ifloat: 2
Function: "log1p":
-double: 1
float: 1
-idouble: 1
-ifloat: 1
-
-Function: "log2":
-double: 1
-float: 1
-idouble: 1
ifloat: 1
Function: "sincos":
@@ -1066,21 +859,9 @@ float: 1
idouble: 1
ifloat: 1
-Function: "sinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
Function: "tan":
-double: 0.5
-idouble: 0.5
-
-Function: "tanh":
double: 1
-float: 1
idouble: 1
-ifloat: 1
Function: "tgamma":
double: 1
--- libc/sysdeps/sh/Makefile.jj Tue Aug 27 17:19:53 2002
+++ libc/sysdeps/sh/Makefile Thu Sep 12 08:41:54 2002
@@ -1,11 +1,3 @@
ifeq ($(subdir),gmon)
sysdep_routines += _mcount
endif
-
-ifeq ($(subdir),csu)
-ifeq (yes,$(build-shared))
-# Compatibility
-sysdep_routines += divdi3
-shared-only-routines += divdi3
-endif
-endif
--- libc/sysdeps/s390/s390-32/Makefile.jj Sat Mar 23 05:52:40 2002
+++ libc/sysdeps/s390/s390-32/Makefile Thu Sep 12 08:42:11 2002
@@ -1,13 +1,5 @@
pic-ccflag = -fpic
-ifeq ($(subdir),csu)
-ifeq (yes,$(build-shared))
-# Compatibility
-sysdep_routines += divdi3
-shared-only-routines += divdi3
-endif
-endif
-
ifeq ($(subdir),gmon)
sysdep_routines += s390-mcount
endif
--- libc/sysdeps/wordsize-32/Makefile.jj Thu Sep 12 08:39:41 2002
+++ libc/sysdeps/wordsize-32/Makefile Thu Sep 12 08:40:07 2002
@@ -0,0 +1,6 @@
+ifeq ($(subdir),csu)
+ifeq (yes,$(build-shared))
+sysdep_routines += divdi3
+shared-only-routines += divdi3
+endif
+endif
Jakub
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2002-09-12 14:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-09-12 7:58 [PATCH] sparcv9-linux fixes Jakub Jelinek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).