[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: liburcu sparc support, build failure on buildd



I support linux on x86 hardware, but on my old Sun blade 100, the only open source OS which consistently installs and runs properly is openbsd for sparc.  I must have tried 100 times to get linux to work but it does not work with the rage xl video board and i am not a patient guy.;  openbsd does.



On Fri, Feb 22, 2013 at 3:42 PM, Patrick Baggett <baggett.patrick@gmail.com> wrote:


On Fri, Feb 22, 2013 at 8:15 AM, Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote:
Hi,

I notice the following build failure here

https://buildd.debian.org/status/package.php?p=liburcu

Tail of log for liburcu on sparc:

urcu/static/wfqueue.h:84:2: warning: implicit declaration of function 'CMM_STORE_SHARED' [-Wimplicit-function-declaration]
urcu/static/wfqueue.h: In function '___cds_wfq_node_sync_next':
urcu/static/wfqueue.h:99:2: warning: implicit declaration of function 'CMM_LOAD_SHARED' [-Wimplicit-function-declaration]
urcu/static/wfqueue.h:99:15: warning: assignment makes pointer from integer without a cast [enabled by default]
urcu/static/wfqueue.h:104:4: warning: implicit declaration of function 'caa_cpu_relax' [-Wimplicit-function-declaration]
urcu/static/wfqueue.h: In function '___cds_wfq_dequeue_blocking':
urcu/static/wfqueue.h:126:55: warning: comparison between pointer and integer [enabled by default]
make[3]: *** [wfqueue.lo] Error 1
make[3]: Leaving directory `/build/buildd-liburcu_0.7.6-1-sparc-GySyug/liburcu-0.7.6'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/build/buildd-liburcu_0.7.6-1-sparc-GySyug/liburcu-0.7.6'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/build/buildd-liburcu_0.7.6-1-sparc-GySyug/liburcu-0.7.6'
dh_auto_build: make -j1 returned exit code 2
make: *** [build-arch] Error 2

One main question I have: what sparc architectures are supported by
Debian's "sparc" architecture ? Userspace RCU only supports Sparcv9 and
onward, because it requires some atomic instructions.


Debian definitely only supports[1] SPARCv9 compatible CPUs (sun4u, sun4v). I've heard that Linux on 32-bit SPARC (i.e. sparc <= v8) is shoddy now, but I certainly haven't tried it.
 
[1] http://www.debian.org/ports/sparc/

As documented in the urcu README file, building a package that includes
sparcv9 isntructions for 32-bit sparc can be done with:

CFLAGS="-m32 -Wa,-Av9a -g -O2" ./configure

"v9a" includes VIS instruction set, which is an extension of SPARCv9. I think only some early Fujitsu SPARC CPUs (pre 2000) are missing it -- the original UltraSPARC from Sun does include it. Probably safe to turn on, but technically extends requirements to use the program.
 

But if Debian sparc needs to support pre-v9 sparcs, then I guess it
would not be appropriate to use v9 instructions for urcu sparc build.

Thoughts ?

Thanks,

Mathieu

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com


--
To UNSUBSCRIBE, email to debian-sparc-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: [🔎] 20130222141551.GB22156@Krystal" target="_blank">http://lists.debian.org/[🔎] 20130222141551.GB22156@Krystal




Reply to: