r4906 - in glibc-package/branches/glibc-branch-squeeze/debian: . patches/kfreebsd
Author: ps-guest
Date: 2011-08-21 10:51:31 +0000 (Sun, 21 Aug 2011)
New Revision: 4906
Modified:
glibc-package/branches/glibc-branch-squeeze/debian/changelog
glibc-package/branches/glibc-branch-squeeze/debian/patches/kfreebsd/local-sysdeps.diff
Log:
kfreebsd/local-sysdeps.diff, update to r3691 (from squeeze glibc-bsd) - restore handling of AT_EXECPATH
Modified: glibc-package/branches/glibc-branch-squeeze/debian/changelog
===================================================================
--- glibc-package/branches/glibc-branch-squeeze/debian/changelog 2011-08-21 10:47:39 UTC (rev 4905)
+++ glibc-package/branches/glibc-branch-squeeze/debian/changelog 2011-08-21 10:51:31 UTC (rev 4906)
@@ -27,7 +27,7 @@
- patches/amd64/cvs-avx-tcb-alignment.diff
- patches/any/submitted-etc-resolv.conf.diff
- patches/any/cvs-audit-suid.diff
- * kfreebsd/local-sysdeps.diff, update to r3665 (from squeeze glibc-bsd).
+ * kfreebsd/local-sysdeps.diff, update to r3691 (from squeeze glibc-bsd).
- fixes LD_PRELOAD with a kfreebsd-9 kernel. Closes: #630695.
- uses upstream RFTSIGZMB for exit signal selection when available.
- fixes a crash in if_nameindex() with more than 3 interfaces.
Modified: glibc-package/branches/glibc-branch-squeeze/debian/patches/kfreebsd/local-sysdeps.diff
===================================================================
--- glibc-package/branches/glibc-branch-squeeze/debian/patches/kfreebsd/local-sysdeps.diff 2011-08-21 10:47:39 UTC (rev 4905)
+++ glibc-package/branches/glibc-branch-squeeze/debian/patches/kfreebsd/local-sysdeps.diff 2011-08-21 10:51:31 UTC (rev 4906)
@@ -8618,7 +8618,7 @@
+#endif
--- /dev/null
+++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/dl-sysdep.c
-@@ -0,0 +1,248 @@
+@@ -0,0 +1,253 @@
+/* Dynamic linker system dependencies for GNU/kFreeBSD.
+ Copyright (C) 1995-1998,2000-2008,2009,2010,2011
+ Free Software Foundation, Inc.
@@ -8657,6 +8657,8 @@
+# undef _dl_sysdep_start
+# undef _dl_show_auxv
+
++extern const char *_self_program_name_from_auxv attribute_hidden;
++
+ElfW(Addr)
+_dl_sysdep_start (void **start_argptr,
+ void (*dl_main) (const ElfW(Phdr) *phdr, ElfW(Word) phnum,
@@ -8694,6 +8696,9 @@
+ case AT_ENTRY:
+ user_entry = av->a_un.a_val;
+ break;
++ case AT_EXECPATH:
++ _self_program_name_from_auxv = (char *) av->a_un.a_val;
++ break;
+#ifdef NEED_DL_BASE_ADDR
+ case AT_BASE:
+ _dl_base_addr = av->a_un.a_val;
@@ -11913,7 +11918,7 @@
+#endif /* _BITS_SIGCONTEXT_H */
--- /dev/null
+++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/dl-machine.h
-@@ -0,0 +1,149 @@
+@@ -0,0 +1,145 @@
+/* Machine-dependent ELF dynamic relocation inline functions.
+ FreeBSD i386 specific version of dl_platform_init()
+ Copyright (C) 2006 Free Software Foundation, Inc.
@@ -12008,16 +12013,12 @@
+ );
+}
+
-+extern const char *_self_program_name_from_auxv attribute_hidden;
-+
+static inline void __attribute__ ((unused))
+dl_platform_kfreebsd_i386_init (void)
+{
+ /* we don't have reasonable AT_PLATFORM from kernel
+ try to use cpuid to get one, also guess AT_HWCAP */
+
-+ _self_program_name_from_auxv = GLRO(dl_platform);
-+
+ int val, hwcap;
+
+ val = try_flip_flags(X86_EFLAGS_AC | X86_EFLAGS_ID);
@@ -25930,7 +25931,7 @@
+#include <sysdeps/unix/sysv/linux/x86_64/dl-cache.h>
--- /dev/null
+++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/dl-machine.h
-@@ -0,0 +1,137 @@
+@@ -0,0 +1,133 @@
+/* Machine-dependent ELF dynamic relocation inline functions. FreeBSD/amd64 version.
+ Copyright (C) 2006 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
@@ -26050,9 +26051,6 @@
+ );
+}
+
-+extern const char *_self_program_name_from_auxv attribute_hidden;
-+
-+
+static inline void __attribute__ ((unused))
+dl_platform_kfreebsd_x86_64_init (void)
+{
@@ -26063,7 +26061,6 @@
+
+ cpuid(1, &val, &hwcap);
+ GLRO(dl_hwcap) = hwcap;
-+ _self_program_name_from_auxv = GLRO(dl_platform);
+ GLRO(dl_platform) = ELF_MACHINE_NAME;
+}
+
Reply to: