Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/doc Add hack for cabs{,f,l} in <complex>



details:   https://anonhg.NetBSD.org/src/rev/e0e6e6b1a9b3
branches:  trunk
changeset: 342867:e0e6e6b1a9b3
user:      christos <christos%NetBSD.org@localhost>
date:      Mon Jan 11 22:50:35 2016 +0000

description:
Add hack for cabs{,f,l} in <complex>

diffstat:

 doc/HACKS |  19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diffs (33 lines):

diff -r cb05709a3ed7 -r e0e6e6b1a9b3 doc/HACKS
--- a/doc/HACKS Mon Jan 11 22:41:48 2016 +0000
+++ b/doc/HACKS Mon Jan 11 22:50:35 2016 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: HACKS,v 1.162 2015/08/27 12:32:05 pooka Exp $
+# $NetBSD: HACKS,v 1.163 2016/01/11 22:50:35 christos Exp $
 #
 # This file is intended to document workarounds for currently unsolved
 # (mostly) compiler bugs.
@@ -402,6 +402,23 @@
                pthread_spin_t ptm_errorcheck;
 kcah
 
+hack   libm cabs{,f,l} and g++
+cdata  11 Jan 2016
+who    christos
+pr     lib/50646
+file   src/external/gpl3/gcc.old/dist/libstdc++-v3/include/std/complex : 1.2
+file   src/external/gpl3/gcc/dist/libstdc++-v3/include/std/complex : 1.2
+descr
+       Our cabs and cabsf have a different argument format on some architectures
+       and for that we have created in libm/compat_cabs{,f}.c. The standard
+       versions in libc are __c99_cabs{,f,l} and there are __RENAME()'s in
+       <complex.h>. G++ uses __builtin_cabs{,f,l} to implement those and they
+       translate by default to cabs{,f,l} which gets defined to cabs{,f} (the
+       wrong function) and an undefined cabsl. I've changed <complex> to use
+       the __c99_cabs{,f,l} directly. Using the __builtin_cabs{,f,l} in gcc is
+       still broken.
+kcah
+
 port   vax
 
        hack    gcc4/vax ICE



Home | Main Index | Thread Index | Old Index