[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r3571 - in glibc-package/trunk/debian: . patches/kfreebsd



Author: ps-guest
Date: 2009-06-19 13:30:33 +0000 (Fri, 19 Jun 2009)
New Revision: 3571

Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff
Log:
* kfreebsd/local-sysdeps.diff: update to revision 2599 (from glibc-bsd).



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2009-06-18 22:38:08 UTC (rev 3570)
+++ glibc-package/trunk/debian/changelog	2009-06-19 13:30:33 UTC (rev 3571)
@@ -8,6 +8,9 @@
   * Use Breaks instead of Conflicts for the /emul/ia32-linux transition.
     closes: #533503.
 
+  [ Petr Salinger ]
+  * kfreebsd/local-sysdeps.diff: update to revision 2599 (from glibc-bsd).
+
  -- Clint Adams <schizo@debian.org>  Thu, 18 Jun 2009 18:36:51 -0400
 
 eglibc (2.9-16) unstable; urgency=low
@@ -19,7 +22,7 @@
 
 eglibc (2.9-15) unstable; urgency=low
 
-  * kfreebsd/local-sysdeps.diff: update to revision 2597 (from glibc-bsd).
+  * kfreebsd/local-sysdeps.diff: update to revision 2587 (from glibc-bsd).
     Update expected testsuite results accordingly.
   * any/cvs-broken-dns.diff: backport more parts from upstream.
   * Update Italian debconf translation, by Luca Monducci.  Closes: #531431.

Modified: glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff
===================================================================
--- glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff	2009-06-18 22:38:08 UTC (rev 3570)
+++ glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff	2009-06-19 13:30:33 UTC (rev 3571)
@@ -5369,7 +5369,7 @@
 +#endif /* ! _SIGSET_H_fns.  */
 --- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/socket.h
-@@ -0,0 +1,386 @@
+@@ -0,0 +1,388 @@
 +/* System-specific socket constants and types.  FreeBSD version.
 +   Copyright (C) 1991-1992,1994-1999,2000-2002 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
@@ -5561,12 +5561,14 @@
 +#define MSG_DONTWAIT MSG_DONTWAIT
 +    MSG_EOF		= 0x100, /* Data completes connection.  */
 +#define MSG_EOF MSG_EOF
++    MSG_NOTIFICATION	= 0x2000,/* SCTP notification */
++#define MSG_NOTIFICATION MSG_NOTIFICATION
++    MSG_NBIO		= 0x4000,/*FIONBIO mode, used by fifofs */
++#define MSG_NBIO MSG_NBIO
 +    MSG_COMPAT		= 0x8000,/* Used in sendit().  */
 +#define MSG_COMPAT MSG_COMPAT
 +    MSG_NOSIGNAL	= 0x20000 /* do not generate SIGPIPE on EOF */
-+#if 0 /* available since FreeBSD 6.0 */
 +#define MSG_NOSIGNAL MSG_NOSIGNAL
-+#endif
 +  };
 +
 +
@@ -7166,7 +7168,7 @@
 +weak_alias (__clone, clone)
 --- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/configure
-@@ -0,0 +1,343 @@
+@@ -0,0 +1,349 @@
 +# This file is generated from configure.in by Autoconf.  DO NOT EDIT!
 + # Local configure fragment for sysdeps/unix/bsd/bsd4.4/kfreebsd.
 +
@@ -7510,9 +7512,15 @@
 +echo "${ECHO_T}ok" >&6
 +  fi
 +fi
++
++# We support internal syscalls.
++# It is advertised as inlined syscalls availability ...
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_INLINED_SYSCALLS 1
++_ACEOF
 --- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/configure.in
-@@ -0,0 +1,269 @@
+@@ -0,0 +1,273 @@
 +GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 +# Local configure fragment for sysdeps/unix/bsd/bsd4.4/kfreebsd.
 +
@@ -7782,6 +7790,10 @@
 +    AC_MSG_RESULT(ok)
 +  fi
 +fi
++
++# We support internal syscalls.
++# It is advertised as inlined syscalls availability ...
++AC_DEFINE(HAVE_INLINED_SYSCALLS)
 --- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/connect.c
 @@ -0,0 +1,69 @@
@@ -12900,6 +12912,97 @@
 +PSEUDO_END (__syscall)
 +weak_alias (__syscall, syscall)
 --- /dev/null
