segfaults on amd64

Robert Millan rmh at aybabtu.com
Sat Feb 25 12:19:54 UTC 2006


On Sat, Feb 25, 2006 at 09:39:19AM +0100, Petr Salinger wrote:
> Hi!
>  
> > I made a 64 bit glibc build and it seems to have some trouble:
> 
> Please could you:
> 
> - add headers/prototypes for printf, exit

This revealed some breakage in my headers due to a mistake during manual install
and patching.  I fixed it, but it isn't related to this bug.

> - try it under ktrace

Quite interesting, with ktrace it gets SIGILL instead of SIGSEV.

(exit is a program that just calls exit function)

 76573 ktrace   RET   ktrace 0
 76573 ktrace   CALL  execve(0x7fffffffe9ef,0x7fffffffe828,0x7fffffffe838)
 76573 ktrace   NAMI  "./exit"
 76573 exit     RET   execve 0
 76573 exit     CALL  break(0x574088)
 76573 exit     RET   break 0
 76573 exit     CALL  sysarch(0x81,0x7fffffffe7a0)
 76573 exit     RET   sysarch 0
 76573 exit     CALL  geteuid
 76573 exit     RET   geteuid 1001/0x3e9
 76573 exit     CALL  getuid
 76573 exit     RET   getuid 1001/0x3e9
 76573 exit     CALL  getegid
 76573 exit     RET   getegid 1001/0x3e9
 76573 exit     CALL  getgid
 76573 exit     RET   getgid 1001/0x3e9
 76573 exit     CALL  __sysctl(0x7fffffffe730,0x2,0x572f88,0x7fffffffe728,0,0)
 76573 exit     RET   __sysctl 0
 76573 exit     CALL  break(0x595088)
 76573 exit     RET   break 0
 76573 exit     CALL  break(0x596000)
 76573 exit     RET   break 0
 76573 exit     PSIG  SIGILL SIG_DFL
 76573 exit     NAMI  "exit.core"

I wonder where is the code doing all this.  Suposedly the fault is after the
malloc() that brings in these brk()s ?

I'm using binutils 2.16.1 and gcc 4.0.2 btw.

> - try "make -k check" in glibc build

I need to fix a bug in binutils for that to work.  Will send the info later.

-- 
Robert Millan



More information about the Glibc-bsd-devel mailing list