public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Iain Sandoe <idsandoe@googlemail.com>
To: Bruno Haible <bruno@clisp.org>
Cc: GCC Development <gcc@gcc.gnu.org>
Subject: Re: remove intl/ directory?
Date: Sat, 18 Jun 2022 18:42:42 +0100	[thread overview]
Message-ID: <2F423461-3AF4-4BA9-95D8-EC53B49B43A2@googlemail.com> (raw)
In-Reply-To: <32334822.2dzg3u6YtW@omega>

Hi Bruno,

> On 18 Jun 2022, at 18:01, Bruno Haible <bruno@clisp.org> wrote:

> 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.

As a maintainer for GCC on a non-glibc system, I would:

 (a) welcome a more modern version of intl, wih the bug-fixes etc.
 (b) not want to [force] add a shared lib dependency for my downstream.

- so, please could we follow the pattern for GMP et. al. where the library
can be provided with —with-intl= pointing to an installation, or be built in-
tree by symlinking an approved version into the GCC tree.

For such [non-glibs] systems where these libraries are not ’normally’
installed, it is still very much preferable to be able to statically link them
so that a compiler can be distributed with no deps other than those
provided by the OS (and we can test what we ship and ship what we test).

thanks,
Iain


>  * 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
> 
> 
> 


  reply	other threads:[~2022-06-18 17:42 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 [this message]
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
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=2F423461-3AF4-4BA9-95D8-EC53B49B43A2@googlemail.com \
    --to=idsandoe@googlemail.com \
    --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).