Author: sthibault Date: 2009-10-20 22:59:28 +0000 (Tue, 20 Oct 2009) New Revision: 3887
Added: glibc-package/trunk/debian/patches/hurd-i386/local-bigmem.diff Modified: glibc-package/trunk/debian/changelog glibc-package/trunk/debian/patches/series Log: patches/hurd-i386/local-bigmem.diff: New patch to fix dl.so crash when running on GNU Mach with VM_MAX_ADDRESS < 0xc0000000. Modified: glibc-package/trunk/debian/changelog =================================================================== --- glibc-package/trunk/debian/changelog 2009-10-20 00:30:24 UTC (rev 3886) +++ glibc-package/trunk/debian/changelog 2009-10-20 22:59:28 UTC (rev 3887) @@ -4,6 +4,10 @@ * kfreebsd/local-sysdeps.diff: update to revision 2806 (from glibc-bsd). * Drop kfreebsd/local-sysdeps-2.10.diff (merged in local-sysdeps.diff). + [ Samuel Thibault] + * patches/hurd-i386/local-bigmem.diff: New patch to fix dl.so crash when + running on GNU Mach with VM_MAX_ADDRESS < 0xc0000000. + -- Aurelien Jarno <aure...@debian.org> Sun, 18 Oct 2009 18:35:20 +0200 eglibc (2.10.1-1) unstable; urgency=low Added: glibc-package/trunk/debian/patches/hurd-i386/local-bigmem.diff =================================================================== --- glibc-package/trunk/debian/patches/hurd-i386/local-bigmem.diff (rev 0) +++ glibc-package/trunk/debian/patches/hurd-i386/local-bigmem.diff 2009-10-20 22:59:28 UTC (rev 3887) @@ -0,0 +1,38 @@ +--- a/sysdeps/mach/hurd/dl-sysdep.c 2008-07-07 20:11:39.000000000 +0200 ++++ b/sysdeps/mach/hurd/dl-sysdep.c 2009-10-21 00:56:09.000000000 +0200 +@@ -102,12 +102,29 @@ + max=a; break;} + fmha=a+=fmhs;} + if (err) assert(err==KERN_NO_SPACE); +- if (!fmha)fmhs=0;else{ +- fmhs=max-fmha; +- err = __vm_map (__mach_task_self (), +- &fmha, fmhs, 0, 0, MACH_PORT_NULL, 0, 1, +- VM_PROT_NONE, VM_PROT_NONE, VM_INHERIT_COPY); +- assert_perror(err);} ++ if (!fmha) ++ fmhs=0; ++ else ++ while (1) { ++ fmhs=max-fmha; ++ err = __vm_map (__mach_task_self (), ++ &fmha, fmhs, 0, 0, MACH_PORT_NULL, 0, 1, ++ VM_PROT_NONE, VM_PROT_NONE, VM_INHERIT_COPY); ++ if (!err) ++ break; ++ if (err != KERN_INVALID_ADDRESS && err != KERN_NO_SPACE) { ++ while(1); ++ assert_perror(err); ++ } ++ vm_address_t new_max = (max - 1) & 0xf0000000U; ++ if (new_max >= max) { ++ fmhs = 0; ++ fmha = 0; ++ break; ++ } ++ max = new_max; ++ } ++ } + } + /* XXX loser kludge for vm_map kernel bug */ + #endif Modified: glibc-package/trunk/debian/patches/series =================================================================== --- glibc-package/trunk/debian/patches/series 2009-10-20 00:30:24 UTC (rev 3886) +++ glibc-package/trunk/debian/patches/series 2009-10-20 22:59:28 UTC (rev 3887) @@ -105,6 +105,7 @@ hurd-i386/submitted-readlinkat.diff hurd-i386/cvs-termios-IXANY.patch hurd-i386/submitted-SOL_IP.patch +hurd-i386/local-bigmem.diff ia64/submitted-sysconf.diff ia64/submitted-libm.diff -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org