[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
0xfaf004c0
(gdb) printf "0x%x\n",$r25
0xfaf00548
(gdb) printf "0x%x\n",$r26
0x5
(gdb) c
Continuing.

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

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

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



Reply to: