Bug#636286: eglibc: SIGSEGV in strcoll in UTF-8 locales with certain characters
Source: eglibc Version: 2.13-11 Severity: normal (Only normal severity because this doesn't happen on i386) root@aranym:~ # LC_ALL=C ./sfl; echo $? 1 root@aranym:~ # LC_ALL=CUT ./sfl; echo $? sfl: setlocale: No such file or directory 4 root@aranym:~ # LC_ALL=C.UTF-8 ./sfl; echo $? Segmentation fault 139 Works with no or a nonexistent locale, but not with a UTF-8 locale. The problem was found in the code of localechooser (a d-i component which runs sort over native language lists at build). Program received signal SIGSEGV, Segmentation fault. 0xc0094940 in findidx (s1=0x8556 " ব", s2=0x855b " ভ", l=0xc0145990) at ../locale/weight.h:126 126 return indirect[-i + offset]; (gdb) bt #0 0xc0094940 in findidx (s1=0x8556 " ব", s2=0x855b " ভ", l=0xc0145990) at ../locale/weight.h:126 #1 __strcoll_l (s1=0x8556 " ব", s2=0x855b " ভ", l=0xc0145990) at strcoll_l.c:213 #2 0xc008f960 in strcoll (s1=0x8556 " ব", s2=0x855b " ভ") at strcoll.c:37 #3 0x848e in main () at sfl.c:16 (gdb) print indirect $1 = (gdb) print i $2 = (gdb) print offset $3 = I’ve got libc6-dbg installed, but it doesn’t seem to pick that up, even with LD_LIBRARY_PATH=/usr/lib/debug/lib/m68k-linux-gnu set. It does however load the symbols: Reading symbols from /lib/m68k-linux-gnu/libc.so.6...Reading symbols from /usr/lib/debug/lib/m68k-linux-gnu/libc-2.13.so...done. I had to manually unpack and quilt push -a the source to get this far, though. How am I supposed to use the libc6-dbg package then? The error does NOT occur if the test programme is linked statically. By preventing inlining and handcompiling strcoll_l.c with a slightly adjusted (duplocale and __strcoll_l using) programme I got this: 0x8796 in findidx (cpp=0xefbc0728) at ../locale/weight.h:126 126 return indirect[-i + offset]; (gdb) print cpp $1 = (const unsigned char **) 0xefbc0728 (gdb) print *cpp $2 = (const unsigned char *) 0x8000107c "\246\254" (gdb) x/4xb *cpp 0x8000107c : 0xa60xac0x000x20 (gdb) print indirect Cannot access memory at address 0xcda56b30 (gdb) print i $3 = -1130053888 (gdb) print offset $4 = Sorry, can’t debug this further. https://wiki.debian.org/Aranym/Quick has an easy way to get a VM image for testing. -- System Information: Debian Release: wheezy/sid Architecture: m68k Kernel: Linux 3.0.0-1-atari Locale: LANG=C, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/mksh-static -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110801235636.31812.58475.report...@aranym.mirbsd.org
Bug#636116: libc6-dev-amd64
Package: libc6-dev-amd64 Version: 2.13-11 Followup-For: Bug #636116 Just hit by the same problem on normal upgrade. sredniczarny:/tmp# apt-get upgrade Czytanie list pakietów... Gotowe Budowanie drzewa zależności Odczyt informacji o stanie... Gotowe Następujące pakiety zostały zatrzymane: some packages Następujące pakiety zostaną zaktualizowane: some packages 53 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 31 nieaktualizowanych. Konieczne pobranie 0 B/50,4 MB archiwów. Po tej operacji zostanie dodatkowo użyte 197 kB miejsca na dysku. Kontynuować [T/n]? Odczytywanie dzienników zmian... Zrobione apt-listchanges: Poczta do baryluk: apt-listchanges: dzienniki zmian dla komputera sredniczarny Rozpakowywanie szablonów dla pakietów: 100% Prekonfiguracja pakietów ... (Odczytywanie bazy danych ... 520813 files and directories currently installed.) Przygotowanie do zastąpienia libc-bin 2.13-11 (wykorzystując .../libc- bin_2.13-13_i386.deb) ... Rozpakowanie pakietu zastępującego libc-bin ... Przetwarzanie wyzwalaczy dla man-db... Konfigurowanie libc-bin (2.13-13) ... (Odczytywanie bazy danych ... 520813 files and directories currently installed.) Przygotowanie do zastąpienia libc6 2.13-11 (wykorzystując /libc6_2.13-13_i386.deb) ... Rozpakowanie pakietu zastępującego libc6 ... Konfigurowanie libc6 (2.13-13) ... (Odczytywanie bazy danych ... 520813 files and directories currently installed.) Przygotowanie do zastąpienia libc6-i686 2.13-11 (wykorzystując /libc6-i686_2.13-13_i386.deb) ... Rozpakowanie pakietu zastępującego libc6-i686 ... Przygotowanie do zastąpienia libc6-prof 2.13-11 (wykorzystując /libc6-prof_2.13-13_i386.deb) ... Rozpakowanie pakietu zastępującego libc6-prof ... Przygotowanie do zastąpienia libc-dev-bin 2.13-11 (wykorzystując .../libc- dev-bin_2.13-13_i386.deb) ... Rozpakowanie pakietu zastępującego libc-dev-bin ... Przygotowanie do zastąpienia libc6-dev 2.13-11 (wykorzystując /libc6-dev_2.13-13_i386.deb) ... Rozpakowanie pakietu zastępującego libc6-dev ... Przygotowanie do zastąpienia libc6-dev-amd64 2.13-11 (wykorzystując .../libc6 -dev-amd64_2.13-13_i386.deb) ... Rozpakowanie pakietu zastępującego libc6-dev-amd64 ... dpkg: błąd przetwarzania /var/cache/apt/archives/libc6-dev- amd64_2.13-13_i386.deb (--unpack): próba nadpisania "/usr/include/bits", który istnieje także w pakiecie libc6-dev 2.13-13 configured to not write apport reports Przygotowanie do zastąpienia libc6-amd64 2.13-11 (wykorzystując .../libc6-amd64_2.13-13_i386.deb) ... Rozpakowanie pakietu zastępującego libc6-amd64 ... Przygotowanie do zastąpienia libc6-dbg 2.13-11 (wykorzystując /libc6-dbg_2.13-13_i386.deb) ... Rozpakowanie pakietu zastępującego libc6-dbg ... Przygotowanie do zastąpienia libc6-xen 2.13-11 (wykorzystując /libc6-xen_2.13-13_i386.deb) ... Rozpakowanie pakietu zastępującego libc6-xen ... Przygotowanie do zastąpienia libcurl3 7.21.6-3 (wykorzystując /libcurl3_7.21.7-1_i386.deb) ... Rozpakowanie pakietu zastępującego libcurl3 ... Przygotowanie do zastąpienia libcurl4-gnutls-dev 7.21.6-3 (wykorzystując /libcurl4-gnutls-dev_7.21.7-1_i386.deb) ... Rozpakowanie pakietu zastępującego libcurl4-gnutls-dev ... Przygotowanie do zastąpienia libcurl3-gnutls 7.21.6-3 (wykorzystując /libcurl3-gnutls_7.21.7-1_i386.deb) ... Rozpakowanie pakietu zastępującego libcurl3-gnutls ... Przygotowanie do zastąpienia multiarch-support 2.13-11 (wykorzystując /multiarch-support_2.13-13_i386.deb) ... Rozpakowanie pakietu zastępującego multiarch-support ... Przetwarzanie wyzwalaczy dla man-db... Przetwarzanie wyzwalaczy dla doc-base... Przetwarzanie 1 zmienionego pliku doc-base... Rejestrowanie dokumentów w programie scrollkeeper... Wystąpiły błędy podczas przetwarzania: /var/cache/apt/archives/libc6-dev-amd64_2.13-13_i386.deb localepurge: Disk space freed in /usr/share/locale: 0 KiB localepurge: Disk space freed in /usr/share/man: 0 KiB localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB localepurge: Disk space freed in /usr/share/omf: 0 KiB localepurge: Disk space freed in /usr/share/doc/kde/HTML: 0 KiB Total disk space freed by localepurge: 0 KiB E: Sub-process /usr/bin/dpkg returned an error code (1) Sorry for non-English output, it just says dpkg is trying to overwrite file from other package. sredniczarny:/tmp# LC_ALL=C apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these. The following packages have unmet dependencies: libc6-dev-amd64 : Depends: libc6-amd64 (= 2.13-11) but 2.13-13 is installed Depends: libc6-dev (= 2.13-11) but 2.13-13 is installed E: Unmet dependencies. Try using -f. sredniczarny:/tmp# LC_ALL=C apt-get -f install -V Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done [ autoremove stuff... ] The following extra
r4841 - in glibc-package/trunk/debian: . patches/hurd-i386
Author: sthibault Date: 2011-08-01 20:37:38 + (Mon, 01 Aug 2011) New Revision: 4841 Modified: glibc-package/trunk/debian/changelog glibc-package/trunk/debian/patches/hurd-i386/submitted-sysvshm.diff Log: patches/hurd-i386/submitted-sysvshm.diff: Fix shm creation: do not create file on first lookup. Modified: glibc-package/trunk/debian/changelog === --- glibc-package/trunk/debian/changelog2011-08-01 11:42:53 UTC (rev 4840) +++ glibc-package/trunk/debian/changelog2011-08-01 20:37:38 UTC (rev 4841) @@ -1,10 +1,15 @@ eglibc (2.13-14) UNRELEASED; urgency=low + [ Aurelien Jarno ] * Remove amd64 biarch includes from libc6-dev:i386. Closes: #636115, #636116. - -- Aurelien Jarno Sun, 31 Jul 2011 14:00:59 +0200 + [ Samuel Thibault ] + * patches/hurd-i386/submitted-sysvshm.diff: Fix shm creation: do not create +file on first lookup. + -- Samuel Thibault Mon, 01 Aug 2011 22:36:14 +0200 + eglibc (2.13-13) unstable; urgency=low * sysdeps/*.mk: install the biarch includes in /usr/include instead Modified: glibc-package/trunk/debian/patches/hurd-i386/submitted-sysvshm.diff === --- glibc-package/trunk/debian/patches/hurd-i386/submitted-sysvshm.diff 2011-08-01 11:42:53 UTC (rev 4840) +++ glibc-package/trunk/debian/patches/hurd-i386/submitted-sysvshm.diff 2011-08-01 20:37:38 UTC (rev 4841) @@ -517,7 +517,7 @@ +weak_alias(__shmdt, shmdt) --- /dev/null +++ b/sysdeps/mach/hurd/shmget.c -@@ -0,0 +1,245 @@ +@@ -0,0 +1,242 @@ +/* Copyright (C) 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + @@ -674,14 +674,11 @@ + error_t err = 0; + char filename[sizeof (SHM_DIR) - 1 + SHM_NAMEMAX]; + int fd = -1; -+ int create_flag; -+ -+ create_flag = (shmflags & IPC_CREAT) ? O_CREAT : 0; + sprintf (filename, SHM_DIR SHM_NAMEPRI, key); + + do +{ -+ fd = __open (filename, O_NORW | create_flag, shmflags & 0777); ++ fd = __open (filename, O_NORW, shmflags & 0777); + + if (fd < 0 && errno != ENOENT) + /* We give up. */ @@ -710,7 +707,7 @@ + else + { +/* The memory segment doesn't exist. */ -+if (create_flag) ++if (shmflags & IPC_CREAT) + { +/* Try to create it exclusively. */ +err = get_exclusive (shmflags, size, &key, &fd); -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1qnzf5-0001gw...@vasks.debian.org
Bug#636266: libc6: fread() reads more than specified number of bytes
Package: libc6 Version: 2.13-10 Severity: normal fopen()/fread() is used by some software packages (I noticed it via ECL) to read data from /dev/urandom. But fread() reads more bytes than specified (rounded up to 4096!), thereby decreasing the available entropy by a large amount. To test, compile this program: #include void main() { FILE *fh; fh = fopen("/dev/urandom", "r"); fread(&fh, 1, 1, fh); } and run via strace: ... brk(0x1e64000) = 0x1e64000 open("/dev/urandom", O_RDONLY) = 3 fstat(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x768dbb60) = -1 EINVAL (Invalid argument) mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fac45b34000 read(3, "\242\261\204\215\221\313\253#\336\355\336u\37\3Gl\374 \332\301\271\363Z\327\7@.ziU\324\305"..., 4096) = 4096 This is a bug IMO; with urandom it discards a lot of entropy, and with random it might cause hangs. -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.0.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=de_AT.UTF-8, LC_CTYPE=de_AT.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages libc6 depends on: ii libc-bin 2.13-10Embedded GNU C Library: Binaries ii libgcc1 1:4.6.1-4 GCC support library libc6 recommends no packages. Versions of packages libc6 suggests: ii debconf [debconf-2.0] 1.5.40 Debian configuration management sy pn glibc-doc (no description available) ii locales 2.13-10Embedded GNU C Library: National L -- debconf information: * glibc/upgrade: true glibc/disable-screensaver: glibc/restart-failed: * glibc/restart-services: ssh postfix openbsd-inetd cups cron atd apache2 -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110801204809.23586.66023.reportbug@cacao
Bug#636230: marked as done (libc6: installs NSS modules in nonsensical location)
Your message dated Mon, 1 Aug 2011 22:45:44 +0200 with message-id <20110801204544.gb14...@hall.aurel32.net> and subject line Re: Bug#636230: installs NSS modules in nonsensical location has caused the Debian Bug report #636230, regarding libc6: installs NSS modules in nonsensical location to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact ow...@bugs.debian.org immediately.) -- 636230: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=636230 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems --- Begin Message --- Package: libc6 Version: 2.13-10 Severity: important I need this module which used to be in /lib in initramfs to get DNS lookup support. /lib/i386-linux-gnu/libnss_dns-2.13.so How I am supposed to infer its location from the below or anything else? DEB_BUILD_ARCH=i386 DEB_BUILD_ARCH_OS=linux DEB_BUILD_ARCH_CPU=i386 DEB_BUILD_ARCH_BITS=32 DEB_BUILD_ARCH_ENDIAN=little DEB_BUILD_GNU_CPU=i486 DEB_BUILD_GNU_SYSTEM=linux-gnu DEB_BUILD_GNU_TYPE=i486-linux-gnu DEB_HOST_ARCH=i386 DEB_HOST_ARCH_OS=linux DEB_HOST_ARCH_CPU=i386 DEB_HOST_ARCH_BITS=32 DEB_HOST_ARCH_ENDIAN=little DEB_HOST_GNU_CPU=i486 DEB_HOST_GNU_SYSTEM=linux-gnu DEB_HOST_GNU_TYPE=i486-linux-gnu --- End Message --- --- Begin Message --- On Mon, Aug 01, 2011 at 06:51:33PM +0200, Michal Suchanek wrote: > Package: libc6 > Version: 2.13-10 > Severity: normal > > > it appears that libc installs the nss modules in these locations: > > /lib (Squeeze) > /lib/$(dpkg-architecture -qDEB_HOST_ARCH)-$(dpkg-architecture > -qDEB_HOST_GNU_SYSTEM) (Wheezy i386) > /lib/$(dpkg-architecture -qDEB_HOST_GNU_CPU)-$(dpkg-architecture > -qDEB_HOST_GNU_SYSTEM) (Wheezy amd64) > > There is no sense in the locations choosen. > It is actually installed in /lib/$(DEB_BUILD_MULTIARCH), that is the standard multiarch path. This is something allowed by the Debian policy (see section 9.1.1). -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net --- End Message ---
Bug#636230: installs NSS modules in nonsensical location
Package: libc6 Version: 2.13-10 Severity: normal it appears that libc installs the nss modules in these locations: /lib (Squeeze) /lib/$(dpkg-architecture -qDEB_HOST_ARCH)-$(dpkg-architecture -qDEB_HOST_GNU_SYSTEM) (Wheezy i386) /lib/$(dpkg-architecture -qDEB_HOST_GNU_CPU)-$(dpkg-architecture -qDEB_HOST_GNU_SYSTEM) (Wheezy amd64) There is no sense in the locations choosen. I don't want to know what they will be on ppc, sparc, hurd, and kfreebsd. -- System Information: Debian Release: wheezy/sid APT prefers stable APT policy: (900, 'stable'), (500, 'testing'), (410, 'unstable'), (200, 'experimental'), (111, 'oldstable'), (107, 'natty-updates'), (107, 'natty') Architecture: amd64 (x86_64) Kernel: Linux 3.0.0-rc3-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages libc6 depends on: ii libc-bin 2.13-10Embedded GNU C Library: Binaries ii libgcc1 1:4.6.1-4 GCC support library libc6 recommends no packages. Versions of packages libc6 suggests: ii debconf [debconf-2.0] 1.5.36.1 Debian configuration management sy pn glibc-doc (no description available) ii locales-all [locales] 2.13-10Embedded GNU C Library: Precompile -- debconf information excluded -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110801165133.16996.23470.report...@optiplex960.ruk.cuni.cz
Bug#636230: libc6: installs NSS modules in nonsensical location
Package: libc6 Version: 2.13-10 Severity: important I need this module which used to be in /lib in initramfs to get DNS lookup support. /lib/i386-linux-gnu/libnss_dns-2.13.so How I am supposed to infer its location from the below or anything else? DEB_BUILD_ARCH=i386 DEB_BUILD_ARCH_OS=linux DEB_BUILD_ARCH_CPU=i386 DEB_BUILD_ARCH_BITS=32 DEB_BUILD_ARCH_ENDIAN=little DEB_BUILD_GNU_CPU=i486 DEB_BUILD_GNU_SYSTEM=linux-gnu DEB_BUILD_GNU_TYPE=i486-linux-gnu DEB_HOST_ARCH=i386 DEB_HOST_ARCH_OS=linux DEB_HOST_ARCH_CPU=i386 DEB_HOST_ARCH_BITS=32 DEB_HOST_ARCH_ENDIAN=little DEB_HOST_GNU_CPU=i486 DEB_HOST_GNU_SYSTEM=linux-gnu DEB_HOST_GNU_TYPE=i486-linux-gnu -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110801160308.31098.17774.report...@virtual.ruk.cuni.cz
r4840 - in glibc-package/branches/glibc-branch-squeeze/debian: . patches/kfreebsd
Author: ps-guest Date: 2011-08-01 11:42:53 + (Mon, 01 Aug 2011) New Revision: 4840 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 r3665 Modified: glibc-package/branches/glibc-branch-squeeze/debian/changelog === --- glibc-package/branches/glibc-branch-squeeze/debian/changelog 2011-08-01 08:28:42 UTC (rev 4839) +++ glibc-package/branches/glibc-branch-squeeze/debian/changelog 2011-08-01 11:42:53 UTC (rev 4840) @@ -4,7 +4,7 @@ optimization with gcc-4.6. Closes: #619963. * Add patches/any/cvs-fnmatch.diff to fix an integer overflow in fnmatch() (CVE-2011-1659). Closes: #626370. - * kfreebsd/local-sysdeps.diff, update to r3663 (from squeeze glibc-bsd). + * kfreebsd/local-sysdeps.diff, update to r3665 (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-01 08:28:42 UTC (rev 4839) +++ glibc-package/branches/glibc-branch-squeeze/debian/patches/kfreebsd/local-sysdeps.diff 2011-08-01 11:42:53 UTC (rev 4840) @@ -7331,7 +7331,7 @@ +#include --- /dev/null +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/clone.c -@@ -0,0 +1,144 @@ +@@ -0,0 +1,143 @@ +/* Create a thread. + Copyright (C) 2002 Free Software Foundation, Inc. + This file is part of the GNU C Library. @@ -7370,7 +7370,6 @@ + +int mib[2]; +size_t size; -+char *temp; + +if (osreldate == 0) +{ -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1qnqta-a4...@vasks.debian.org
r4839 - in glibc-package/branches/glibc-branch-squeeze/debian: . patches/kfreebsd
Author: ps-guest Date: 2011-08-01 08:28:42 + (Mon, 01 Aug 2011) New Revision: 4839 Modified: glibc-package/branches/glibc-branch-squeeze/debian/changelog glibc-package/branches/glibc-branch-squeeze/debian/patches/kfreebsd/local-sysdeps.diff Log: 2.11 have slightly different internals Modified: glibc-package/branches/glibc-branch-squeeze/debian/changelog === --- glibc-package/branches/glibc-branch-squeeze/debian/changelog 2011-08-01 07:27:42 UTC (rev 4838) +++ glibc-package/branches/glibc-branch-squeeze/debian/changelog 2011-08-01 08:28:42 UTC (rev 4839) @@ -4,7 +4,7 @@ optimization with gcc-4.6. Closes: #619963. * Add patches/any/cvs-fnmatch.diff to fix an integer overflow in fnmatch() (CVE-2011-1659). Closes: #626370. - * kfreebsd/local-sysdeps.diff, update to r3662 (from squeeze glibc-bsd). + * kfreebsd/local-sysdeps.diff, update to r3663 (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-01 07:27:42 UTC (rev 4838) +++ glibc-package/branches/glibc-branch-squeeze/debian/patches/kfreebsd/local-sysdeps.diff 2011-08-01 08:28:42 UTC (rev 4839) @@ -8661,7 +8661,7 @@ +ElfW(Addr) +_dl_sysdep_start (void **start_argptr, +void (*dl_main) (const ElfW(Phdr) *phdr, ElfW(Word) phnum, -+ ElfW(Addr) *user_entry, ElfW(auxv_t) *auxv)) ++ ElfW(Addr) *user_entry)) +{ + const ElfW(Phdr) *phdr = NULL; + ElfW(Word) phnum = 0; @@ -8741,14 +8741,14 @@ + if (GLRO(dl_platform) != NULL) +GLRO(dl_platformlen) = strlen (GLRO(dl_platform)); + -+ if (__sbrk (0) == _end) ++ if (__sbrk (0) == &_end) +/* The dynamic linker was run as a program, and so the initial break + starts just after our bss, at &_end. The malloc in dl-minimal.c + will consume the rest of this page, so tell the kernel to move the + break up that far. When the user program examines its break, it + will see this new value and not clobber our data. */ +__sbrk (GLRO(dl_pagesize) -+ - ((_end - (char *) 0) & (GLRO(dl_pagesize) - 1))); ++ - ((&_end - (void *) 0) & (GLRO(dl_pagesize) - 1))); + + /* If this is a SUID program we make sure that FDs 0, 1, and 2 are + allocated. If necessary we are doing it ourself. If it is not @@ -8756,7 +8756,7 @@ + if (__builtin_expect (INTUSE(__libc_enable_secure), 0)) +__libc_check_standard_fds (); + -+ (*dl_main) (phdr, phnum, &user_entry, _dl_auxv); ++ (*dl_main) (phdr, phnum, &user_entry); + return user_entry; +} + -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1qnnrf-0008uv...@vasks.debian.org
r4838 - in glibc-package/branches/glibc-branch-squeeze/debian: . patches/kfreebsd
Author: ps-guest Date: 2011-08-01 07:27:42 + (Mon, 01 Aug 2011) New Revision: 4838 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 r3662 (from squeeze glibc-bsd). - fixes LD_PRELOAD with a kfreebsd-9 kernel. Closes: #630695. - uses upstream RFTSIGZMB for exit signal selection when available. Modified: glibc-package/branches/glibc-branch-squeeze/debian/changelog === --- glibc-package/branches/glibc-branch-squeeze/debian/changelog 2011-07-31 16:49:33 UTC (rev 4837) +++ glibc-package/branches/glibc-branch-squeeze/debian/changelog 2011-08-01 07:27:42 UTC (rev 4838) @@ -4,8 +4,10 @@ optimization with gcc-4.6. Closes: #619963. * Add patches/any/cvs-fnmatch.diff to fix an integer overflow in fnmatch() (CVE-2011-1659). Closes: #626370. - * Update patches/kfreebsd/local-sysdeps.diff to fix a crash in -if_nameindex() with more than 3 interfaces on GNU/kFreeBSD. + * kfreebsd/local-sysdeps.diff, update to r3662 (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. * Fix preinst script wrt 3.0 kernel. Patch by Colin Watson. Closes: #630077. * Update submitted-resolv.conf-thread.diff from upstream to fix a 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-07-31 16:49:33 UTC (rev 4837) +++ glibc-package/branches/glibc-branch-squeeze/debian/patches/kfreebsd/local-sysdeps.diff 2011-08-01 07:27:42 UTC (rev 4838) @@ -3175,6 +3175,46 @@ +#define _DIRENT_HAVE_D_NAMLEN 1 +#define _DIRENT_HAVE_D_TYPE 1 --- /dev/null b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/elf.h +@@ -0,0 +1,37 @@ ++/* This file defines standard ELF types, structures, and macros. ++ Copyright (C) 1995-2003,2004,2005,2006,2007,2008,2009,2010 ++ 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 _BITS_ELF_H ++#define _BITS_ELF_H ++ ++__BEGIN_DECLS ++ ++#define AT_EXECPATH 15 /* Path to the executable. */ ++#define AT_CANARY 16 /* Canary for SSP. */ ++#define AT_CANARYLEN17 /* Length of the canary. */ ++#define AT_OSRELDATE18 /* OSRELDATE. */ ++#define AT_NCPUS19 /* Number of CPUs. */ ++#define AT_PAGESIZES20 /* Pagesizes. */ ++#define AT_PAGESIZESLEN 21 /* Number of pagesizes. */ ++#define AT_STACKPROT23 /* Initial stack protection. */ ++ ++__END_DECLS ++ ++#endif/* elf.h */ +--- /dev/null +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/errno.h @@ -0,0 +1,183 @@ +/*- @@ -7291,7 +7331,7 @@ +#include --- /dev/null +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/clone.c -@@ -0,0 +1,108 @@ +@@ -0,0 +1,144 @@ +/* Create a thread. + Copyright (C) 2002 Free Software Foundation, Inc. + This file is part of the GNU C Library. @@ -7320,6 +7360,29 @@ +#include +#undef __clone + ++ ++#include ++ ++static inline int ++__kernel_osreldate(void) ++{ ++static int osreldate; ++ ++int mib[2]; ++size_t size; ++char *temp; ++ ++if (osreldate == 0) ++{ ++ mib[0] = CTL_KERN; ++ mib[1] = KERN_OSRELDATE; ++ size = sizeof osreldate; ++ if (__sysctl(mib, 2, &osreldate, &size, NULL, 0) == -1) ++ return (-1); ++} ++return (osreldate); ++} ++ +/* __start_thread (flags, child_stack, fn, arg) + is roughly equivalent to + @@ -7357,7 +7420,20 @@ +} + + if ((flags & CSIGNAL) != SIGCHLD) ++ { ++if (__kernel_osreldate() >= 802510) ++/* we slightly cheat here, */ ++/* the 9.x snapshot prior to r223966 does not support it too
Processed: tagging 630695
Processing commands for cont...@bugs.debian.org: > tags 630695 + pending Bug #630695 {Done: Aurelien Jarno } [libc0.1] LD_PRELOAD not working when running kfreebsd-9 (9.0~svn223109) Added tag(s) pending. > thanks Stopping processing here. Please contact me if you need assistance. -- 630695: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=630695 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/handler.s.c.131218367311496.transcr...@bugs.debian.org