[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#200619: gcc: parisc: compiling dietlibc-dev with -Os caus

> [CC to jda]
> Please can you recheck with a current gcc snapshot (from the
> gcc-snapshot package) and attach the preprocessed source?

This doesn't appear to be a gcc problem.  The register %r3 is saved
on the stack in __stdio_init_file_nothreads.  The stack location
is clobbered by the fstat syscall.

> > +  {
> > +    struct stat st;
> > +    fstat(fd,&st);

At the fstat call we have the following values:

Breakpoint 11, 0x00010b10 in __stdio_init_file_nothreads ()
(gdb) printf "0x%x\n",*0xfaf005a8
(gdb) printf "0x%x\n",$r25
(gdb) printf "0x%x\n",$r26
(gdb) c

Breakpoint 12, 0x00010b18 in __stdio_init_file_nothreads ()
(gdb) printf "0x%x\n",*0xfaf005a8

0xfaf005a8 is the location where %r3 was saved.  The break is at the
fstat syscall.  Non of the user space code in the call patch affects
the above location, so the bug must be in the kernel.

I looked at this on a 64-bit kernel:

dave@gsyprf11:~/dietlibc-0.22.orig$ uname -a
Linux gsyprf11.external.hp.com 2.4.21-pa6 #23 Mon Jul 14 23:11:39 PDT 2003 parisc64 GNU/Linux

J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

Reply to: