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

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



Author: ps-guest
Date: 2009-08-06 11:18:14 +0000 (Thu, 06 Aug 2009)
New Revision: 3738

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



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2009-08-04 02:57:19 UTC (rev 3737)
+++ glibc-package/trunk/debian/changelog	2009-08-06 11:18:14 UTC (rev 3738)
@@ -1,7 +1,11 @@
 eglibc (2.9-24) UNRELEASED; urgency=low
 
+  [ Aurelien Jarno ]
   * Remove any/cvs-pthread_mutex_lock.diff following upstream decision.
 
+  [ Petr Salinger ]
+  * kfreebsd/local-sysdeps.diff: update to revision 2696 (from glibc-bsd).
+
  -- Aurelien Jarno <aurel32@debian.org>  Thu, 30 Jul 2009 22:59:32 +0200
 
 eglibc (2.9-23) unstable; urgency=low

Modified: glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff
===================================================================
--- glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff	2009-08-04 02:57:19 UTC (rev 3737)
+++ glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff	2009-08-06 11:18:14 UTC (rev 3738)
@@ -47,7 +47,7 @@
 +gnu
 --- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/Makefile
-@@ -0,0 +1,131 @@
+@@ -0,0 +1,133 @@
 +# Use bash, not /bin/sh, for executing scripts, because the native
 +# FreeBSD /bin/sh does not interpret the  IFS="<tab>" read ...  command
 +# in localedata/tst-fmon.sh correctly.
@@ -128,6 +128,8 @@
 +sysdep_routines += rtprio
 +# For <sys/socket.h>.
 +sysdep_routines += bsd_sendfile
++# For <sys/stat.h>.
++sysdep_routines += devname
 +# For <sys/sysctl.h>.
 +sysdep_routines += sysctl sysctlbyname sysctlnametomib
 +# For <sys/uio.h>.
@@ -5828,7 +5830,7 @@
 +#endif	/* bits/socket.h */
 --- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/stat.h
-@@ -0,0 +1,199 @@
+@@ -0,0 +1,203 @@
 +/* Copyright (C) 1992, 1996-1997, 2000, 2002 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
 +
@@ -6025,6 +6027,10 @@
 +/* Set file flags of the file referred to by FD to FLAGS.  */
 +extern int fchflags (int __fd, unsigned long int __flags) __THROW;
 +
++
++extern char *devname_r(dev_t dev, mode_t type, char *buf, int len) __THROW;
++extern char *devname(dev_t dev, mode_t type) __THROW;
++                                                                                                                                                                                                         
 +__END_DECLS
 +
 +#endif /* __USE_BSD */
@@ -7935,6 +7941,78 @@
 +weak_alias (__libc_connect, __connect)
 +weak_alias (__libc_connect, connect)
 --- /dev/null
++++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/devname.c
+@@ -0,0 +1,69 @@
++/*
++ * Copyright (c) 1989, 1993
++ *	The Regents of the University of California.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ * 4. Neither the name of the University nor the names of its contributors
++ *    may be used to endorse or promote products derived from this software
++ *    without specific prior written permission.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ */
++
++
++#include <stdio.h>
++#include <sys/param.h>
++#include <sys/stat.h>
++#include <sys/sysctl.h>
++
++char *
++__devname_r(dev_t dev, mode_t type, char *buf, int len)
++{
++	int i;
++	size_t j;
++	const char *r;
++
++	if ((type & S_IFMT) == S_IFCHR) {
++		j = len;
++		i = __sysctlbyname("kern.devname", buf, &j, &dev, sizeof (dev));
++		if (i == 0)
++		    return (buf);
++	}
++
++	/* Finally just format it */
++	if (dev == NODEV)
++		r = "#NODEV";
++	else 
++		r = "#%c:%d:0x%x";
++	__snprintf(buf, len, r,
++	    (type & S_IFMT) == S_IFCHR ? 'C' : 'B', major(dev), minor(dev));
++	return (buf);
++}
++
++
++char *
++__devname(dev_t dev, mode_t type)
++{
++	static char buf[SPECNAMELEN + 1];
++
++	return(__devname_r(dev, type, buf, sizeof(buf)));
++}
++weak_alias (__devname_r, devname_r)
++weak_alias (__devname, devname)
+--- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/dl-execstack.c
 @@ -0,0 +1,58 @@
 +/* Stack executability handling for GNU dynamic linker.  Linux version.
@@ -22479,21 +22557,21 @@
 +int
 +__sysctlbyname (const char *name, void *oldval, size_t *oldlenp, void *newval, size_t newlen)
 +{
-+  int request[CTL_MAXNAME];
-+  size_t requestlen = sizeof (request);
++  int request[CTL_MAXNAME+2];
++  size_t requestlen = CTL_MAXNAME+2;
 +
 +  if (__sysctlnametomib(name, request, &requestlen) < 0)
 +    return -1;
 +
 +  /* Now call sysctl using the binary encoded request.  */
-+  return __sysctl (request, requestlen / sizeof (int),
++  return __sysctl (request, requestlen,
 +		   oldval, oldlenp, newval, newlen);
 +}
 +
 +weak_alias (__sysctlbyname, sysctlbyname)
 --- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/sysctlnametomib.c
-@@ -0,0 +1,37 @@
+@@ -0,0 +1,38 @@
 +/* Copyright (C) 2009 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
 +
@@ -22519,15 +22597,16 @@
 +int
 +__sysctlnametomib (const char *name, int *mibp, size_t *sizep)
 +{
-+  int request[CTL_MAXNAME];
-+  size_t requestlen = sizeof (request);
-+
 +  /* Convert the string NAME to a binary encoded request.  The kernel
 +     contains a routine for doing this, called "name2oid".  But the way
 +     to call it is a little bit strange.  */
 +  int name2oid_request[2] = { 0, 3 };
-+  return __sysctl (name2oid_request, 2, mibp, sizep, (void *) name, 
-+		   strlen (name));
++  int retval;
++  
++  *sizep *= sizeof (int);
++  retval = __sysctl (name2oid_request, 2, mibp, sizep, (void *) name, strlen (name));
++  *sizep /= sizeof (int);
++  return retval;
 +}
 +
 +weak_alias (__sysctlnametomib, sysctlnametomib)


Reply to: