unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Frank da Cruz <fdc@columbia.edu>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: Liam Stitt <stittl@cuug.ab.ca>, Frank da Cruz <fdc@columbia.edu>,
	Mike <michael@rmrco.com>,
	GNU C Library <libc-alpha@sourceware.org>
Subject: Re: C-kermit fails
Date: Fri, 24 Jul 2020 15:41:37 -0400	[thread overview]
Message-ID: <CAKqtx99o_Rh1UHN=TZ12czdys=OqJQhhjN_+E4X1w4kgrVamTA@mail.gmail.com> (raw)
In-Reply-To: <95d9170b-d925-5037-c841-e1fd17bb680f@cs.ucla.edu>

Somebody else sent a simpler patch, you can see it here:

http://kermitproject.org/ckglibc228.diff

Ever since yesterday I've had mail coming in from people who reported that
different Linux distributors (e.g. Debian, Ubuntu) had dropped C-Kermit
from their packages collection.  They were surprised when apt-get said,
nope, we don't have that.  In some cases, these people are in a big rush
because of some emergency or deadline.  So casually removing something from
your header files is kind of like a COVID-19 virus, it strikes a few people
at first and then starts multiplying, affecting end-users and developers
alike.  The cardinal rule for OS developers was once "maintain backwards
compatibility" or more simply stated, "do no harm".  I've been a programmer
since 1965 if you can believe it, and have watched helplessly as this rule
started being thrown out the window starting around 1990.

I just put up a new C-Kermit version that has a simpler patch, please let
me know if you see a problem with it; it was sent to me by someone else; at
present I don't have access to anything but Red Hat and NetBSD:

http://kermitproject.org/ckglibc228.diff

I'm going to be forced to turn this into a real release ASAP, long before I
was planning to, and I would hope that the Linux packagers who tossed
C-Kermit will put it back once this settles down (and better still, that
they contact me when they find out about a problem).  You have only heard
about C-Kermit so far, but how do you know other applications won't be
affected?  It's better to leave things in, especially in libc.  If we can't
depend on libc, what's the use in even trying to write stable software?

Anyway another problem with your patch is, believe or not, C-Kermit is
written to be buildable on platforms going back to the 1970s (Bell Research
Unix V8) and 80s (HP-UX 5.0) so compound #if statements can't be used.

I'd encourage you to put the missing symbol (and code supporting it) back
in glibc and be more careful about removing things that "nobody uses" or
"nobody *should* use".  But since the new glibc is already out in the wild,
I'll still have to support the systems that have the missing symbol from
now on, just like I still support dentists' offices that have ancient
versions of SCO Xenix.

- Frank

On Fri, Jul 24, 2020 at 2:47 PM Paul Eggert <eggert@cs.ucla.edu> wrote:

> On 7/24/20 10:36 AM, Zack Weinberg wrote:
> > The symbol that was removed (_IO_file_flags) was never a documented
> > part of the stdio interface.
>
> True, though lots of programs want to know about stdio readahead and it's
> unfortunate that glibc and other C libraries don't provide a documented
> way to
> get it.
>
> We have a Gnulib module for discovering stdio readahead. As seen here:
>
> https://git.savannah.gnu.org/cgit/gnulib.git/tree/lib/freadahead.c#n36
>
> Gnulib uses the guard "#if defined _IO_EOF_SEEN || defined
> _IO_ftrylockfile ||
> __GNU_LIBRARY__ == 1" to be as portable as possible to various glibc-like
> libraries, so I suggest the attached minimal patch to C-Kermit.
>

  reply	other threads:[~2020-07-24 19:41 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-24 16:29 C-kermit fails Mike
2020-07-24 16:33 ` Florian Weimer
2020-07-24 17:36 ` Zack Weinberg
2020-07-24 18:47   ` Paul Eggert
2020-07-24 19:41     ` Frank da Cruz [this message]
2020-07-24 19:45       ` Frank da Cruz
2020-07-24 20:05       ` Zack Weinberg
2020-07-27  8:10         ` Florian Weimer via Libc-alpha
2020-07-24 21:07       ` Paul Eggert
2020-07-24 23:45         ` Frank da Cruz
2020-07-25  1:59           ` Paul Eggert
2020-07-31 12:41           ` Maciej W. Rozycki
2020-07-31 18:22             ` Frank da Cruz
2020-07-31 20:23               ` Paul Eggert
2020-08-01  0:17                 ` Frank da Cruz
2020-08-01  8:07                   ` Paul Eggert

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

  List information: https://www.gnu.org/software/libc/involved.html

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

  git send-email \
    --in-reply-to='CAKqtx99o_Rh1UHN=TZ12czdys=OqJQhhjN_+E4X1w4kgrVamTA@mail.gmail.com' \
    --to=fdc@columbia.edu \
    --cc=eggert@cs.ucla.edu \
    --cc=libc-alpha@sourceware.org \
    --cc=michael@rmrco.com \
    --cc=stittl@cuug.ab.ca \
    /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).