posix: Consolidate Linux glob implementation
commit116f1c64d8d84ecbf269ac70a35657aa057f26c3
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 4 Sep 2017 21:07:03 +0000 (4 18:07 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 8 Sep 2017 14:34:02 +0000 (8 16:34 +0200)
treead005b4e5147ae579495d8ec2e0b07358710b1e9
parentffca890177bbf0980b66bc3a6d4d25c481957348
posix: Consolidate Linux glob implementation

This patch consolidates the glob implementation.  The main changes are:

  * On Linux all implementation now uses the default one at
    sysdeps/unix/sysv/linux/glob{free}{64}.c with the exception
    of alpha (which requires specific versioning) and s390-32 (which
    different than other 32 bits ports it does not add a compat one
    symbol for 2.1 version).

  * The default implementation uses XSTAT_IS_XSTAT64 to define whether
    both glob{free} and glob{free}64 should be different implementations.
    For archictures that define XSTAT_IS_XSTAT64, glob{free} is an alias
    to glob{free}64.

  * Move i386 olddirent.h header to Linux default directory, since it is
    the only header with this name and it is shared among different
    architectures (and used on compat glob symbol as well).

Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py
for all major architectures.

* sysdeps/unix/sysv/linux/arm/glob64.c: Remove file.
* sysdeps/unix/sysv/linux/i386/glob64.c: Likewise.
* sysdeps/unix/sysv/linux/m68k/glob64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c: Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/glob64.c: Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/globfree64.c: Likewise.
* sysdeps/unix/sysv/linux/x86_64/x32/glob.c: Likewise.
* sysdeps/unix/sysv/linux/x86_64/x32/globfree.c: Likewise.
* sysdeps/wordsize-64/glob.c: Likewise.
* sysdeps/wordsize-64/glob64.c: Likewise.
* sysdeps/wordsize-64/globfree64.c: Likewise.
* sysdeps/unix/sysv/linux/glob.c: New file.
* sysdeps/unix/sysv/linux/glob64.c: Likewise.
* sysdeps/unix/sysv/linux/globfree.c: Likewise.
* sysdeps/unix/sysv/linux/globfree64.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/glob64.c: Likewise.
* sysdeps/unix/sysv/linux/oldglob.c [SHLIB_COMPAT]: Also
adds !GLOB_NO_OLD_VERSION as an extra condition.
* sysdeps/unix/sysv/linux/i386/alphasort64.c: Include olddirent.h
using relative path instead of absolute one.
* sysdeps/unix/sysv/linux/i386/getdents64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise.
* sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/olddirent.h: Move to ...
* sysdeps/unix/sysv/linux//olddirent.h: ... here.
27 files changed:
ChangeLog
sysdeps/unix/sysv/linux/arm/glob64.c [deleted file]
sysdeps/unix/sysv/linux/glob.c [copied from sysdeps/unix/sysv/linux/i386/getdents64.c with 56% similarity]
sysdeps/unix/sysv/linux/glob64.c [moved from sysdeps/unix/sysv/linux/i386/glob64.c with 57% similarity]
sysdeps/unix/sysv/linux/globfree.c [copied from sysdeps/unix/sysv/linux/i386/getdents64.c with 56% similarity]
sysdeps/unix/sysv/linux/globfree64.c [copied from sysdeps/unix/sysv/linux/i386/getdents64.c with 57% similarity]
sysdeps/unix/sysv/linux/i386/alphasort64.c
sysdeps/unix/sysv/linux/i386/getdents64.c
sysdeps/unix/sysv/linux/i386/readdir64.c
sysdeps/unix/sysv/linux/i386/readdir64_r.c
sysdeps/unix/sysv/linux/i386/versionsort64.c
sysdeps/unix/sysv/linux/m68k/glob64.c [deleted file]
sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c [deleted file]
sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c [deleted file]
sysdeps/unix/sysv/linux/olddirent.h [moved from sysdeps/unix/sysv/linux/i386/olddirent.h with 100% similarity]
sysdeps/unix/sysv/linux/oldglob.c
sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c [deleted file]
sysdeps/unix/sysv/linux/s390/s390-32/glob64.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c [deleted file]
sysdeps/unix/sysv/linux/wordsize-64/glob64.c [deleted file]
sysdeps/unix/sysv/linux/wordsize-64/globfree64.c [deleted file]
sysdeps/unix/sysv/linux/x86_64/x32/glob.c [deleted file]
sysdeps/unix/sysv/linux/x86_64/x32/globfree.c [deleted file]
sysdeps/wordsize-64/glob.c [deleted file]
sysdeps/wordsize-64/glob64.c [deleted file]
sysdeps/wordsize-64/globfree.c [deleted file]
sysdeps/wordsize-64/globfree64.c [deleted file]