This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
test-tgmath2 cannot be compiled with low ram
- From: Renaud Marquet <rmarquet at gmail dot com>
- To: libc-help at sourceware dot org
- Date: Mon, 24 Nov 2008 20:12:27 +0100
- Subject: test-tgmath2 cannot be compiled with low ram
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:content-type :date:message-id:mime-version:x-mailer:content-transfer-encoding; bh=5OSsy7wP+3nYsBE2jcC5R1OYPkqeelHd79jH1M7/l/4=; b=UjqzJTDckFOz+kdY8TA5qYK/Ot0bq1ae82lj7eBJfTfM6XenWGHWP3XO4D2CR2YNd1 kv3kX6IMTvGbs5IDixXzA/s9AUwm88ajIQZePcz9CehGJ7cbL4YLGTd3xDqnPwXzY1C6 bEOD81tjQ5ZalBmHxkcRqL/+0XV6+l4z5ksyc=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:content-type:date:message-id:mime-version:x-mailer :content-transfer-encoding; b=ngNq3aOHDqGwYBhIfKqFmpN6frWJr3Ys3F+1bw2cfwiySeFsLrwfp37t6rKy/GFrt3 cLtCcmm40gGc2j+3vUPoZLe8C20UfH7MUt8EWa9WkXUwHXk7LS3/+35WDCaf9GHIjHtZ bXlUk3xOtl0/IlVoA8Vu0GIcFPHLTCaEQQytg=
Hi,
I'm compiling glibc (2.8-20080929) for playstation3 (PowerPC 64bits).
When compiling test-tgmath2.c, gcc uses all ram (256Mb) and about 3/4 of
swap during compilation and never seems to end (I waited more than 4
hours for that single file to compile, way more than the whole glibc
building time).
After checking a little bit it seems the problem is due to number of
testing macros in the source file. When disabling some of the last ones
(see patch below) compilation succeeds in about 1 minute. But it's not
related to these particular ones (I was able to compile it by disabling
other macros in the file).
--- /tmp/test-tgmath2.c.ori 2008-11-23 20:42:08.000000000 +0100
+++ /tmp/test-tgmath2.c 2008-11-23 20:42:05.000000000 +0100
@@ -314,18 +314,18 @@
BINARY_TEST (my_remquo, remquo);
#undef my_remquo
- BINARY_CTEST (pow, pow);
+/* BINARY_CTEST (pow, pow); */
/* Testing all arguments of fma would be just too expensive,
so test just some. */
#define my_fma(x, y) fma (x, y, vfloat3)
- BINARY_TEST (my_fma, fma);
+ BINARY_TEST (my_fma, fma);
#undef my_fma
#define my_fma(x, y) fma (x, vfloat3, y)
- BINARY_TEST (my_fma, fma);
+/* BINARY_TEST (my_fma, fma); */
#undef my_fma
#define my_fma(x, y) fma (Vfloat3, x, y)
- BINARY_TEST (my_fma, fma);
+/* BINARY_TEST (my_fma, fma); */
#undef my_fma
TEST (fma (vdouble1, Vdouble2, vllong3), double, fma);
TEST (fma (vint1, Vint2, vint3), double, fma);
Here are the build details:
configure command :
../glibc-2.8-20080929/configure --prefix=/usr --disable-profile
--enable-add-ons --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc
uname -a :
Linux localhost 2.6.23-ps3 #1 SMP Wed Dec 19 20:37:25 UTC 2007 ppc64
Cell Broadband Engine, altivec supported GNU/Linux
gcc version : 4.3.2
It's not really an issue for me anymore but I think it could help
someone else.
Maybe it could be useful to split this test file in two to avoid these
kind of problems.
Renaud