This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/55695] New: Miscompilation of pow() & sqrt() using musl libc


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55695

             Bug #: 55695
           Summary: Miscompilation of pow() & sqrt() using musl libc
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: ojab@ojab.ru


Created attachment 28966
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28966
Preprocessed source

I'm trying to build spandsp using musl libc and found that sqrt() & pow()
compilation is broken when using <tgmath.h> with gcc-4.8, but no errors with
gcc-4.2.4.
Preprocessed source are the same using both gcc versions (can be found in the
attached file).
According to the one of the musl developers, it can be related to the "tgmath
__RETCAST magic" http://www.openwall.com/lists/musl/2012/12/14/6
musl's tgmath.h source can be found at
http://git.musl-libc.org/cgit/musl/tree/include/tgmath.h

/bin/sh ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. 
-I/usr/include/libxml2 -DNDEBUG -msse2 -Wunused-but-set-variable -std=gnu99
-ffast-math -Wall -Wunused-variable -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -fvisibility=hidden -DHAVE_VISIBILITY=1  -pedantic -MT
awgn.lo -MD -MP -MF .deps/awgn.Tpo -c -o awgn.lo awgn.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -DNDEBUG
-msse2 -Wunused-but-set-variable -std=gnu99 -ffast-math -Wall -Wunused-variable
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden
-DHAVE_VISIBILITY=1 -pedantic -MT awgn.lo -MD -MP -MF .deps/awgn.Tpo -c awgn.c 
-fPIC -DPIC -o .libs/awgn.o
awgn.c: In function 'awgn_init_dbov':
awgn.c:109:5: error: void value not ignored as it ought to be
     s->rms = pow(10.0, level/20.0)*32768.0;
     ^
awgn.c: In function 'awgn':
awgn.c:165:9: error: void value not ignored as it ought to be
         fac = sqrt(-2.0*log(r)/r);
         ^
awgn.c:165:9: error: void value not ignored as it ought to be
awgn.c:165:9: error: void value not ignored as it ought to be
awgn.c:165:9: error: void value not ignored as it ought to be



Please tell me if any other info is needed.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]