Re: sparc64: Optimized immediate value implementation build error

From: Mathieu Desnoyers
Date: Mon Oct 13 2008 - 22:17:19 EST


* 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.

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

Regards,

Mathieu

--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
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/