about summary refs log tree commit diff
path: root/sysdeps/i386/bits/select.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-10-31 22:55:02 +0000
committerUlrich Drepper <drepper@redhat.com>1997-10-31 22:55:02 +0000
commit1cab5444231a4a1fab9c3abb107d22af4eb09327 (patch)
treec58e953fe78f8094b3774b65eb2acf024cc10ded /sysdeps/i386/bits/select.h
parentfe4635fcae7a29fe688b048a2b1235bb89e05ec0 (diff)
downloadglibc-1cab5444231a4a1fab9c3abb107d22af4eb09327.tar.gz
glibc-1cab5444231a4a1fab9c3abb107d22af4eb09327.tar.xz
glibc-1cab5444231a4a1fab9c3abb107d22af4eb09327.zip
1997-10-31 23:16  Ulrich Drepper  <drepper@cygnus.com>

	* posix/glob.c (glob): If calling glob_in_dir for a list which was
	generated by a glob call disable GLOB_ERR since there might be
	non-directories in the list (PR203).

	* posix/glob.h (GLOB_ONLYDIR): New flag.
	(__GLOB_FLAGS): Add GLOB_ONLYDIR.
	* posix/glob.c: Define HAVE_D_TYPE if _DIRENT_HAVE_D_TYPE is defined.
	(glob): Add GLOB_ONLYDIR to recursive call to match dirname.
	(glob_in_dir) [HAVE_D_TYPE]: While reading directory entries test
	whether they are directories if GLOB_ONLYDIR flag is given.
	* manual/pattern.texi: Document GLOB_ONLYDIR.

	* misc/Makefile (tests): Add tst-fdset.

	* sysdeps/i386/bits/select.h: Rewrite asm macros to be cleaner.

	* sysdeps/unix/sysv/linux/Dist: Add xstatconv.c.
	* sysdeps/unix/sysv/linux/alpha/Dist: Likewise.

	* time/strptime.c (strptime_internal): In %y format, regard years
	>= 69 as of twentieth century, all other as of twenty-first.

	* time/tzset.c: Correct typo and little optimization.

1997-10-31 16:01  Ulrich Drepper  <drepper@cygnus.com>

	* inet/getnetgrent.c: Allocate buffer dynamically if needed.
	Suggested by Joe Keane <jgk@jgk.org>.

1997-10-31  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* io/ftw.h: Declare __ftw64_func_t and __nftw64_func_t only when
	__USE_FILE_OFFSET64 || __USE_LARGEFILE64 is true.

1997-10-30 05:47  Ulrich Drepper  <drepper@cygnus.com>

	* misc/mntent.c: Don't use statically allocated buffer.  Allocate
	it dynamically if necessary.
	* misc/efgcvt.c: Likewise.
	Patch by Joe Keane <jgk@jgk.org>.

	* misc/mntent.c: Allow freeing of allocated buffer in
	__libc_subfreeres.
	* misc/efgcvt.c: Likewise.

	* misc/efgcvt.c: Call correct reentrant functions.
	Use better values for MAXDIG.
	* misc/qefgcvt.c: Use better values for MAXDIG.

1997-10-29 18:48   Richard Henderson  <rth@cygnus.com>

	* sysdeps/unix/sysv/linux/Makefile [io]: Add xstatconv.
	* sysdeps/unix/sysv/linux/alpha/xstatconv.c: New file.  Convert
	between kernel_stat and the userland version indicated.
	* sysdeps/unix/sysv/linux/xstatconv.c: Likewise.
	* sysdeps/unix/sysv/linux/bits/stat.h: Define _STAT_VER_KERNEL.

	* sysdeps/unix/sysv/linux/fxstat.c: Defer to __xstat_conv.  Alias
	to __*xstat64 if requested.
	* sysdeps/unix/sysv/linux/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/xstat.c: Likewise.

	* sysdeps/unix/sysv/linux/alpha/bits/stat.h: Add struct stat64.
	Increment _STAT_VER, and make struct stat the same.
	* sysdeps/unix/sysv/linux/alpha/bits/types.h: Add __ino64_t, and
	__off64_t.  Reorganize.
	* sysdeps/unix/sysv/linux/alpha/kernel_stat.h: Add struct glibc2_stat
	for backward compatibility.  Define XSTAT_IS_XSTAT64.

	* sysdeps/unix/sysv/linux/alpha/fxstat64.c: Empty file.
	* sysdeps/unix/sysv/linux/alpha/lxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/xstat64.c: Likewise.

	* sysdeps/unix/sysv/linux/alpha/bits/dirent.h (struct dirent): For
	consistency, force d_ino to use ino_t and supply padding.

1997-10-29 18:47  Richard Henderson  <rth@cygnus.com>

	* libio/iofopen.c: Correct weak_alias.
Diffstat (limited to 'sysdeps/i386/bits/select.h')
-rw-r--r--sysdeps/i386/bits/select.h17
1 files changed, 8 insertions, 9 deletions
diff --git a/sysdeps/i386/bits/select.h b/sysdeps/i386/bits/select.h
index f2107e9ab7..f2ab43ebbb 100644
--- a/sysdeps/i386/bits/select.h
+++ b/sysdeps/i386/bits/select.h
@@ -25,29 +25,28 @@
 
 # define __FD_ZERO(fdsetp) \
   __asm__ __volatile__ ("cld; rep; stosl"				      \
-			: "=m" (((__fd_mask *)				      \
-				 (fdsetp))[__FDELT (__FD_SETSIZE)])	      \
+			: "=m" ((fdsetp)->fds_bits[__FDELT (__FD_SETSIZE)])   \
 			: "a" (0), "c" (sizeof (__fd_set)		      \
 					/ sizeof (__fd_mask)),		      \
-			  "D" ((__fd_set *) (fdsetp))			      \
-			:"cx","di")
+			  "D" (&(fdsetp)->fds_bits[0])			      \
+			:"cx","di","memory")
 # define __FD_SET(fd, fdsetp) \
   __asm__ __volatile__ ("btsl %1,%0"					      \
-			: "=m" (((__fd_mask *) (fdsetp))[__FDELT (fd)])	      \
+			: "=m" ((fdsetp)->fds_bits[__FDELT (fd)])	      \
 			: "r" (((int) (fd)) % __NFDBITS)		      \
-			: "cc")
+			: "cc","memory")
 # define __FD_CLR(fd, fdsetp) \
   __asm__ __volatile__ ("btrl %1,%0"					      \
-			: "=m" (((__fd_mask *) (fdsetp))[__FDELT (fd)])	      \
+			: "=m" ((fdsetp)->fds_bits[__FDELT (fd)])	      \
 			: "r" (((int) (fd)) % __NFDBITS)		      \
-			: "cc")
+			: "cc","memory")
 # define __FD_ISSET(fd, fdsetp) \
   (__extension__							      \
    ({register char __result;						      \
      __asm__ __volatile__ ("btl %1,%2 ; setcb %b0"			      \
 			   : "=q" (__result)				      \
 			   : "r" (((int) (fd)) % __NFDBITS),		      \
-			     "m" (((__fd_mask *) (fdsetp))[__FDELT (fd)])     \
+			     "m" ((fdsetp)->fds_bits[__FDELT (fd)])	      \
 			   : "cc");					      \
      __result; }))