public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Eric Gallager <egall@gwmail.gwu.edu>
To: Bruno Haible <bruno@clisp.org>
Cc: GCC Development <gcc@gcc.gnu.org>
Subject: Re: remove intl/ directory?
Date: Mon, 20 Jun 2022 15:45:56 -0400	[thread overview]
Message-ID: <CAMfHzOsJ6AyBVPGQ2FSWOW5BiOJn_b+8bsSxMY6-z6PWCQb2kA@mail.gmail.com> (raw)
In-Reply-To: <32334822.2dzg3u6YtW@omega>

On Sat, Jun 18, 2022 at 1:01 PM Bruno Haible <bruno@clisp.org> 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
>

  parent reply	other threads:[~2022-06-20 19:46 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-18 17:01 Bruno Haible
2022-06-18 17:42 ` Iain Sandoe
2022-06-18 18:14   ` David Edelsohn
2022-06-19  0:53     ` Bruno Haible
2022-06-19  0:32   ` Bruno Haible
2022-06-19  8:40     ` Iain Sandoe
2022-06-19 20:15       ` Iain Sandoe
2022-06-21  2:05         ` Bruno Haible
2022-06-22 20:21           ` Iain Sandoe
2022-06-23  4:24             ` Bruno Haible
2022-06-23  6:51               ` Iain Sandoe
2022-06-23 15:40                 ` Iain Sandoe
2022-06-23 15:50                   ` Iain Sandoe
2022-06-23 15:13               ` Eric Gallager
2022-06-20 19:45 ` Eric Gallager [this message]
2022-06-21  2:09   ` Bruno Haible

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMfHzOsJ6AyBVPGQ2FSWOW5BiOJn_b+8bsSxMY6-z6PWCQb2kA@mail.gmail.com \
    --to=egall@gwmail.gwu.edu \
    --cc=bruno@clisp.org \
    --cc=gcc@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).