Re: ftrace breaks sparc64 build

Sam Ravnborg
2009-01-05T22:00:32Z

On Mon, Jan 05, 2009 at 04:52:02PM -0500, Steven Rostedt wrote:
>
> On Mon, 5 Jan 2009, Sam Ravnborg wrote:
>
> > >
> > > Probably the same issue. The problem is that the first use of a variable
> > > is in the OR section of an if statement that does a return.
> > >
> > > if (x || !(y = init_me())
> > > return;
> > >
> > > use_me(y);
> > >
> >
> > More warnings:
> > fs/partitions/check.c: In function `rescan_partitions':
> > fs/partitions/check.c:511: warning: 'state' might be used uninitialized in this function
> >
> > => follow same pattern
> >
> > fs/compat_ioctl.c: In function `ppp_sock_fprog_ioctl_trans':
> > fs/compat_ioctl.c:859: warning: 'fptr32' might be used uninitialized in this function
> > fs/compat_ioctl.c: In function `do_fontx_ioctl':
> > fs/compat_ioctl.c:1082: warning: 'data' might be used uninitialized in this function
> > fs/compat_ioctl.c: In function `do_atmif_sioc':
> > fs/compat_ioctl.c:1302: warning: 'data' might be used uninitialized in this function
> > fs/compat_ioctl.c: In function `do_atm_ioctl':
> > fs/compat_ioctl.c:1272: warning: 'data' might be used uninitialized in this function
> > fs/compat_ioctl.c: In function `mtd_rw_oob':
> > fs/compat_ioctl.c:1421: warning: 'data' might be used uninitialized in this function
> > fs/compat_ioctl.c: In function `do_usbdevfs_discsignal':
> > fs/compat_ioctl.c:1650: warning: 'uctx' might be used uninitialized in this function
> >
> > This is:
> > if (get_user(flen, &u_fprog32->len) ||
> > get_user(fptr32, &u_fprog32->filter))
> > return -EFAULT;
>
> Is this all sparc cross compiler? I'm trying to reproduce it on x86 with
> no avail :-(
>
> I would like to test other ways to change the macro, but to do so, I need
> to get a compiler that will produce the warnings that you see. What
> version of gcc are you using?

I used crosstool to build a 3.4.5 gcc:
set -ex
TARBALLS_DIR=$HOME/downloads
RESULT_TOP=/opt/crosstool
export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c"
export GCC_LANGUAGES

eval `cat sparc64.dat gcc-3.4.5-glibc-2.3.6-tls.dat` sh all.sh --notest

It is running on a 32 bit target.
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 10
cpu MHz : 851.970
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips : 1704.50
clflush size : 32

Sam