This patch consolidates both alphasort{64} and versionsort{64}
implementation on just the default dirent/alphasort{64}c and
dirent/versionsort{64} respectively. It changes the logic
to follow the conventions used on other code consolidation:
* the non-LFS variant is only built for _DIRENT_MATCHES_DIRENT64 being 0.
* the LFS variant is always built and aliased to getdents for ABIs
that define _DIRENT_MATCHES_DIRENT64 to 1.
Also on Linux the compat symbol for old non-LFS dirent64 definition
requires a platform-specific scandir64.c. For powerpc32 and sparcv9
it requires to add specific arch-implementation to override the
generic Linux one because neither ABI exports an compat symbol for
non-LFS alphasort64 and versionsort64 variant. It is most likely a
bug and it is also not one that can be fixed (in that there would be
existing binaries expecting both meanings of that symbol at its single
existing version, with binaries expecting the new meaning probably much
more common than those expecting the original meaning of that symbol at
that version).
Checked on aarch64-linux-gnu, x86_64-linux-gnu, i686-linux-gnu,
sparcv9-linux-gnu, sparc64-linux-gnu, powerpc-linux-gnu, and
powerpc64le-linux-gnu.
* dirent/alphasort.c (alphasort): Build iff _DIRENT_MATCHES_DIRENT64 is
defined.
* dirent/versionsort.c (versionsort): Likewise.
* dirent/alphasort64.c (alphasort64): Build regardless and alias to
alphasort if _DIRENT_MATCHES_DIRENT64 is defined.
* dirent/versionsort64.c (versionsort64): Likewise.
* sysdeps/unix/sysv/linux/i386/alphasort64.c: Remove file.
* sysdeps/unix/sysv/linux/arm/alphasort64.c: Likewise.
* sysdeps/unix/sysv/linux/arm/versionsort64.c: Likewise.
* sysdeps/unix/sysv/linux/m68k/alphasort64.c: Likewise.
* sysdeps/unix/sysv/linux/m68k/versionsort64.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/alphasort64.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/versionsort64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise.
* sysdeps/unix/sysv/linux/alphasort64.c: New file.
* sysdeps/unix/sysv/linux/versionsort64.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/alphasort64.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/versionsort64.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/alphasort64.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/versionsort64.c: Likewise.
This patch defines _DIRENT_MATCHES_DIRENT64 to either 0 or 1 and adjust its
usage from checking its definition to its value.
Checked on a build for major Linux abis.
* bits/dirent.h (__INO_T_MATCHES_INO64_T): Define regardless whether
__INO_T_MATCHES_INO64_T is defined.
* sysdeps/unix/sysv/linux/bits/dirent.h: Likewise.
* dirent/alphasort.c: Check _DIRENT_MATCHES_DIRENT64 value instead
of definition.
* dirent/alphasort64.c: Likewise.
* dirent/scandir.c: Likewise.
* dirent/scandir64-tail.c: Likewise.
* dirent/scandir64.c: Likewise.
* dirent/scandirat.c: Likewise.
* dirent/scandirat64.c: Likewise.
* dirent/versionsort.c: Likewise.
* dirent/versionsort64.c: Likewise.
* include/dirent.h: Likewise.
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
1998-03-20 11:58 Ulrich Drepper <drepper@cygnus.com>
* dirent/Makefile (routines): Add scandir64, alphasort64, and
versionsort64.
* dirent/alphasort64.c: New file.
* dirent/scandir64.c: New file.
* dirent/versionsort64.c: New file.
* dirent/dirent.h: Add LFS support for scandir, alphasort, and
versionsort.
* sysdeps/generic/readdir64.c: Rename to __readdir64 and make
old name weak alias.
* sysdeps/unix/sysv/linux/readdir64.c: Likewise.
* dirent/alphasort.c: Use strcoll instead of strcmp.
* dirent/scandir.c: Optimize a bit.
* dirent/versionsort.c: Pretty print.
1998-03-20 Ulrich Drepper <drepper@cygnus.com>
* string/string.h: Add prototype for __strtok_r.
1997-05-21 02:49 Ulrich Drepper <drepper@cygnus.com>
* gnu-versions.h (_GNU_OBSTACK_INTERFACE_VERSION): Set to 2 since
interface was changed with addition of _obstack_memory_used.
Suggested by Ian Taylor <ian@cygnus.com>.
* malloc/obstack.c: Include <config.h>. Include <stdlib.h> only
if __GNU_LIBRARY__ or HAVE_STDLIB_H is defined.
Reported by Ian Taylor <ian@cygnus.com>.
* dirent/Makefile (routines): Add versionsort.
* dirent/dirent.h: Add prototype for versionsort.
* dirent/versionsort.c: New file.
* manual/filesys.texi: Add documentation for versionsort.
* manual/string.texi: Add documentation for strverscmp.
* string/Makefile (routines): Add strverscmp.
(tests): Add tst-svc.
* string/string.h: Add prototype for strverscmp.
* string/strverscmp.c: New file.
* string/tst-svc.c: New file. Test for strverscmp.
* string/tst-svc.input: New file. Input data for tst-svc.
* string/tst-svc.expect: New file. Expected out from tst-svc.
* math/Makefile (calls): Add s_signbit.
* po/sv.po: Update.
* resolv/nss_dns/dns-host.c: Add casts to prevent warnings.
* sunrpc/pmap_rmt.c: Likewise.
* string/basename.c: Don't use ISO C definition style.
Include <config.h> is HAVE_CONFIG_H is defined.
* sunrpc/proto.h: Add `const' wherever possible.
* sunrpc/rpc_cout.c: Likewise.
* sunrpc/rpc_svcout.c: Likewise.
* sunrpc/xdr_mem.c: Likewise.
* sunrpc/xdr_rec.c: Likewise.
* sunrpc/xdr_stdio.c: Likewise.
* sunrpc/rpc_parse.c: Delete comma from end of enum definition.
* sunrpc/xdr.c: Little code cleanups.
* sunrpc/xdr_flaot.c: Likewise.
Patches by Matthew Wilcox <matthew.wilcox@chbs.mhs.ciba.com>.
* sysdeps/i386/fpu/__math.h (__finite): Fix typo.
* sysdeps/unix/sysv/linux/shmdt.c: Add cast to prevent warning.
* time/europe: Update from tzdata1997f.
* time/zic.c: Update from tzcode1997e.
1997-05-20 19:20 Miguel de Icaza <miguel@athena.nuclecu.unam.mx>
* sysdeps/sparc/setjmp.S: Flush windows.
Bug found by Richard Henderson.
1997-05-19 12:54 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Rewritten as to fit the specs.
1997-05-19 18:41 Thorsten Kukuk <kukuk@uni-paderborn.de>
* nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_parse_spent): Use
atol instead of atoi.
1997-05-18 00:22 Philip Blundell <pjb27@cam.ac.uk>
* inet/Makefile (routines): Add if_index.
* sysdeps/unix/sysv/linux/if_index.c: New file.
* sysdeps/stub/if_index.c: New file.
* sysdeps/unix/sysv/linux/net/if.h: Add prototypes for routines in
if_index.c (required by IPv6 basic API).
* sysdeps/unix/sysv/linux/netinet/in.h: Add struct ipv6_pktinfo.
1997-05-17 23:29 Philip Blundell <pjb27@cam.ac.uk>
* sysdeps/unix/sysv/linux/netinet/in.h: Update IPv6 definitions
for new advanced API draft.
1997-05-13 21:33 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdio-common/printf_fp.c: Only use the field width for deciding
on padding when printing special values.
* stdio-common/printf_fphex.c: Likewise.
1997-05-15 13:14 Miles Bader <miles@gnu.ai.mit.edu>
Changes by Thomas Bushnell <thomas@gnu.ai.mit.edu>:
* hurd/hurdauth.c (_S_msg_add_auth): Implement correctly.
1997-05-12 14:50 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* hurd/hurdsig.c (_hurdsig_init): Double size of sigthread stack;
msg_add_auth was overflowing it.
1997-05-12 21:20 Richard Henderson <rth@tamu.edu>
* elf/dl-lookup.c (_dl_lookup_symbol_skip): Call _dl_signal_error
when we can't find the symbol.
1997-05-12 16:54 Ulrich Drepper <drepper@cygnus.com>
* posix/regex.c: Fix handling of 32-bit Windog environments.
Patch by Arnold Robbins <arnold@skeeve.atl.ga.us>.
1997-05-10 23:26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/syscalls.list: Add cacheflush.
1997-05-10 11:40 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/ldd.bash.in: Remove spurious quote character from version
message.
1997-05-10 08:49 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* locale/programs/locale.c (write_charmaps): Don't get stuck in a
loop if the file ends in a long line without newline.
* locale/programs/charmap.c (charmap_read): Likewise.
1997-05-12 03:47 Ulrich Drepper <drepper@cygnus.com>
* sunrpc/rpc/xdr.h: Include more headers to be self-contained.
* sunrpc/rpc/svc_auth.h: Likewise.
* sunrpc/rpc/svc.h: Likewise.
* sunrpc/rpc/rpc_msg.h: Likewise.
* sunrpc/rpc/pmap_rmt.h: Likewise.
* sunrpc/rpc/pmap_clnt.h: Likewise.
* sunrpc/rpc/clnt.h: Likewise.
* sunrpc/rpc/auth_unix.h: Likewise.
* sysdeps/generic/rpc/auth.h: Likewise.
Patches by Michael Deutschmann <ldeutsch@mail.netshop.net>.
1997-05-11 15:29 Philip Blundell <pjb27@cam.ac.uk>
* sysdeps/stub/sigaction.c (__sigaction): Correct typo.
* sysdeps/standalone/arm/errnos.h: New file.
* sysdeps/stub/sys/param.h: Add dummy definition of MAXSYMLINKS.
* sysdeps/unix/arm/fork.S: New file.
* sysdeps/unix/sysv/linux/arm/sysdep.h: New file.
* sysdeps/stub/tempname.c (__stdio_gen_tempname): Add missing
`streamptr' argument.
* sysdeps/stub/vdprintf.c: Remove second copy of file (!), include
<stdarg.h> to get va_list defined, return 0 not NULL.
* sysdeps/unix/sysv/linux/statfsbuf.h: Include <gnu/types.h>.
* sysdeps/unix/sysv/linux/arm/syscall.S: New file.
* sysdeps/stub/direntry.h (struct dirent): Add missing ';'.
* sysdeps/stub/seekdir.c (seekdir): Likewise.
* sysdeps/stub/dirfd.c (dirfd): Argument dirp is DIR*, not FILE*.
* sysdeps/standalone/dirstream.h: Define struct __dirstream
not DIR; <dirent.h> provides typedef.
* sysdeps/unix/sysv/linux/arm/clone.S: New file.
* sysdeps/unix/sysv/linux/arm/socket.S: New file.
* sysdeps/stub/sysconf.c (__sysconf): Fix typos.
1997-05-01 06:35 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/Dist: New file.
* sysdeps/powerpc/Makefile: New file.
* sysdeps/powerpc/fclrexcpt.c: New file.
* sysdeps/powerpc/fegetenv.c: New file.
* sysdeps/powerpc/fegetround.c: New file.
* sysdeps/powerpc/feholdexcpt.c: New file.
* sysdeps/powerpc/fenvbits.h: New file.
* sysdeps/powerpc/fenv_const.c: New file.
* sysdeps/powerpc/fenv_libc.h: New file.
* sysdeps/powerpc/fesetenv.c: New file.
* sysdeps/powerpc/fesetround.c: New file.
* sysdeps/powerpc/feupdateenv.c: New file.
* sysdeps/powerpc/fgetexcptflg.c: New file.
* sysdeps/powerpc/fraiseexcpt.c: New file.
* sysdeps/powerpc/fsetexcptflg.c: New file.
* sysdeps/powerpc/ftestexcept.c: New file.
* sysdeps/powerpc/mathbits.h: New file.
* sysdeps/powerpc/dl-machine.h: Wrap in #ifndef dl_machine_h;
define elf_machine_lookup_noexec_p, elf_machine_lookup_noplt_p,
ELF_MACHINE_RELOC_NOPLT; consequent changes to elf_machine_rela.
* sysdeps/powerpc/__math.h: Remove definition for hypot and __sgn.
* sysdep/powerpc/fpu_control.h: Correct IEEE default mode.
* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Don't use .text, but
instead .section ".text".
1997-04-25 05:06 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/__longjmp.S: Use symbolic register numbering.
* sysdeps/powerpc/bsd-_setjmp.S: Likewise.
* sysdeps/powerpc/bsd-setjmp.S: Likewise.
* sysdeps/powerpc/setjmp.S: Likewise.
* sysdeps/unix/sysv/linux/clone.S: Likewise.
* sysdeps/unix/sysv/linux/socket.S: Likewise.
* sysdeps/unix/sysv/linux/syscall.S: Likewise.
1997-04-20 04:37 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/strchr.s: New file.
* sysdeps/powerpc/strcmp.s: New (ugly) file.
* sysdeps/powerpc/memset.s: New file.
* string/tester.c: Include prototype and _GNU_SOURCE to make
standalone compilation possible. Give strcmp a better
test. Give memset a better test.
1997-04-05 06:34 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/strlen.s: Fixed bugs (how did it ever pass its
tests before?). Changed to symbolic register numbering as an
experiment.
* sysdeps/powerpc/ffs.c: Don't include bstring.h, it doesn't
exist.
* sysdeps/rs6000/ffs.c: Likewise.
1997-05-12 02:28 Ulrich Drepper <drepper@cygnus.com>
* time/sys/time.h: Make second argument of setitimer const.
Patch by Michael Deutschmann <ldeutsch@mail.netshop.net>.
* sysdeps/stub/setitimer.c: Likewise.
* sysdeps/mach/hurd/setitimer.c: Likewise.