[ltt-dev] [URCU] [bug] Unable to crosscompile for powerpc (userspace-rcu-0.6.1 and userspace-rcu-0.6.0)

wiktor.bogacki (LTTng Project) no-reply at lttng.org
Wed Jun 15 02:50:02 EDT 2011


Issue status update for
http://lttng.org/issue/240
Post a follow up:
http://lttng.org/comment/reply/240#comment-form


  Project:      Userspace RCU
  Version:      0.5.2
  Component:    Code
  Category:     bug report
  Priority:     normal
  Assigned to:  Anonymous
  Status:       new
  Updated by:   wiktor.bogacki

The issue have been resolved with 0.6.2, thanks!
I would suggest to claim that 0.6.0 and 0.6.1 releases are broken for
the powerpc architecture.
Or applying:
http://git.lttng.org/?p=userspace-rcu.git;a=patch;h=e6e5957d053147ab7d31...
[1]
To 0.6.0 and 0.6.1, this could be described in the documentation.


BR, /Wiktor

[1]
http://git.lttng.org/?p=userspace-rcu.git;a=patch;h=e6e5957d053147ab7d31517efb91e246e64b2927;hp=9907018c352fb561689dfb8e943f38e3ae862ea2

wiktor.bogacki


Original issue:
------------------------------------------------------------------------
Tuesday, June 14, 2011 - 10:39 : wiktor.bogacki

Hi,


I am unable to build for powerpc.


I run configure with theses parameters:
CC="/home/wiktor/powerpc-e500v2-linux-gnuspe/bin/powerpc-e500v2-linux-gnuspe-gcc"
CROSS_COMPILE="powerpc-e500v2-linux-gnuspe-"
CFLAGS="-msoft-float"
LDFLAGS=""
CROSS_COMPILE=$CROSS_COMPILE LDFLAGS=$LDFLAGS CFLAGS=$CFLAGS CC=$CC
ac_cv_build=$CROSS_COMPILE ac_cv_target=$CROSS_COMPILE
ac_cv_func_malloc_0_nonnull=yes ./configure --host=powerpc
--prefix=/home/wiktor/root_dir/ppc
-includedir=/home/wiktor/root_dir/ppc/include &&


Error_msg:
make[1]: Entering directory `/home/wiktor/lttng/userspace-rcu-0.6.1'
Making all in .
make[2]: Entering directory `/home/wiktor/lttng/userspace-rcu-0.6.1'
   CC     wfqueue.lo
In file included from ./urcu/uatomic.h:217:0,
                  from urcu/static/wfqueue.h:33,
                  from wfqueue.c:25:
./urcu/uatomic/generic.h: In function '_uatomic_and':
./urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
./urcu/uatomic/generic.h: In function '_uatomic_or':
./urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
   CC     wfstack.lo
In file included from ./urcu/uatomic.h:217:0,
                  from urcu/static/wfstack.h:33,
                  from wfstack.c:25:
./urcu/uatomic/generic.h: In function '_uatomic_and':
./urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
./urcu/uatomic/generic.h: In function '_uatomic_or':
./urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
   CC     rculfqueue.lo
In file included from ./urcu/uatomic.h:217:0,
                  from ./urcu-pointer.h:31,
                  from urcu.h:41,
                  from rculfqueue.c:25:
./urcu/uatomic/generic.h: In function '_uatomic_and':
./urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
./urcu/uatomic/generic.h: In function '_uatomic_or':
./urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
   CC     rculfstack.lo
In file included from ./urcu/uatomic.h:217:0,
                  from ./urcu-pointer.h:31,
                  from urcu.h:41,
                  from rculfstack.c:25:
./urcu/uatomic/generic.h: In function '_uatomic_and':
./urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
./urcu/uatomic/generic.h: In function '_uatomic_or':
./urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
   CCLD   liburcu-cds.la
   CC     urcu.lo
In file included from ./urcu/uatomic.h:217:0,
                  from urcu/static/urcu.h:41,
                  from urcu.c:40:
./urcu/uatomic/generic.h: In function '_uatomic_and':
./urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
./urcu/uatomic/generic.h: In function '_uatomic_or':
./urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
In file included from urcu.c:438:0:
urcu-call-rcu-impl.h: In function 'call_rcu_thread':
urcu-call-rcu-impl.h:271:2: warning: implicit declaration of function
'uatomic_or'
   CC     urcu-pointer.lo
In file included from ./urcu/uatomic.h:217:0,
                  from urcu-pointer.c:27:
./urcu/uatomic/generic.h: In function '_uatomic_and':
./urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
./urcu/uatomic/generic.h: In function '_uatomic_or':
./urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
   CCLD   liburcu.la
   CC     urcu-qsbr.lo
In file included from ./urcu/uatomic.h:217:0,
                  from urcu/static/urcu-qsbr.h:43,
                  from urcu-qsbr.c:40:
