libgcc

This page provides a summary of discussions about the pros and cons of distributing libgcc as a shared library, as well as a static library. In addition, it details the plans regarding libgcc for the GCC 3.0 release.

Issues

Richard Henderson provided an excellent summary of the issues in a mail message posted to the GCC mailing lists. For maximum convenience, that message is paraphrased here:

Unfortunately, there are negative consequences as well:

Conclusions

There is no real choice. It must be possible for shared libraries built with different versions of libgcc to work together well. Therefore, a shared version of libgcc will be distributed with GCC 3.0.

However, all possible efforts should be made to minimize user impact. Therefore, system vendors should distribute libgcc as an easily upgradable package, just as they do with other libraries. The GCC development team should avoid making changes to libgcc wherever possible, especially when such changes affect external interfaces. And, at all costs, no changes should be made that remove functionality or entry points present in earlier versions of libgcc; doing so will require bumping the major version number on libgcc and will require shared library vendors to distribute new versions of their libraries.

A static version of libgcc will still be built, and should be used for statically linked programs. (The static version might also be usable for programs whose only dynamic linkage is to shared libraries that do not link against libgcc, such as the C library on a Solaris system, say.)

C library vendors should not make libgcc a part of the C library. Doing so will mean that using a new version of GCC, which requires a newer version of libgcc, but linking against the same C library, would be impossible. (Of course, if some kind of linker magic can be done so that the version of libgcc in the C library is disregarded in this case, then perhaps it would be reasonable to include libgcc in the C library.

The GNU C library project needs to be made aware of these conclusions, as they may need to take actions that facilitate this policy in new versions of the GNU C library.

For questions related to the use of GCC, please consult these web pages and the GCC manuals. If that fails, the gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer list at gcc@gcc.gnu.org. All of our lists have public archives.

Copyright (C) Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

These pages are maintained by the GCC team. Last modified 2026年07月21日.

AltStyle によって変換されたページ (->オリジナル) /