This is the mail archive of the libc-help@sourceware.org mailing list for the glibc 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]

test-tgmath2 cannot be compiled with low ram


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


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