./urcu/uatomic/generic.h: In function '_uatomic_and':
./urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
./urcu/uatomic/generic.h: In function '_uatomic_or':
./urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
In file included from urcu-qsbr.c:338:0:
urcu-call-rcu-impl.h: In function 'call_rcu_thread':
urcu-call-rcu-impl.h:271:2: warning: implicit declaration of function
'uatomic_or'
   CCLD   liburcu-qsbr.la
   CC     liburcu_mb_la-urcu.lo
In file included from ./urcu/uatomic.h:217:0,
                  from urcu/static/urcu.h:41,
                  from urcu.c:40:
./urcu/uatomic/generic.h: In function '_uatomic_and':
./urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
./urcu/uatomic/generic.h: In function '_uatomic_or':
./urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
   CC     liburcu_mb_la-urcu-pointer.lo
In file included from ./urcu/uatomic.h:217:0,
                  from urcu-pointer.c:27:
./urcu/uatomic/generic.h: In function '_uatomic_and':
./urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
./urcu/uatomic/generic.h: In function '_uatomic_or':
./urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
   CCLD   liburcu-mb.la
   CC     liburcu_signal_la-urcu.lo
In file included from ./urcu/uatomic.h:217:0,
                  from urcu/static/urcu.h:41,
                  from urcu.c:40:
./urcu/uatomic/generic.h: In function '_uatomic_and':
./urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
./urcu/uatomic/generic.h: In function '_uatomic_or':
./urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
   CC     liburcu_signal_la-urcu-pointer.lo
In file included from ./urcu/uatomic.h:217:0,
                  from urcu-pointer.c:27:
./urcu/uatomic/generic.h: In function '_uatomic_and':
./urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
./urcu/uatomic/generic.h: In function '_uatomic_or':
./urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
   CCLD   liburcu-signal.la
   CC     urcu-bp.lo
In file included from ./urcu/uatomic.h:217:0,
                  from urcu/static/urcu-bp.h:40,
                  from urcu-bp.c:40:
./urcu/uatomic/generic.h: In function '_uatomic_and':
./urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
./urcu/uatomic/generic.h: In function '_uatomic_or':
./urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
In file included from urcu-bp.c:381:0:
urcu-call-rcu-impl.h: In function 'call_rcu_thread':
urcu-call-rcu-impl.h:271:2: warning: implicit declaration of function
'uatomic_or'
   CCLD   liburcu-bp.la
make[2]: Leaving directory `/home/wiktor/lttng/userspace-rcu-0.6.1'
Making all in tests
make[2]: Entering directory
`/home/wiktor/lttng/userspace-rcu-0.6.1/tests'
   CC     test_urcu.o
In file included from ../urcu/uatomic.h:217:0,
                  from ../urcu-pointer.h:31,
                  from ../urcu.h:41,
                  from test_urcu.c:63:
../urcu/uatomic/generic.h: In function '_uatomic_and':
../urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
../urcu/uatomic/generic.h: In function '_uatomic_or':
../urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
   CC     urcu.o
In file included from ../urcu/uatomic.h:217:0,
                  from ../urcu/static/urcu.h:41,
                  from ../urcu.c:40:
../urcu/uatomic/generic.h: In function '_uatomic_and':
../urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
../urcu/uatomic/generic.h: In function '_uatomic_or':
../urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
   CC     urcu-pointer.o
In file included from ../urcu/uatomic.h:217:0,
                  from ../urcu-pointer.c:27:
../urcu/uatomic/generic.h: In function '_uatomic_and':
../urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
../urcu/uatomic/generic.h: In function '_uatomic_or':
../urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
   CC     wfqueue.o
In file included from ../urcu/uatomic.h:217:0,
                  from ../urcu/static/wfqueue.h:33,
                  from ../wfqueue.c:25:
../urcu/uatomic/generic.h: In function '_uatomic_and':
../urcu/uatomic/generic.h:310:2: warning: 'return' with a value, in
function returning void
../urcu/uatomic/generic.h: In function '_uatomic_or':
../urcu/uatomic/generic.h:374:2: warning: 'return' with a value, in
function returning void
   CCLD   test_urcu
urcu.o: In function `call_rcu_thread':
/home/wiktor/lttng/userspace-rcu-0.6.1/tests/../urcu-call-rcu-impl.h:271:
undefined reference to `uatomic_or'
urcu.o: In function `call_rcu_data_free':
/home/wiktor/lttng/userspace-rcu-0.6.1/tests/../urcu-call-rcu-impl.h:578:
undefined reference to `uatomic_or'
collect2: ld returned 1 exit status
make[2]: *** [test_urcu] Error 1
make[2]: Leaving directory
`/home/wiktor/lttng/userspace-rcu-0.6.1/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/wiktor/lttng/userspace-rcu-0.6.1'
make: *** [all] Error 2


This is rather confusing since urcu-call-rcu-impl.h does include the
correct header file were uatomic_or exists(uatomic/generic.h).


Is there a specific macro that has to be included in CFLAGS? like -DPPC
or -D__PPC__ ?


BR, /Wiktor






More information about the lttng-dev mailing list