From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25701 invoked by alias); 17 Sep 2017 07:16:53 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 24707 invoked by uid 89); 17 Sep 2017 07:16:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-spam-relays-external:sk:zimbra., H*RU:sk:zimbra., HX-HELO:sk:zimbra., they'd X-HELO: zimbra.cs.ucla.edu Subject: Re: [PATCH 3/9] posix: Allow glob to match dangling symlinks [BZ #866] To: Florian Weimer , Adhemerval Zanella , Zack Weinberg Cc: Joseph Myers , Andreas Schwab , GNU C Library References: <1504643122-14874-1-git-send-email-adhemerval.zanella@linaro.org> <1504643122-14874-4-git-send-email-adhemerval.zanella@linaro.org> <878thop5fa.fsf@linux-m68k.org> <9455e298-8c48-c42a-0ec3-ffb8d166c69b@linaro.org> <450d2eab-f21a-f90c-6210-ea638787e339@cs.ucla.edu> <403decc7-e039-9be1-fb44-25d611540156@linaro.org> <7bf58b8a-afc9-b934-9a4a-1616e71c03ff@cs.ucla.edu> <805e4d8a-de63-5253-e214-b3912ed221e3@cs.ucla.edu> <30b5f782-8fb0-5b38-3b4c-6ebf435bc91c@linaro.org> <95745cd2-0033-8a3c-92af-879c24d0d396@cs.ucla.edu> From: Paul Eggert Message-ID: <74d2ab7c-d6e1-10ff-a254-498438c999fe@cs.ucla.edu> Date: Sun, 17 Sep 2017 07:16:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2017-09/txt/msg00665.txt.bz2 Florian Weimer wrote: > If the BSDs are currently source-code-compatible, why doesn't GNU make fail > there already? Because GNU make never uses BSD glob. GNU make's 'configure' script checks that _GNU_GLOB_INTERFACE_VERSION equals 1, and if not it compiles and uses its own glob implementation (copied from an old version of glibc). If glibc changed _GNU_GLOB_INTERFACE_VERSION to 2, old versions of GNU make would start rejecting new versions of glibc, and so would build and run OK because they'd use their old copy of glob. The comment in gnu-versions.h says that if we change _GNU_GLOB_INTERFACE_VERSION then we must change the libc.so major version, but this rule seems arbitrary. Suppose we ignore the gnu-versions.h comment and update _GNU_GLOB_INTERFACE_VERSION to 2 without changing libc.so's major version. Wouldn't this fix the compatibility problem with GNU Make?