Module Name: src Committed By: christos Date: Mon Jan 11 22:50:35 UTC 2016
Modified Files: src/doc: HACKS Log Message: Add hack for cabs{,f,l} in <complex> To generate a diff of this commit: cvs rdiff -u -r1.162 -r1.163 src/doc/HACKS Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/doc/HACKS diff -u src/doc/HACKS:1.162 src/doc/HACKS:1.163 --- src/doc/HACKS:1.162 Thu Aug 27 08:32:05 2015 +++ src/doc/HACKS Mon Jan 11 17:50:35 2016 @@ -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 @@ descr 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