++++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/syscalls-internal.h
+@@ -0,0 +1,88 @@
++/* generally used "internal syscalls"
++   Copyright (C) 2009 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#ifndef KFREEBSD_INTERNAL_SYSCALLS_H
++#define KFREEBSD_INTERNAL_SYSCALLS_H
++
++#include <sys/syscall.h>
++
++/* 
++   for now, we do not care whether syscall succeeded,
++   we do not have defined 
++   INTERNAL_SYSCALL_ERROR_P and INTERNAL_SYSCALL_ERRNO
++   we do not store errno at all
++   to be sure, we return void
++*/
++
++#undef INTERNAL_SYSCALL_DECL
++#undef INTERNAL_SYSCALL_NCS
++#undef INTERNAL_SYSCALL
++#undef INTERNAL_SYSCALL_ERROR_P
++#undef INTERNAL_SYSCALL_ERRNO
++
++#define INTERNAL_SYSCALL_DECL(err)		\
++  do { } while (0)
++
++#define INTERNAL_SYSCALL(name, err, nr, args...) \
++  INTERNAL_SYSCALL_##name(name, err, nr, ##args)
++     
++     
++#define INTERNAL_SYSCALL_close(name, err, nr, fd) \
++(void)({                                        \
++  register long int _a1 = (long int) (fd);	\
++  register long int result;			\
++  asm volatile (                                \
++                "pushl %2\n\t"                  \
++                "pushl %1\n\t"                  \
++                "int $0x80\n\t"                 \
++                "popl %2\n\t"                   \
++                "popl %2\n\t"                   \
++                : "=a" (result)                 \
++                : "0" ((long int) SYS_##name),	\
++                  "d" (_a1)                   	\
++                : "memory", "cc" );             \
++  result;                                       \
++})
++
++#define INTERNAL_SYSCALL_writev(name, err, nr, fd, iov, cnt) \
++(void)({                                        \
++  register long int _a1 = (long int) (fd);	\
++  register long int _a2 = (long int) (iov);	\
++  register long int _a3 = (long int) (cnt);	\
++  register long int result;			\
++  register long int _trash;			\
++  asm volatile (                                \
++                "pushl %5\n\t"                  \
++                "pushl %4\n\t"                  \
++                "pushl %3\n\t"                  \
++                "pushl %2\n\t"                  \
++                "int $0x80\n\t"                 \
++                "addl $16,%%esp\n\t"		\
++                : "=a" (result),		\
++                  "=d" (_trash)                 \
++                : "0" ((long int) SYS_##name),	\
++                  "ri" (_a1),			\
++                  "ri" (_a2),			\
++                  "ri" (_a3)			\
++              /*   may be even "g" constraint could be used */ \
++              /*   but we have to worry about esp register and esp based address */ \
++                : "memory", "cc" );             \
++  result;                                       \
++})
++#endif
+--- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/sysdep.S
 @@ -0,0 +1,38 @@
 +/* Copyright (C) 1995-1998, 2002 Free Software Foundation, Inc.
@@ -16842,7 +16945,7 @@
 +#include <nfs/nfsproto.h>
 --- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/not-cancel.h
-@@ -0,0 +1,88 @@
+@@ -0,0 +1,91 @@
 +/* Uncancelable versions of cancelable interfaces.  kFreeBSD version.
 +   Copyright (C) 2003, 2006 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
@@ -16897,8 +17000,10 @@
 +/* Uncancelable close.  */
 +#define close_not_cancel(fd) \
 +  INLINE_SYSCALL (close, 1, fd)
++
 +#define close_not_cancel_no_status(fd) \
-+  INLINE_SYSCALL (close, 1, fd)
++  (void) ({ INTERNAL_SYSCALL_DECL (err); \
++	    INTERNAL_SYSCALL (close, err, 1, (fd)); })
 +
 +/* Uncancelable read.  */
 +#define read_not_cancel(fd, buf, n) \
@@ -16910,7 +17015,8 @@
 +
 +/* Uncancelable writev.  */
 +#define writev_not_cancel_no_status(fd, iov, n) \
-+  INLINE_SYSCALL (writev, 3, (fd), (iov), (n))
++  (void) ({ INTERNAL_SYSCALL_DECL (err); \
++	    INTERNAL_SYSCALL (writev, err, 3, (fd), (iov), (n)); })
 +
 +/* Uncancelable fcntl.  */
 +#define fcntl_not_cancel(fd, cmd, val) \
@@ -21969,7 +22075,7 @@
 +#endif /* sys/ucontext.h */
 --- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/syscalls-inline.h
-@@ -0,0 +1,54 @@
+@@ -0,0 +1,59 @@
 +/* prototypes of generally used "inline syscalls"
 +   Copyright (C) 2006 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
@@ -21996,6 +22102,8 @@
 +#define __need_sigset_t
 +#include <signal.h>
 +
++#include <syscalls-internal.h>
++
 +struct iovec;
 +struct rusage;
 +struct timespec;
@@ -22012,6 +22120,9 @@
 +libc_hidden_proto (__syscall_write)
 +libc_hidden_proto (__syscall_writev)
 +
++ssize_t __syscall_readlink(const char *path, char *buf, size_t bufsiz);
++libc_hidden_proto (__syscall_readlink)
++
 +int __syscall_fcntl(int fd, int cmd, ...);
 +int __syscall_fork(void);
 +int __syscall_wait4(int pid, int *status, int options, struct rusage *rusage);
@@ -22026,7 +22137,7 @@
 +#endif
 --- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/syscalls.list
-@@ -0,0 +1,181 @@
+@@ -0,0 +1,182 @@
 +# File name		Caller	Syscall name		# args		Strong name	Weak names
 +acl_aclcheck_fd		-	acl_aclcheck_fd		i:iip		__acl_aclcheck_fd
 +acl_aclcheck_file	-	acl_aclcheck_file	i:sip		__acl_aclcheck_file
@@ -22208,6 +22319,7 @@
 +sys_unlinkat		-	unlinkat		i:isi		__syscall_unlinkat
 +sys_shm_open		-	shm_open		i:sii		__syscall_shm_open
 +sys_shm_unlink		-	shm_unlink		i:s		__syscall_shm_unlink
++readlink		-	readlink       		i:spi   	__syscall_readlink __readlink readlink
 --- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/sysconf.c
 @@ -0,0 +1,50 @@
@@ -25641,6 +25753,87 @@
 +PSEUDO_END (__syscall)
 +weak_alias (__syscall, syscall)
 --- /dev/null
++++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/syscalls-internal.h
+@@ -0,0 +1,78 @@
++/* generally used "internal syscalls"
++   Copyright (C) 2009 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#ifndef KFREEBSD_INTERNAL_SYSCALLS_H
++#define KFREEBSD_INTERNAL_SYSCALLS_H
++
++#include <sys/syscall.h>
++
++/* 
++   for now, we do not care whether syscall succeeded,
++   we do not have defined 
++   INTERNAL_SYSCALL_ERROR_P and INTERNAL_SYSCALL_ERRNO
++   we do not store errno at all
++   to be sure, we return void
++*/
++
++#undef INTERNAL_SYSCALL_DECL
++#undef INTERNAL_SYSCALL_NCS
++#undef INTERNAL_SYSCALL
++#undef INTERNAL_SYSCALL_ERROR_P
++#undef INTERNAL_SYSCALL_ERRNO
++
++#define INTERNAL_SYSCALL_DECL(err)		\
++  do { } while (0)
++
++#define INTERNAL_SYSCALL(name, err, nr, args...) \
++  INTERNAL_SYSCALL_##name(name, err, nr, ##args)
++
++
++#define INTERNAL_SYSCALL_close(name, err, nr, fd) \
++(void)({                                        \
++  register long int _a1 = (long int) (fd);	\
++  register long int result;			\
++  asm volatile (				\
++	"syscall"				\
++        : "=a" (result)				\
++        : "0" ((long int) SYS_##name),		\
++	  "D" (_a1)				\
++	: "memory", "cc", "cx", "dx", "r8", "r9", "r10", "r11"); \
++  result;                                       \
++})
++
++#define INTERNAL_SYSCALL_writev(name, err, nr, fd, iov, cnt) \
++(void)({                                        \
++  register long int _a1 = (long int) (fd);	\
++  register long int _a2 = (long int) (iov);	\
++  register long int _a3 = (long int) (cnt);	\
++  register long int result;			\
++  register long int _trash;			\
++  asm volatile (				\
++	"syscall"				\
++        : "=a" (result),			\
++          "=d" (_trash)				\
++        : "0" ((long int) SYS_##name),		\
++	  "D" (_a1),				\
++	  "S" (_a2),				\
++	  "d" (_a3)				\
++          /*  beware rdx is not preserved after syscall */ \
++	: "memory", "cc", "cx", "r8", "r9", "r10", "r11"); \
++  result;                                       \
++})
++#endif
+--- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/sysdep.S
 @@ -0,0 +1,40 @@
 +/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.


Reply to: