From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_PASS, SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id C335D1F5AE for ; Fri, 24 Jul 2020 19:41:56 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4ADA73857C47; Fri, 24 Jul 2020 19:41:55 +0000 (GMT) Received: from mx0b-00364e01.pphosted.com (mx0b-00364e01.pphosted.com [148.163.139.74]) by sourceware.org (Postfix) with ESMTPS id 87AAF3858D38 for ; Fri, 24 Jul 2020 19:41:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 87AAF3858D38 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=columbia.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=fd1@columbia.edu Received: from pps.filterd (m0167077.ppops.net [127.0.0.1]) by mx0b-00364e01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 06OJURXg027328 for ; Fri, 24 Jul 2020 15:41:51 -0400 Received: from sendprodmail10.cc.columbia.edu (sendprodmail10.cc.columbia.edu [128.59.72.18]) by mx0b-00364e01.pphosted.com with ESMTP id 32btntwqc0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 24 Jul 2020 15:41:51 -0400 Received: from mail-io1-f70.google.com (mail-io1-f70.google.com [209.85.166.70]) by sendprodmail10.cc.columbia.edu (8.14.4/8.14.4) with ESMTP id 06OJfoxg042479 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 24 Jul 2020 15:41:50 -0400 Received: by mail-io1-f70.google.com with SMTP id 63so6923810ioy.4 for ; Fri, 24 Jul 2020 12:41:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rqSizaaK6YQFroulv5u8atl/36COmVjIUhrwfTk8sLU=; b=lWDTfmv60jlakQo52zyZIFi09mb9t2szBmemJatORF6GEX4lT/xPTBPgOcZ4v3e/Dn PTlUl7dXy5z6NqIpCsR9LtwBxhoFp3wvZls0gUmvYOqKZU3CYuAq5z2D0r+REofzUetU 2HPLX/ScWkYsKA1s5rJzBC/+jdx0ZLtnsFWDd7iv0K7EJFPW6WjWPrZ854yT1cOlEpz0 Vxk7eRRry5QVSYHYLOdj/yBmsHIUONZCSGeUqRBChnZ3O3Y4zvoNyQiKTjcxC7i8mNQP SWIHKMGKdRNj1b9RphFls9G6J1oTVPz8zc8e+J4fSg//158kZwXbtu0gAcjar5zCxt9A UaTQ== X-Gm-Message-State: AOAM530shhuV0ByVNPUsW3NumU9lEwskJvrNG9MoYvxKeeuvJeQodLdw rMHWpPOal0YO9gm8lPcK9/pcmXudR4zlZE2R4Ix7oM/wDgOtkm9WsPpUuwIqhNqHMLAZDlxrcDy AapRUfCB+mnBl5tSiX5/9stF6twZ7HznYQKmfd5HT/PUJ X-Received: by 2002:a92:c0c4:: with SMTP id t4mr11578165ilf.211.1595619709834; Fri, 24 Jul 2020 12:41:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxPK+WieTYKHrWAPAJEcNZBFzf3Z4s4Yvlas5Bg1XjUnW5Nu88mzeyM3J/nrUVEfrdYAXbVum7b11jpiLWjFG8= X-Received: by 2002:a92:c0c4:: with SMTP id t4mr11578140ilf.211.1595619709481; Fri, 24 Jul 2020 12:41:49 -0700 (PDT) MIME-Version: 1.0 References: <10CAD3CD-0170-4182-A920-EE825EBAF6B0@rmrco.com> <95d9170b-d925-5037-c841-e1fd17bb680f@cs.ucla.edu> In-Reply-To: <95d9170b-d925-5037-c841-e1fd17bb680f@cs.ucla.edu> From: Frank da Cruz Date: Fri, 24 Jul 2020 15:41:37 -0400 Message-ID: Subject: Re: C-kermit fails To: Paul Eggert X-CU-OB: Yes X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-07-24_08:2020-07-24, 2020-07-24 signatures=0 X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Liam Stitt , Frank da Cruz , Mike , GNU C Library Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" 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 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. >