patches/gcc/4.1.1/304-index_macro.patch
author |
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
|
Sun May 20 13:48:26 2007 +0000 (2007-05-20) |
changeset 112 |
ea15433daba0 |
permissions |
-rw-r--r-- |
Ah! I finally have a progress bar that doesn't stall the build!
- pipe size in Linux is only 8*512=4096 bytes
- pipe size is not setable
- when the feeding process spits out data faster than the eating
process can read it, then the feeding process stalls after 4KiB
of data sent to the pipe
- for us, the progress bar would spawn a sub-shell every line,
and the sub-shell would in turn spawn a 'date' command.
Which was sloooww as hell, and would cause some kind of a
starvation: the pipe was full most of the time, and the
feeding process was stalled all this time.
Now, we use internal variables and a little hack based onan offset
to determine the elapsed time. Much faster this way, but still
CPU-intensive.
yann@1
|
1 |
--- gcc-4.1.0/libstdc++-v3/include/ext/rope.mps 2006-03-24 01:49:51 +0100
|
yann@1
|
2 |
+++ gcc-4.1.0/libstdc++-v3/include/ext/rope 2006-03-24 01:49:37 +0100
|
yann@1
|
3 |
@@ -59,6 +59,9 @@
|
yann@1
|
4 |
#include <bits/allocator.h>
|
yann@1
|
5 |
#include <ext/hash_fun.h>
|
yann@1
|
6 |
|
yann@1
|
7 |
+/* cope w/ index defined as macro, SuSv3 proposal */
|
yann@1
|
8 |
+#undef index
|
yann@1
|
9 |
+
|
yann@1
|
10 |
# ifdef __GC
|
yann@1
|
11 |
# define __GC_CONST const
|
yann@1
|
12 |
# else
|
yann@1
|
13 |
--- gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h.mps 2006-03-24 01:50:04 +0100
|
yann@1
|
14 |
+++ gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h 2006-03-24 01:50:28 +0100
|
yann@1
|
15 |
@@ -53,6 +53,9 @@
|
yann@1
|
16 |
#include <ext/memory> // For uninitialized_copy_n
|
yann@1
|
17 |
#include <ext/numeric> // For power
|
yann@1
|
18 |
|
yann@1
|
19 |
+/* cope w/ index defined as macro, SuSv3 proposal */
|
yann@1
|
20 |
+#undef index
|
yann@1
|
21 |
+
|
yann@1
|
22 |
namespace __gnu_cxx
|
yann@1
|
23 |
{
|
yann@1
|
24 |
using std::size_t;
|