This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 3.0 Release Criteria
>>>>> "Chip" == Chip Salzenberg <chip@valinux.com> writes:
Chip> According to Joerg Faschingbauer:
>> The reason why I am asking is that the --enable-shared of current
>> releases (making libstdc++ a shared library) is mostly useless for
>> serious development. Releasing my programs, I cannot expect libstdc++
>> - generated with the same compiler version that I use to build with -
>> be present at the customer's site.
Chip> Straw man, I think. If by "serious" you mean "targeting unknown
Chip> systems", then you probably want to link with static libc also, yes?
Don't tell me this!
- First, usually every system - even unknown - has a libc installed
somewhere around (which tries to be bincompatible as far as possible
- but read on). This is not generally the case with libstdc++, is
it? Solution: libstdc++.a.
- Second, from what I heard - correct me if I'm wrong - you must build
libstdc++ with the same compiler you use to build your program
with. So, when I build my program with gcc 2.95.2 and deliver it to
an "unknown" system which happens to have a egcs-1.0.3-built
libstdc++.so, there's no guarantee that it works. Solution:
libstdc++.a.
- Third (no joke), because of an incompatibility (I assume in libio)
introduced somewhere between glibc 2.0.6 and 2.1.<dunno>, the
programs linked statically against the libstdc++.a (which was built
against glibc 2.0.6) failed running on a 2.1.<dunno> system. Of
course, employing libstdc++.so would have solved this, but
unfortunately there's the second point above. Solution: link libc
static. (Mad laughter here!)
That's how we deliver current releases. I'm confident that, for future
releases, we can require customers to have a glibc 2.1 system,
assuming things to settle and stabilize. We would then take the
dynamic libc, but still the static libstdc++ unless convinced
otherwise.
Understand my point? And why I complain when I hear about libgcc
becoming shared? (Don't say you don't please!)
Joerg