On Mon, Jan 05, 2009 at 09:07:05PM -0500, Steven Rostedt wrote: > On Tue, 6 Jan 2009, Heiko Carstens wrote: > > On Mon, Jan 05, 2009 at 05:14:22PM -0500, Steven Rostedt wrote: > > > On Mon, 5 Jan 2009, Sam Ravnborg wrote: > > > > > > > > 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: > > > > > > Hmm, that's a pretty old compiler. I wonder if it wouldn't just help > > > if we just make the branch tracer dependent on the compiler used. That is. > > > > > > #if defined(CONFIG_PROFILE_ALL_BRANCHES) && (__GNUC__ >= 4) > > > #define if(cond) ... > > > > > > Or something :-/ > > > > FWIW, on s390 with gcc 4.3.2 and an allyesconfig I get these: > > > > CC arch/s390/mm/extmem.o > > arch/s390/mm/extmem.c: In function 'segment_modify_shared': > > arch/s390/mm/extmem.c:572: warning: 'end_addr' may be used uninitialized in this function > > arch/s390/mm/extmem.c:572: warning: 'start_addr' may be used uninitialized in this function > > arch/s390/mm/extmem.c: In function 'query_segment_type': > > arch/s390/mm/extmem.c:259: warning: 'vmrc' may be used uninitialized in this function > > > > Switching off PROFILE_ALL_BRANCHES makes the warnings go away again. > > Now that is really interesting. Because end_addr and start_addr are > initialized via functions: > > if (x) > init_me(a, &y); > else > init_me(b, &y); > > Which actually does not make sense why turning off PROFILE_ALL_BRANCHES > would affect this :-/ They are not necessarily initialized via 'initme'. Only if it returns with a return value >= 0. So it's a bit more complex: if (x) rc = init_me(a, &y); else rc = init_me(b, &y); if (rc < 0) /* y unitialized */ return; use(y); -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html