Your message dated Sat, 01 Apr 2006 04:32:07 -0800 with message-id <[EMAIL PROTECTED]> and subject line Bug#351875: fixed in dietlibc 0.29-10 has caused the attached Bug report 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 I am talking about this indicates a serious mail system misconfiguration somewhere. Please contact me immediately.) Debian bug tracking system administrator (administrator, Debian Bugs database)
--- Begin Message ---Package: dietlibc-dev Version: 0.29-8 Severity: normal Herbert Poetzl reported the following problem with dietlibc on hppa/parisc machines: syscalls.s/_llseek.S defines the llseek function as direct branch/call to the unified syscall wrapper (which I think is wrong too, but to that later) now, on hppa/parisc the calling convention uses r26-r23 for the first four arguments, the rest is spilled onto the stack. however the Linux kernel passes the first six arguments in the registers r26-r21. as the llseek syscall takes five arguments, this leads to random arguments for the r22 (whence argument) and strange failures like this: _llseek(3, 0, 0xc00202d0, 0x4047f444 /* SEEK_??? */) = -1 EINVAL (Invalid argument) with the following test code int main(int argc, char *argv[]) { int fd, ret; loff_t lpos; char *name = argv[1]; fd = open(name, O_RDONLY); ret = llseek(fd, 0, 0, &lpos, SEEK_END); printf("file %s has length %lld\n", name, (long long)lpos); close(fd); exit(0); } a dirty hack (just to verify that this is true) is to add the following: llseek: + ldw -0x34(%sp), %r22 syscall(_llseek,_llseek) which will load the r22 register with the proper value from the stack ... another issue I found for parisc/hppa is that parisc/unified.S does __unified_syscall: be,l 0x100(%sr2, %r0), %sr0, %r31 nop while the linux kernel says: arch/parisc/kernel/signal.c * We need to be able to restore the syscall arguments (r21-r26) to * restart syscalls. Thus, the syscall path should save them in the * pt_regs structure (it's okay to do so since they are caller-save * registers). As noted below, the syscall number gets restored for * us due to the magic of delayed branching. /* Hooray for delayed branching. We don't have to restore %r20 (the system call number) because it gets loaded in the delay slot of the branch external instruction. */ so the following seems still to be true: The system call number MUST ALWAYS be loaded in the delay slot of the ble instruction, or restarting system calls WILL NOT WORK. a possible 'workaround' would be to use some other register and just 'copy' the syscall number to r20 in the delay slot, also on PIC code r19 has to be saved as it will be clobberd -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.15-1-686-smp Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) dietlibc-dev depends on no packages. Versions of packages dietlibc-dev recommends: pn dietlibc <none> (no description available) -- no debconf information
--- End Message ---
--- Begin Message ---Source: dietlibc Source-Version: 0.29-10 We believe that the bug you reported is fixed in the latest version of dietlibc, which is due to be installed in the Debian FTP archive: dietlibc-doc_0.29-10_all.deb to pool/main/d/dietlibc/dietlibc-doc_0.29-10_all.deb dietlibc_0.29-10.diff.gz to pool/main/d/dietlibc/dietlibc_0.29-10.diff.gz dietlibc_0.29-10.dsc to pool/main/d/dietlibc/dietlibc_0.29-10.dsc A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [EMAIL PROTECTED], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Gerrit Pape <[EMAIL PROTECTED]> (supplier of updated dietlibc package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [EMAIL PROTECTED]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.7 Date: Sat, 1 Apr 2006 10:31:30 +0000 Source: dietlibc Binary: dietlibc-doc dietlibc dietlibc-dev Architecture: all source Version: 0.29-10 Distribution: unstable Urgency: low Maintainer: Gerrit Pape <[EMAIL PROTECTED]> Changed-By: Gerrit Pape <[EMAIL PROTECTED]> Description: dietlibc - diet libc shared libraries - a libc optimized for small size dietlibc-dev - diet libc - a libc optimized for small size dietlibc-doc - diet libc documentation - a libc optimized for small size Closes: 351875 360007 Changes: dietlibc (0.29-10) unstable; urgency=low . * debian/diff/patch-diet-parisc-fix06.diff: new; fixes issues with the parisc syscalls that all contain 5 or 6 arguments (thx Herbert Poetzl, Micah Anderson, closes: #351875, #360007). * debian/diff/parisc-sendto-recvfrom.diff: remove; obsolete. Files: bfbca77ad4b4bf2d4f3a9c157e317bf7 558 devel optional dietlibc_0.29-10.dsc c6f4d1be33455b3762c6f5b11e043ffc 58770 devel optional dietlibc_0.29-10.diff.gz 13baf66284049b69ed14e0af27ec8e95 47342 doc optional dietlibc-doc_0.29-10_all.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) iD8DBQFELm7SGJoyQbxwpv8RAjihAKCi7CmunzHK2eRNW4A+qUBDdan+lgCeNWlZ rUMlY7GAx5v1Sg23IQeYaGQ= =q+TL -----END PGP SIGNATURE-----
--- End Message ---

