Package: glibc Severity: important Tags: patch start.S file is messing up the paramaters when using the -pie option. This causes instant segfault on hppa when trying to run an pie executable.
This causes portmap and nscd to break on this arch and maybe many other executables. Here is a patch that fix the start problem, but all pie programs must be relinked to fix the segfault. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable') Architecture: hppa (parisc64) Kernel: Linux 2.6.18-4-parisc64 Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
--- ports/sysdeps/hppa/elf/start.S.orig 2007-06-02 12:27:53.000000000 +0200 +++ ports/sysdeps/hppa/elf/start.S 2007-06-02 12:27:49.000000000 +0200 @@ -96,16 +96,16 @@ _start: #if SHARED /* load main (1st argument) */ - addil LR'.Lpmain, %r19 - ldw RR'.Lpmain(%r1), %r26 + addil LT'.Lpmain, %r19 + ldw RT'.Lpmain(%r1), %r26 ldw 0(%r26),%r26 /* void (*init) (void) (4th argument) */ - addil LR'.Lp__libc_csu_init, %r19 - ldw RR'.Lp__libc_csu_init(%r1), %r23 + addil LT'.Lp__libc_csu_init, %r19 + ldw RT'.Lp__libc_csu_init(%r1), %r23 ldw 0(%r23), %r23 /* void (*fini) (void) (5th argument) */ - addil LR'.Lp__libc_csu_fini, %r19 - ldw RR'.Lp__libc_csu_fini(%r1), %r22 + addil LT'.Lp__libc_csu_fini, %r19 + ldw RT'.Lp__libc_csu_fini(%r1), %r22 ldw 0(%r22), %r22 #else /* load main (1st argument) */