On Wed, 16 Mar 2005, Ralf Wildenhues wrote:
* Richard B. Kreckel wrote on Tue, Mar 15, 2005 at 10:07:10PM CET:
On Tue, 15 Mar 2005, Ralf Wildenhues wrote: [...]
Please try the trivial patch below. Still, Richard please consider updating libtool.
As to updateing libtool. Last time I tried (maybe two years ago) it turned out to be kinda nightmarish. IIRC, it tried to link the shared library with ld -r and there appeared to be a superlinear algorithm somewhere. I interrupted it after some hours when it had ony finished several hundred of the 855 objects.
For a decent bugreport this is missing
It wasn't meant to be a bugreport. It was an attempt to avoid work. :-)
- the system this was observed on
x86 Debian GNU/Linux testing.
- `configure' output, esp. | checking the maximum length of command line arguments...
Huh, why's that of interest? Anyway, it's 32768. But you know already.
- the exact Libtool version used.
Sorry, not sure. It must have been between 1.5.1 and 1.5.4, though.
Most likely the superlinearity is due to the linker, not to Libtool.
I remember that this was my impression, too: some worse-than-O(1) behavior in ld -i made the loop over src/*.o superlinear.
If there were a strong argument for trying better link schemes on systems where they are available, that option might be considered. But I have to see them yet.
I've no strong inclination to try again, after all since I'm still working on the cl_heap_modint_ring problem. Of course, if someone else wants to give it a try and it works well, I'll apply patches.
Well. A couple of months ago I put some patches into the HEAD version of Libtool to make it link libcln.la more efficiently.
What are these patches doing?
I did not work on the piecewise linking part, because that did not happen to me. For the shell (libtool script execution) part, I did, however, cut the time down to about 30% of the time libtool-1.5.x takes.
Anyway, back to your original suggestion to upgrade libtool: To which version? 1.5.14? I had completely forgotten that Bruno has already upgraded libtool to version 1.5.6 and the problem with piecewise linking I had experienced earlier seems to have gone. And as to the modifications in CLN's libtool, there appears to be only one patch for the Comeau compiler: --- libtool-1.5.6/libtool.m4 2004-04-02 05:46:14.000000000 +0200 +++ /home/rbk/projects/cln/m4/libtool.m4 2004-08-25 14:13:10.000000000 +0200 @@ -4901,6 +4901,9 @@ # All Alpha code is PIC. _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; + como) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-lopt=' + ;; esac ;; Why not include it upstream? -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>