r4245 - in glibc-package/trunk/debian: . patches/kfreebsd
Author: ps-guest
Date: 2010-04-16 11:57:46 +0000 (Fri, 16 Apr 2010)
New Revision: 4245
Modified:
glibc-package/trunk/debian/changelog
glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff
Log:
kfreebsd/local-sysdeps.diff: update to revision 3031 (from glibc-bsd).
Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog 2010-04-11 23:54:18 UTC (rev 4244)
+++ glibc-package/trunk/debian/changelog 2010-04-16 11:57:46 UTC (rev 4245)
@@ -32,7 +32,7 @@
* Fix lang_ab field in es_CR locales. Closes: #571755.
[ Petr Salinger]
- * kfreebsd/local-sysdeps.diff: update to revision 2994 (from glibc-bsd).
+ * kfreebsd/local-sysdeps.diff: update to revision 3031 (from glibc-bsd).
* any/local-linuxthreads-stacksize.diff: New patch to restrict
max stack size in threads
Modified: glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff
===================================================================
--- glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff 2010-04-11 23:54:18 UTC (rev 4244)
+++ glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff 2010-04-16 11:57:46 UTC (rev 4245)
@@ -8261,6 +8261,89 @@
+
+#include_next <dl-machine.h>
--- /dev/null
++++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/dl-origin.c
+@@ -0,0 +1,80 @@
++/* Find path of executable.
++ Copyright (C) 1998, 1999, 2000, 2002, 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++ Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
++
++ 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. */
++
++#include <assert.h>
++#include <stdlib.h>
++#include <string.h>
++#include <unistd.h>
++#include <sys/param.h>
++#include <ldsodefs.h>
++#include <sysdep.h>
++
++#include <dl-dst.h>
++
++/* On Linux >= 2.1 systems which have the dcache implementation we can get
++ the path of the application from the /proc/self/exe symlink. Try this
++ first and fall back on the generic method if necessary. */
++
++const char *
++_dl_get_origin (void)
++{
++ char linkval[PATH_MAX];
++ char *result;
++ int len;
++
++ len = readlink("/proc/self/exe", linkval, sizeof (linkval));
++
++ if (len > 0 && linkval[0] != '[')
++ {
++ /* We can use this value. */
++ assert (linkval[0] == '/');
++ while (len > 1 && linkval[len - 1] != '/')
++ --len;
++ result = (char *) malloc (len + 1);
++ if (result == NULL)
++ result = (char *) -1;
++ else if (len == 1)
++ memcpy (result, "/", 2);
++ else
++ *((char *) __mempcpy (result, linkval, len - 1)) = '\0';
++ }
++ else
++ {
++ result = (char *) -1;
++ /* We use the environment variable LD_ORIGIN_PATH. If it is set make
++ a copy and strip out trailing slashes. */
++ if (GLRO(dl_origin_path) != NULL)
++ {
++ size_t len = strlen (GLRO(dl_origin_path));
++ result = (char *) malloc (len + 1);
++ if (result == NULL)
++ result = (char *) -1;
++ else
++ {
++ char *cp = __mempcpy (result, GLRO(dl_origin_path), len);
++ while (cp > result + 1 && cp[-1] == '/')
++ --cp;
++ *cp = '\0';
++ }
++ }
++ }
++
++ return result;
++}
+--- /dev/null
+++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/dl-osinfo.h
@@ -0,0 +1,98 @@
+/* Operating system specific code for generic dynamic loader functions.
Reply to: