Re: sparc64: Optimized immediate value implementation build error

From: David Miller
Date: Mon Oct 13 2008 - 22:31:52 EST


From: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx>
Date: Mon, 13 Oct 2008 22:17:04 -0400

> * David Miller (davem@xxxxxxxxxxxxx) wrote:
> > From: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx>
> > Date: Mon, 13 Oct 2008 19:37:53 -0400
> >
> > > * David Miller (davem@xxxxxxxxxxxxx) wrote:
> > > > From: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx>
> > > > Date: Fri, 3 Oct 2008 16:10:07 -0400
> > > >
> > > > > I ran a cross-compiler on the -lttng tree
> > > > > git://git.kernel.org/pub/scm/linux/kernel/git/compudj/linux-2.6-lttng.git
> > > > >
> > > > > to build the sparc64 arch, and ran across this build error :
> > > > >
> > > > > /home/compudj/git/morestable/linux-2.6-lttng/include/trace/sched.h: In function `do_fork':
> > > > > /home/compudj/git/morestable/linux-2.6-lttng/include/trace/sched.h:38: warning: asm operand 1 probably doesn't match constraints
> > > > > /home/compudj/git/morestable/linux-2.6-lttng/include/trace/sched.h:38: error: impossible constraint in `asm'
> > > > > /home/compudj/git/morestable/linux-2.6-lttng/include/trace/sched.h:38: warning: 'value' might be used uninitialized in this function
> > > > > make[2]: *** [kernel/fork.o] Error 1
> > > > >
> > > > > I think it's caused by :
> > > > > http://git.kernel.org/?p=linux/kernel/git/compudj/linux-2.6-lttng.git;a=commit;h=c76bfa90a6eb02651368a152b3646aa672d9e625
> > > >
> > > > It can't be "caused by" that commit because that's the initial
> > > > immediate value sparc64 support I wrote and the tree very much compiled
> > > > properly when I did test builds way back then.
> > > >
> > > > I don't have time to look further into this right now, sorry.
> > >
> > > Ok, I'll dig into this. I use gcc 3.4.5, that could be my problem; it's
> > > broken on x86_64. I'll do some testing in this direction. Also, I see
> > > that you have used .uaword and declared "int" in your sparc64
> > > implementation to encode pointers. Am I missing something or should it
> > > be "long" and either .word or .xword (32 or 64 bits) ?
> >
> > long would be for ".uaxword", ".uaword" is 32-bit. It means
> > "UnAligned WORD"
> >
>
> Ok, it's fixed.

How? :-)

> If someone has access to a sparc64 gcc >= 4.0.0 compiler (native or
> cross) and some spare cycles, if would be interesting to build test this
> with CONFIG_IMMEDIATE=y and with CONFIG_TRACEPOINTS=y and
> CONFIG_MARKERS=y :
>
> git://git.kernel.org/pub/scm/linux/kernel/git/compudj/linux-2.6-lttng.git
> branch : 2.6.27-lttng-0.40

I just checked out 0.39 and was building it to try and reproduce your failure.
I'll pull in 0.40 next.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/