On Sat, Jun 18, 2022 at 1:01 PM Bruno Haible <[email protected]> wrote: > > 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. >
Hi, just for some additional context for anyone reading from the archives, but this conversation came out of autoconf sr #110324: https://savannah.gnu.org/support/?110324 My work can be seen in the refs/users/egallager/heads/autotools-tinkering branch, which I'm also mirroring on GitHub here: https://github.com/cooljeanius/gcc/tree/me/autotools-tinkering The latest pending patch I've submitted from this branch is here: https://gcc.gnu.org/pipermail/gcc-patches/2022-June/596654.html As for the underlying topic of this thread, personally I see removing the intl/ subdirectory as just one possible solution to the issue of its autoconf macros being outdated, the other would be to fix autoupdate so that it can handle things properly, but I can see how that would be harder. Whichever solution turns out to be the simplest for everyone involved will be the one I'll support. Thanks, Eric > I don't volunteer to implement this suggestion, but I can give advice where > needed. > > Bruno >
