Gnu Toolchain/GLIBC/FAQ
Using GLIBC FAQ
Q: When compiling my application why do I get the following warning?
*** glibc detected *** /usr/local/bin/oprofiled: malloc(): memory corruption: 0x
A: Are you doing a malloc() between a fork() and an exec()? Don't! And this means don't call any functions which do a malloc() at this time.
GLIBC configure FAQ
Q: Why does glibc give me the following warning when configuring?
#error "glibc cannot be compiled without optimization
A: Read the explanation given by Carlos O'Donell and Ulrich Drepper. Then configure GLIBC with -O2 optimization.
Q: Why does glibc give me the following error when configuring?
*** It seems that you're using an old `crypt' add-on. crypt is now
*** part of glibc and using the old add-on will not work with this
*** release. Start again with fresh sources and without the old
*** `crypt' add-on.
A: Without an --enable-add-ons option, configure will search for subdirectories containing add-ons to enable by default. This search includes the outdated crypt add-on. Specify the add-ons you want to enable using the --enable-add-ons option.
GLIBC make check FAQ
Q: When I added the following test to the libm-test.inc file:
TEST_f_l (llround, 0x1.0000000000001p+52,4503599627370497LL);
and ran make check I got the following warning:
libm-test.c:4390: warning: overflow in implicit constant conversion
But when I made a test program using the exact same values I didn't get this warning. What's going on?
A: You're using the wrong TEST_ macro for the return type. You're telling the test framework that the return type is type 'long' when it is actually type 'long long'. Use TEST_f_L, e.g.
TEST_f_L (llround, 0x1.0000000000001p+52,4503599627370497LL);
Q: After I added a new test to the libm-tests Makefile variable the math testsuite tests are no longer being executed. What is happening?
A: If you added to the libm-tests Makefile variable like in the following example:
sysdeps/powerpc/math/Makefile: ifeq ($(subdir),math) libm-tests = test-powerpc-fenv endif
You NEED to make sure you aren't overwriting the variable, which is what happens when you use =, rather than appending to it with +=, e.g.:
sysdeps/powerpc/math/Makefile:
ifeq ($(subdir),math)
libm-tests += test-powerpc-fenv
endif