Re: [i386] Why g++ _always_ link an executable with libm.so?
Denis Zaitsev <[email protected]> Wed, 5 Jan 2005 03:59:15 +0500
| Newsgroups | org.kernel.vger.linux-gcc |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Jan 04, 2005 at 11:30:05PM +0100, Gabriel Dos Reis wrote: > Denis Zaitsev <[email protected]> writes: > | > | a) why g++ assumes that libstdc++ is always needed? > > Because that is the way it is designed. If you don't want libstdc++, > say -nostdlib as explained in our documentation. This doesn't work out of the box... But yes, it can be a solution, thanks. > | b) why is libm _always_ needed by libstdc++? > > Because libstdc++ needs the mathematical functions. > > | It's rather strange. > > I guess it is a matter of perspective. From my part, requiring users > to explicitly supply -lm is a bug. Simply because the mathematical > functions are part of the standard library; we do not require users to > say -lstr when they use strcpy() and friend; we do not require users > to say -lstdio when they use fprintf() and friends. YMMV. Ok, but do we force users to use libm every time libc is used? No, we don't. Of course, we don't. And I emphasised the word 'always': not _every_ routine from libstdc++ need libm, but it always required... Anyway, could anybody say, where in sources these NEEDED libraries come from? If I was going to patch this just for my installations...