Hi, As the long-term GNU gettext maintainer, I would suggest to remove the intl/ directory from the GCC distribution.
The effect for the users would be: * On systems without glibc, users who want an internationalized GCC installation would have to install GNU gettext first. Then the GCC binaries would be linked with the shared library libintl.so (unless gettext was built with --disable-shared); they would no longer contain the libintl code in 'cc1', 'cc1plus', etc. * On systems with glibc, no change. The effect for the GCC maintainers would be: * Easier to stay up-to-date with upstream libintl. * Less maintenance work with *.m4 files such as codeset.m4 glibc21.m4 intdiv0.m4 inttypes_h.m4 inttypes.m4 inttypes-pri.m4 lcmessage.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 * Reduced risk of a CVE that would impact GCC binaries. Rationale: * This intl/ code is from 2003; of course several bugs have been fixed in it over the last 19 years. * At that time GNU packages were still favouring static libraries. GNU libtool became widely reliable only about in 2005. * Since then, distros have been favouring shared libraries over static libraries, in order to be able to fix CVEs without rebuilding many dependent binaries. * For this reason, GNU gettext removed the support for this way of packaging libintl in version 0.20 (May 2019). The NEWS entry said: - The --intl option of the gettextize program (deprecated since 2010) is no longer available. Instead of including the intl sources in your package, we suggest making the libintl library an optional prerequisite of your package. This will simplify the build system of your package. - Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well. This point came up while discussing with Eric Gallager, who is working on the GCC configury. I don't volunteer to implement this suggestion, but I can give advice where needed. Bruno