[PATCH 3/9] posix: Allow glob to match dangling symlinks [BZ #866]

Paul Eggert eggert@cs.ucla.edu
Sun Sep 17 07:16:00 GMT 2017


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?



More information about the Libc-alpha mailing list