All times are UTC-06:00




Post new topic  Reply to topic  [ 12 posts ] 
Author Message
PostPosted: Mon Sep 10, 2007 6:05 am 
Offline
Site Admin

Joined: Fri Sep 24, 2004 1:39 am
Posts: 1589
Location: Austin, TX
Hi guys,

After a little discussion with Ricardo Correia (ZFS-FUSE, http://www.wizy.org) and Tom Riddle (Sun Labs) and a little internal test (thanks Nicolas and Sven @ http://www.powerlinux.fr) and found some problems here and there while we went.

We seem to have gotten somewhere with bringing in at least the very first, basic Power Architecture support for ZFS, at least under Linux.

Ricardo has kindly provided a snapshot which should compile just fine for anyone with FUSE support on their system.

http://www.wizy.org/files/zfs-fuse-ppc-test.tar.bz2

So, in the time honoured fashion, I would like to see if any of you guys can compile and mount a simple ZFS filesystem to see if the thing is working. If there's some success, a lot of 'ztest' data would come in really handy. If anyone wants to work on packaging for Debian, or perhaps an ebuild for the Efika overlay on Gentoo, that would also be very much appreciated. Of course it is dependant on what system you use and how much can be achieved..

This is the very first steps now, but it should bring Power Architecture one of the best filesystems on the planet. As FUSE filesystems ostensibly run in userspace, there is a lot of room for optimisation which cannot be done inside a kernel - it has been said that the Sun LZJB compression routine is vectorisable, and certainly any Power-specific code would be a boon.

Note that this is all focussing on 32-bit old-school (603e/G3/G4) Power systems. There is no use of 64-bit functionality - if someone wants to modify them to support G5 or POWER4/5/6 processors and fix up a way to compile the filesystem properly here, that would be much appreciated, and I guess the same goes for the IBM/AMCC processor lines.

Please do not break it for the Pegasos/Efika/PowerBook community though :)

Thanks for your time, and happy compiling :)

_________________
Matt Sealey


Top
   
PostPosted: Tue Sep 11, 2007 8:41 am 
Offline
Site Admin

Joined: Fri Sep 24, 2004 1:39 am
Posts: 1589
Location: Austin, TX
There really can't be zero takers or interested parties for this?

Come on guys, let's show a little enthusiasm!

_________________
Matt Sealey


Top
   
 Post subject:
PostPosted: Tue Sep 11, 2007 9:20 am 
Offline

Joined: Thu Jul 28, 2005 12:41 am
Posts: 1066
OK, I'm already installing development tools on my Pegasos for openSUSE 10.3 factory. It will be a three way test:

- test of the sources

- test of the openSUSE 10.3 devel tools

- test, how much I can understand from FUSE, as I never used it before

Results tomorrow, as I'm falling asleep now on my keyboard :)

_________________
CzP
http://czanik.blogs.balabit.com/


Top
   
 Post subject:
PostPosted: Wed Sep 12, 2007 2:30 am 
Offline

Joined: Thu Jul 28, 2005 12:41 am
Posts: 1066
Isn't it a bit too strict? One warning, and compilation fails:
Code:
gcc -o lib/libumem/init_lib.o -c -pipe -Wall -Werror -std=c99 -Wno-unused -Wno-missing-braces -Wno-parentheses -Wno-uninitialized -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DTEXT_DOMAIN=\"zfs-fuse\" -ggdb -O2 -Ilib/libumem -Ilib/libumem/include lib/libumem/init_lib.c
cc1: warnings being treated as errors
In file included from lib/libumem/umem_impl.h:49,
from lib/libumem/umem_base.h:32,
from lib/libumem/init_lib.c:37:
lib/libumem/sol_compat.h: In function 'ec_atomic_inc':
lib/libumem/sol_compat.h:152: warning: implicit declaration of function 'ec_atomic_cas'
scons: *** [lib/libumem/init_lib.o] Error 1
scons: building terminated because of errors.
b3pegasos:~/zfs-fuse-ppc-test/src #
I'm compiling on openSUSE 10.3-beta3 on Pegasos. Here are the software versions:

b3pegasos:~ # rpm -qa | grep -i fuse
libfuse2-2.7.0-19
fuse-2.7.0-19
fusesmb-0.8.5-93
ntfsprogs-fuse-1.13.1-46
fuse-devel-2.7.0-19
fuseiso-20070116-45
b3pegasos:~ # rpm -qa | grep zlib
zlib-devel-1.2.3-72
zlib-1.2.3-72
b3pegasos:~ # getconf GNU_LIBC_VERSION
glibc 2.6.1
b3pegasos:~ # getconf GNU_LIBPTHREAD_VERSION
NPTL 2.6.1
b3pegasos:~/zfs-fuse-ppc-test # rpm -q scons
scons-0.97-27

_________________
CzP
http://czanik.blogs.balabit.com/


Top
   
 Post subject:
PostPosted: Wed Sep 12, 2007 2:56 am 
Offline

Joined: Thu Jul 28, 2005 12:41 am
Posts: 1066
Tried using 'scons -k' to compile (keep going with compilation even if there are errors), but ran into another problem. Due to '-k' compilation keeps going, but installation fails.
Code:
gcc -Ilib/libsolcompat/include -Ilib/libsolcompat/include/ppc -c -o lib/libsolcompat/ppc/atomic.o lib/libsolcompat/ppc/atomic.S
lib/libsolcompat/ppc/atomic.S: Assembler messages:
lib/libsolcompat/ppc/atomic.S:130: Error: Unrecognized opcode: `entry(atomic_dec_8)'
lib/libsolcompat/ppc/atomic.S:131: Error: Unrecognized opcode: `altentry(atomic_dec_8_nv)'
lib/libsolcompat/ppc/atomic.S:132: Error: Unrecognized opcode: `altentry(atomic_dec_uchar)'
lib/libsolcompat/ppc/atomic.S:133: Error: Unrecognized opcode: `altentry(atomic_dec_uchar_nv)'
lib/libsolcompat/ppc/atomic.S:136: Error: Unrecognized opcode: `set_size(atomic_dec_uchar_nv)'
lib/libsolcompat/ppc/atomic.S:137: Error: Unrecognized opcode: `set_size(atomic_dec_uchar)'
lib/libsolcompat/ppc/atomic.S:138: Error: Unrecognized opcode: `set_size(atomic_dec_8_nv)'
lib/libsolcompat/ppc/atomic.S:139: Error: Unrecognized opcode: `set_size(atomic_dec_8)'
lib/libsolcompat/ppc/atomic.S:141: Error: Unrecognized opcode: `entry(atomic_inc_8)'
lib/libsolcompat/ppc/atomic.S:142: Error: Unrecognized opcode: `altentry(atomic_inc_8_nv)'
lib/libsolcompat/ppc/atomic.S:143: Error: Unrecognized opcode: `altentry(atomic_inc_uchar)'
lib/libsolcompat/ppc/atomic.S:144: Error: Unrecognized opcode: `altentry(atomic_inc_uchar_nv)'
lib/libsolcompat/ppc/atomic.S:146: Error: Unrecognized opcode: `set_size(atomic_inc_uchar_nv)'
lib/libsolcompat/ppc/atomic.S:147: Error: Unrecognized opcode: `set_size(atomic_inc_uchar)'
lib/libsolcompat/ppc/atomic.S:148: Error: Unrecognized opcode: `set_size(atomic_inc_8_nv)'
lib/libsolcompat/ppc/atomic.S:149: Error: Unrecognized opcode: `set_size(atomic_inc_8)'
lib/libsolcompat/ppc/atomic.S:151: Error: Unrecognized opcode: `entry(atomic_add_8)'
lib/libsolcompat/ppc/atomic.S:152: Error: Unrecognized opcode: `altentry(atomic_add_8_nv)'
lib/libsolcompat/ppc/atomic.S:153: Error: Unrecognized opcode: `altentry(atomic_add_char)'
lib/libsolcompat/ppc/atomic.S:154: Error: Unrecognized opcode: `altentry(atomic_add_char_nv)'
lib/libsolcompat/ppc/atomic.S:157: Error: Unrecognized opcode: `set_size(atomic_add_char_nv)'
lib/libsolcompat/ppc/atomic.S:158: Error: Unrecognized opcode: `set_size(atomic_add_char)'
lib/libsolcompat/ppc/atomic.S:159: Error: Unrecognized opcode: `set_size(atomic_add_8_nv)'
lib/libsolcompat/ppc/atomic.S:160: Error: Unrecognized opcode: `set_size(atomic_add_8)'
lib/libsolcompat/ppc/atomic.S:162: Error: Unrecognized opcode: `entry(atomic_dec_16)'
lib/libsolcompat/ppc/atomic.S:163: Error: Unrecognized opcode: `altentry(atomic_dec_16_nv)'
lib/libsolcompat/ppc/atomic.S:164: Error: Unrecognized opcode: `altentry(atomic_dec_ushort)'
lib/libsolcompat/ppc/atomic.S:165: Error: Unrecognized opcode: `altentry(atomic_dec_ushort_nv)'
lib/libsolcompat/ppc/atomic.S:168: Error: Unrecognized opcode: `set_size(atomic_dec_ushort_nv)'
lib/libsolcompat/ppc/atomic.S:169: Error: Unrecognized opcode: `set_size(atomic_dec_ushort)'
lib/libsolcompat/ppc/atomic.S:170: Error: Unrecognized opcode: `set_size(atomic_dec_16_nv)'
lib/libsolcompat/ppc/atomic.S:171: Error: Unrecognized opcode: `set_size(atomic_dec_16)'
lib/libsolcompat/ppc/atomic.S:173: Error: Unrecognized opcode: `entry(atomic_inc_16)'
lib/libsolcompat/ppc/atomic.S:174: Error: Unrecognized opcode: `altentry(atomic_inc_16_nv)'
lib/libsolcompat/ppc/atomic.S:175: Error: Unrecognized opcode: `altentry(atomic_inc_ushort)'
lib/libsolcompat/ppc/atomic.S:176: Error: Unrecognized opcode: `altentry(atomic_inc_ushort_nv)'
lib/libsolcompat/ppc/atomic.S:178: Error: Unrecognized opcode: `set_size(atomic_inc_ushort_nv)'
lib/libsolcompat/ppc/atomic.S:179: Error: Unrecognized opcode: `set_size(atomic_inc_ushort)'
lib/libsolcompat/ppc/atomic.S:180: Error: Unrecognized opcode: `set_size(atomic_inc_16_nv)'
lib/libsolcompat/ppc/atomic.S:181: Error: Unrecognized opcode: `set_size(atomic_inc_16)'
lib/libsolcompat/ppc/atomic.S:184: Error: Unrecognized opcode: `entry(atomic_add_16)'
lib/libsolcompat/ppc/atomic.S:185: Error: Unrecognized opcode: `altentry(atomic_add_16_nv)'
lib/libsolcompat/ppc/atomic.S:186: Error: Unrecognized opcode: `altentry(atomic_add_short)'
lib/libsolcompat/ppc/atomic.S:187: Error: Unrecognized opcode: `altentry(atomic_add_short_nv)'
lib/libsolcompat/ppc/atomic.S:190: Error: Unrecognized opcode: `set_size(atomic_add_short_nv)'
lib/libsolcompat/ppc/atomic.S:191: Error: Unrecognized opcode: `set_size(atomic_add_short)'
lib/libsolcompat/ppc/atomic.S:192: Error: Unrecognized opcode: `set_size(atomic_add_16_nv)'
lib/libsolcompat/ppc/atomic.S:193: Error: Unrecognized opcode: `set_size(atomic_add_16)'
lib/libsolcompat/ppc/atomic.S:195: Error: Unrecognized opcode: `entry(atomic_dec_32)'
lib/libsolcompat/ppc/atomic.S:196: Error: Unrecognized opcode: `altentry(atomic_dec_32_nv)'
lib/libsolcompat/ppc/atomic.S:197: Error: Unrecognized opcode: `altentry(atomic_dec_uint)'
lib/libsolcompat/ppc/atomic.S:198: Error: Unrecognized opcode: `altentry(atomic_dec_uint_nv)'
lib/libsolcompat/ppc/atomic.S:199: Error: Unrecognized opcode: `altentry(atomic_dec_ulong)'
lib/libsolcompat/ppc/atomic.S:200: Error: Unrecognized opcode: `altentry(atomic_dec_ulong_nv)'
lib/libsolcompat/ppc/atomic.S:203: Error: Unrecognized opcode: `set_size(atomic_dec_ulong_nv)'
lib/libsolcompat/ppc/atomic.S:204: Error: Unrecognized opcode: `set_size(atomic_dec_ulong)'
lib/libsolcompat/ppc/atomic.S:205: Error: Unrecognized opcode: `set_size(atomic_dec_uint_nv)'
lib/libsolcompat/ppc/atomic.S:206: Error: Unrecognized opcode: `set_size(atomic_dec_uint)'
lib/libsolcompat/ppc/atomic.S:207: Error: Unrecognized opcode: `set_size(atomic_dec_32_nv)'
lib/libsolcompat/ppc/atomic.S:208: Error: Unrecognized opcode: `set_size(atomic_dec_32)'
lib/libsolcompat/ppc/atomic.S:210: Error: Unrecognized opcode: `entry(atomic_inc_32)'
lib/libsolcompat/ppc/atomic.S:211: Error: Unrecognized opcode: `altentry(atomic_inc_32_nv)'
lib/libsolcompat/ppc/atomic.S:212: Error: Unrecognized opcode: `altentry(atomic_inc_uint)'
lib/libsolcompat/ppc/atomic.S:213: Error: Unrecognized opcode: `altentry(atomic_inc_uint_nv)'
lib/libsolcompat/ppc/atomic.S:214: Error: Unrecognized opcode: `altentry(atomic_inc_ulong)'
lib/libsolcompat/ppc/atomic.S:215: Error: Unrecognized opcode: `altentry(atomic_inc_ulong_nv)'
lib/libsolcompat/ppc/atomic.S:217: Error: Unrecognized opcode: `set_size(atomic_inc_ulong_nv)'
lib/libsolcompat/ppc/atomic.S:218: Error: Unrecognized opcode: `set_size(atomic_inc_ulong)'
lib/libsolcompat/ppc/atomic.S:219: Error: Unrecognized opcode: `set_size(atomic_inc_uint_nv)'
lib/libsolcompat/ppc/atomic.S:220: Error: Unrecognized opcode: `set_size(atomic_inc_uint)'
lib/libsolcompat/ppc/atomic.S:221: Error: Unrecognized opcode: `set_size(atomic_inc_32_nv)'
lib/libsolcompat/ppc/atomic.S:222: Error: Unrecognized opcode: `set_size(atomic_inc_32)'
lib/libsolcompat/ppc/atomic.S:224: Error: Unrecognized opcode: `entry(atomic_add_32)'
lib/libsolcompat/ppc/atomic.S:225: Error: Unrecognized opcode: `altentry(atomic_add_32_nv)'
lib/libsolcompat/ppc/atomic.S:226: Error: Unrecognized opcode: `altentry(atomic_add_int)'
lib/libsolcompat/ppc/atomic.S:227: Error: Unrecognized opcode: `altentry(atomic_add_int_nv)'
lib/libsolcompat/ppc/atomic.S:228: Error: Unrecognized opcode: `altentry(atomic_add_ptr)'
lib/libsolcompat/ppc/atomic.S:229: Error: Unrecognized opcode: `altentry(atomic_add_ptr_nv)'
lib/libsolcompat/ppc/atomic.S:230: Error: Unrecognized opcode: `altentry(atomic_add_long)'
lib/libsolcompat/ppc/atomic.S:231: Error: Unrecognized opcode: `altentry(atomic_add_long_nv)'
lib/libsolcompat/ppc/atomic.S:234: Error: Unrecognized opcode: `set_size(atomic_add_long_nv)'
lib/libsolcompat/ppc/atomic.S:235: Error: Unrecognized opcode: `set_size(atomic_add_long)'
lib/libsolcompat/ppc/atomic.S:236: Error: Unrecognized opcode: `set_size(atomic_add_ptr_nv)'
lib/libsolcompat/ppc/atomic.S:237: Error: Unrecognized opcode: `set_size(atomic_add_ptr)'
lib/libsolcompat/ppc/atomic.S:238: Error: Unrecognized opcode: `set_size(atomic_add_int_nv)'
lib/libsolcompat/ppc/atomic.S:239: Error: Unrecognized opcode: `set_size(atomic_add_int)'
lib/libsolcompat/ppc/atomic.S:240: Error: Unrecognized opcode: `set_size(atomic_add_32_nv)'
lib/libsolcompat/ppc/atomic.S:241: Error: Unrecognized opcode: `set_size(atomic_add_32)'
lib/libsolcompat/ppc/atomic.S:243: Error: Unrecognized opcode: `entry(atomic_dec_64)'
lib/libsolcompat/ppc/atomic.S:244: Error: Unrecognized opcode: `altentry(atomic_dec_64_nv)'
lib/libsolcompat/ppc/atomic.S:248: Error: Unrecognized opcode: `set_size(atomic_dec_64_nv)'
lib/libsolcompat/ppc/atomic.S:249: Error: Unrecognized opcode: `set_size(atomic_dec_64)'
lib/libsolcompat/ppc/atomic.S:251: Error: Unrecognized opcode: `entry(atomic_inc_64)'
lib/libsolcompat/ppc/atomic.S:252: Error: Unrecognized opcode: `altentry(atomic_inc_64_nv)'
lib/libsolcompat/ppc/atomic.S:255: Error: Unrecognized opcode: `set_size(atomic_inc_64_nv)'
lib/libsolcompat/ppc/atomic.S:256: Error: Unrecognized opcode: `set_size(atomic_inc_64)'
lib/libsolcompat/ppc/atomic.S:258: Error: Unrecognized opcode: `entry(atomic_add_64)'
lib/libsolcompat/ppc/atomic.S:259: Error: Unrecognized opcode: `altentry(atomic_add_64_nv)'
lib/libsolcompat/ppc/atomic.S:270: Error: Unrecognized opcode: `set_size(atomic_add_64_nv)'
lib/libsolcompat/ppc/atomic.S:271: Error: Unrecognized opcode: `set_size(atomic_add_64)'
lib/libsolcompat/ppc/atomic.S:273: Error: Unrecognized opcode: `entry(atomic_or_8)'
lib/libsolcompat/ppc/atomic.S:274: Error: Unrecognized opcode: `altentry(atomic_or_8_nv)'
lib/libsolcompat/ppc/atomic.S:275: Error: Unrecognized opcode: `altentry(atomic_or_uchar)'
lib/libsolcompat/ppc/atomic.S:276: Error: Unrecognized opcode: `altentry(atomic_or_uchar_nv)'
lib/libsolcompat/ppc/atomic.S:278: Error: Unrecognized opcode: `set_size(atomic_or_uchar_nv)'
lib/libsolcompat/ppc/atomic.S:279: Error: Unrecognized opcode: `set_size(atomic_or_uchar)'
lib/libsolcompat/ppc/atomic.S:280: Error: Unrecognized opcode: `set_size(atomic_or_8_nv)'
lib/libsolcompat/ppc/atomic.S:281: Error: Unrecognized opcode: `set_size(atomic_or_8)'
lib/libsolcompat/ppc/atomic.S:283: Error: Unrecognized opcode: `entry(atomic_or_16)'
lib/libsolcompat/ppc/atomic.S:284: Error: Unrecognized opcode: `altentry(atomic_or_16_nv)'
lib/libsolcompat/ppc/atomic.S:285: Error: Unrecognized opcode: `altentry(atomic_or_ushort)'
lib/libsolcompat/ppc/atomic.S:286: Error: Unrecognized opcode: `altentry(atomic_or_ushort_nv)'
lib/libsolcompat/ppc/atomic.S:288: Error: Unrecognized opcode: `set_size(atomic_or_ushort_nv)'
lib/libsolcompat/ppc/atomic.S:289: Error: Unrecognized opcode: `set_size(atomic_or_ushort)'
lib/libsolcompat/ppc/atomic.S:290: Error: Unrecognized opcode: `set_size(atomic_or_16_nv)'
lib/libsolcompat/ppc/atomic.S:291: Error: Unrecognized opcode: `set_size(atomic_or_16)'
lib/libsolcompat/ppc/atomic.S:293: Error: Unrecognized opcode: `entry(atomic_or_32)'
lib/libsolcompat/ppc/atomic.S:294: Error: Unrecognized opcode: `altentry(atomic_or_32_nv)'
lib/libsolcompat/ppc/atomic.S:295: Error: Unrecognized opcode: `altentry(atomic_or_uint)'
lib/libsolcompat/ppc/atomic.S:296: Error: Unrecognized opcode: `altentry(atomic_or_uint_nv)'
lib/libsolcompat/ppc/atomic.S:297: Error: Unrecognized opcode: `altentry(atomic_or_ulong)'
lib/libsolcompat/ppc/atomic.S:298: Error: Unrecognized opcode: `altentry(atomic_or_ulong_nv)'
lib/libsolcompat/ppc/atomic.S:300: Error: Unrecognized opcode: `set_size(atomic_or_ulong_nv)'
lib/libsolcompat/ppc/atomic.S:301: Error: Unrecognized opcode: `set_size(atomic_or_ulong)'
lib/libsolcompat/ppc/atomic.S:302: Error: Unrecognized opcode: `set_size(atomic_or_uint_nv)'
lib/libsolcompat/ppc/atomic.S:303: Error: Unrecognized opcode: `set_size(atomic_or_uint)'
lib/libsolcompat/ppc/atomic.S:304: Error: Unrecognized opcode: `set_size(atomic_or_32_nv)'
lib/libsolcompat/ppc/atomic.S:305: Error: Unrecognized opcode: `set_size(atomic_or_32)'
lib/libsolcompat/ppc/atomic.S:307: Error: Unrecognized opcode: `entry(atomic_or_64)'
lib/libsolcompat/ppc/atomic.S:308: Error: Unrecognized opcode: `altentry(atomic_or_64_nv)'
lib/libsolcompat/ppc/atomic.S:318: Error: Unrecognized opcode: `set_size(atomic_or_64_nv)'
lib/libsolcompat/ppc/atomic.S:319: Error: Unrecognized opcode: `set_size(atomic_or_64)'
lib/libsolcompat/ppc/atomic.S:321: Error: Unrecognized opcode: `entry(atomic_and_8)'
lib/libsolcompat/ppc/atomic.S:322: Error: Unrecognized opcode: `altentry(atomic_and_8_nv)'
lib/libsolcompat/ppc/atomic.S:323: Error: Unrecognized opcode: `altentry(atomic_and_uchar)'
lib/libsolcompat/ppc/atomic.S:324: Error: Unrecognized opcode: `altentry(atomic_and_uchar_nv)'
lib/libsolcompat/ppc/atomic.S:326: Error: Unrecognized opcode: `set_size(atomic_and_uchar_nv)'
lib/libsolcompat/ppc/atomic.S:327: Error: Unrecognized opcode: `set_size(atomic_and_uchar)'
lib/libsolcompat/ppc/atomic.S:328: Error: Unrecognized opcode: `set_size(atomic_and_8_nv)'
lib/libsolcompat/ppc/atomic.S:329: Error: Unrecognized opcode: `set_size(atomic_and_8)'
lib/libsolcompat/ppc/atomic.S:331: Error: Unrecognized opcode: `entry(atomic_and_16)'
lib/libsolcompat/ppc/atomic.S:332: Error: Unrecognized opcode: `altentry(atomic_and_16_nv)'
lib/libsolcompat/ppc/atomic.S:333: Error: Unrecognized opcode: `altentry(atomic_and_ushort)'
lib/libsolcompat/ppc/atomic.S:334: Error: Unrecognized opcode: `altentry(atomic_and_ushort_nv)'
lib/libsolcompat/ppc/atomic.S:336: Error: Unrecognized opcode: `set_size(atomic_and_ushort_nv)'
lib/libsolcompat/ppc/atomic.S:337: Error: Unrecognized opcode: `set_size(atomic_and_ushort)'
lib/libsolcompat/ppc/atomic.S:338: Error: Unrecognized opcode: `set_size(atomic_and_16_nv)'
lib/libsolcompat/ppc/atomic.S:339: Error: Unrecognized opcode: `set_size(atomic_and_16)'
lib/libsolcompat/ppc/atomic.S:341: Error: Unrecognized opcode: `entry(atomic_and_32)'
lib/libsolcompat/ppc/atomic.S:342: Error: Unrecognized opcode: `altentry(atomic_and_32_nv)'
lib/libsolcompat/ppc/atomic.S:343: Error: Unrecognized opcode: `altentry(atomic_and_uint)'
lib/libsolcompat/ppc/atomic.S:344: Error: Unrecognized opcode: `altentry(atomic_and_uint_nv)'
lib/libsolcompat/ppc/atomic.S:345: Error: Unrecognized opcode: `altentry(atomic_and_ulong)'
lib/libsolcompat/ppc/atomic.S:346: Error: Unrecognized opcode: `altentry(atomic_and_ulong_nv)'
lib/libsolcompat/ppc/atomic.S:348: Error: Unrecognized opcode: `set_size(atomic_and_ulong_nv)'
lib/libsolcompat/ppc/atomic.S:349: Error: Unrecognized opcode: `set_size(atomic_and_ulong)'
lib/libsolcompat/ppc/atomic.S:350: Error: Unrecognized opcode: `set_size(atomic_and_uint_nv)'
lib/libsolcompat/ppc/atomic.S:351: Error: Unrecognized opcode: `set_size(atomic_and_uint)'
lib/libsolcompat/ppc/atomic.S:352: Error: Unrecognized opcode: `set_size(atomic_and_32_nv)'
lib/libsolcompat/ppc/atomic.S:353: Error: Unrecognized opcode: `set_size(atomic_and_32)'
lib/libsolcompat/ppc/atomic.S:355: Error: Unrecognized opcode: `entry(atomic_and_64)'
lib/libsolcompat/ppc/atomic.S:356: Error: Unrecognized opcode: `altentry(atomic_and_64_nv)'
lib/libsolcompat/ppc/atomic.S:366: Error: Unrecognized opcode: `set_size(atomic_and_64_nv)'
lib/libsolcompat/ppc/atomic.S:367: Error: Unrecognized opcode: `set_size(atomic_and_64)'
lib/libsolcompat/ppc/atomic.S:369: Error: Unrecognized opcode: `entry(atomic_cas_8)'
lib/libsolcompat/ppc/atomic.S:370: Error: Unrecognized opcode: `altentry(atomic_cas_uchar)'
lib/libsolcompat/ppc/atomic.S:372: Error: Unrecognized opcode: `set_size(atomic_cas_uchar)'
lib/libsolcompat/ppc/atomic.S:373: Error: Unrecognized opcode: `set_size(atomic_cas_8)'
lib/libsolcompat/ppc/atomic.S:375: Error: Unrecognized opcode: `entry(atomic_cas_16)'
lib/libsolcompat/ppc/atomic.S:376: Error: Unrecognized opcode: `altentry(atomic_cas_ushort)'
lib/libsolcompat/ppc/atomic.S:378: Error: Unrecognized opcode: `set_size(atomic_cas_ushort)'
lib/libsolcompat/ppc/atomic.S:379: Error: Unrecognized opcode: `set_size(atomic_cas_16)'
lib/libsolcompat/ppc/atomic.S:381: Error: Unrecognized opcode: `entry(atomic_cas_32)'
lib/libsolcompat/ppc/atomic.S:382: Error: Unrecognized opcode: `altentry(atomic_cas_uint)'
lib/libsolcompat/ppc/atomic.S:383: Error: Unrecognized opcode: `altentry(atomic_cas_ptr)'
lib/libsolcompat/ppc/atomic.S:384: Error: Unrecognized opcode: `altentry(atomic_cas_ulong)'
lib/libsolcompat/ppc/atomic.S:396: Error: Unrecognized opcode: `set_size(atomic_cas_ulong)'
lib/libsolcompat/ppc/atomic.S:397: Error: Unrecognized opcode: `set_size(atomic_cas_ptr)'
lib/libsolcompat/ppc/atomic.S:398: Error: Unrecognized opcode: `set_size(atomic_cas_uint)'
lib/libsolcompat/ppc/atomic.S:399: Error: Unrecognized opcode: `set_size(atomic_cas_32)'
lib/libsolcompat/ppc/atomic.S:401: Error: Unrecognized opcode: `entry(atomic_cas_64)'
lib/libsolcompat/ppc/atomic.S:419: Error: Unrecognized opcode: `set_size(atomic_cas_64)'
lib/libsolcompat/ppc/atomic.S:421: Error: Unrecognized opcode: `entry(atomic_swap_8)'
lib/libsolcompat/ppc/atomic.S:422: Error: Unrecognized opcode: `altentry(atomic_swap_uchar)'
lib/libsolcompat/ppc/atomic.S:424: Error: Unrecognized opcode: `set_size(atomic_swap_uchar)'
lib/libsolcompat/ppc/atomic.S:425: Error: Unrecognized opcode: `set_size(atomic_swap_8)'
lib/libsolcompat/ppc/atomic.S:427: Error: Unrecognized opcode: `entry(atomic_swap_16)'
lib/libsolcompat/ppc/atomic.S:428: Error: Unrecognized opcode: `altentry(atomic_swap_ushort)'
lib/libsolcompat/ppc/atomic.S:430: Error: Unrecognized opcode: `set_size(atomic_swap_ushort)'
lib/libsolcompat/ppc/atomic.S:431: Error: Unrecognized opcode: `set_size(atomic_swap_16)'
lib/libsolcompat/ppc/atomic.S:433: Error: Unrecognized opcode: `entry(atomic_swap_32)'
lib/libsolcompat/ppc/atomic.S:434: Error: Unrecognized opcode: `altentry(atomic_swap_uint)'
lib/libsolcompat/ppc/atomic.S:435: Error: Unrecognized opcode: `altentry(atomic_swap_ptr)'
lib/libsolcompat/ppc/atomic.S:436: Error: Unrecognized opcode: `altentry(atomic_swap_ulong)'
lib/libsolcompat/ppc/atomic.S:443: Error: Unrecognized opcode: `set_size(atomic_swap_ulong)'
lib/libsolcompat/ppc/atomic.S:444: Error: Unrecognized opcode: `set_size(atomic_swap_ptr)'
lib/libsolcompat/ppc/atomic.S:445: Error: Unrecognized opcode: `set_size(atomic_swap_uint)'
lib/libsolcompat/ppc/atomic.S:446: Error: Unrecognized opcode: `set_size(atomic_swap_32)'
lib/libsolcompat/ppc/atomic.S:448: Error: Unrecognized opcode: `entry(atomic_swap_64)'
lib/libsolcompat/ppc/atomic.S:450: Error: Unrecognized opcode: `set_size(atomic_swap_64)'
lib/libsolcompat/ppc/atomic.S:452: Error: Unrecognized opcode: `entry(atomic_set_long_excl)'
lib/libsolcompat/ppc/atomic.S:470: Error: Unrecognized opcode: `set_size(atomic_set_long_excl)'
lib/libsolcompat/ppc/atomic.S:472: Error: Unrecognized opcode: `entry(atomic_clear_long_excl)'
lib/libsolcompat/ppc/atomic.S:490: Error: Unrecognized opcode: `set_size(atomic_clear_long_excl)'
lib/libsolcompat/ppc/atomic.S:492: Error: Unrecognized opcode: `entry(membar_enter)'
lib/libsolcompat/ppc/atomic.S:497: Error: Unrecognized opcode: `set_size(membar_enter)'
lib/libsolcompat/ppc/atomic.S:499: Error: Unrecognized opcode: `entry(membar_exit)'
lib/libsolcompat/ppc/atomic.S:504: Error: Unrecognized opcode: `set_size(membar_exit)'
lib/libsolcompat/ppc/atomic.S:506: Error: Unrecognized opcode: `entry(membar_producer)'
lib/libsolcompat/ppc/atomic.S:511: Error: Unrecognized opcode: `set_size(membar_producer)'
lib/libsolcompat/ppc/atomic.S:513: Error: Unrecognized opcode: `entry(membar_consumer)'
lib/libsolcompat/ppc/atomic.S:518: Error: Unrecognized opcode: `set_size(membar_consumer)'
scons: *** [lib/libsolcompat/ppc/atomic.o] Error 1

_________________
CzP
http://czanik.blogs.balabit.com/


Top
   
 Post subject:
PostPosted: Wed Sep 12, 2007 7:23 am 
Offline
Site Admin

Joined: Fri Sep 24, 2004 1:39 am
Posts: 1589
Location: Austin, TX
Quote:
Tried using 'scons -k' to compile (keep going with compilation even if there are errors), but ran into another problem. Due to '-k' compilation keeps going, but installation fails.
Code:
gcc -Ilib/libsolcompat/include -Ilib/libsolcompat/include/ppc -c -o lib/libsolcompat/ppc/atomic.o lib/libsolcompat/ppc/atomic.S
lib/libsolcompat/ppc/atomic.S: Assembler messages:
lib/libsolcompat/ppc/atomic.S:130: Error: Unrecognized opcode: `entry(atomic_dec_8)'
Ooops. There's an include path missing (asm_linkage.h) which defines those entry points.

_________________
Matt Sealey


Top
   
 Post subject:
PostPosted: Wed Sep 12, 2007 9:52 am 
Offline

Joined: Thu Jul 28, 2005 12:41 am
Posts: 1066
Tried to compile on openSUSE 10.2. It failed with the same error messages.

_________________
CzP
http://czanik.blogs.balabit.com/


Top
   
 Post subject:
PostPosted: Wed Sep 12, 2007 10:07 am 
Offline

Joined: Wed Sep 12, 2007 9:43 am
Posts: 1
Quote:
Isn't it a bit too strict? One warning, and compilation fails
Well, compilation warnings in ZFS-FUSE usually lead to other compilation (or worse, run-time) errors ;)

Since 98% of the ZFS-FUSE code is imported verbatim from OpenSolaris this gives me additional security for things I might miss.
See, in this case, even if the assembly code compiled, you'd receive a linking error because ec_atomic_cas wasn't being defined.

Anyway, I think I've fixed the compilation issues. Can you try the new tarball that I have uploaded to the same url?

Thanks.


Top
   
 Post subject:
PostPosted: Wed Sep 12, 2007 11:55 pm 
Offline

Joined: Thu Jul 28, 2005 12:41 am
Posts: 1066
OK, goes a lot further now:
Code:
gcc -o lib/libzpool/build-user/dmu.o -c -pipe -Wall -Werror -std=c99 -Wno-unused -Wno-missing-braces -Wno-parentheses -Wno-uninitialized -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DTEXT_DOMAIN=\"zfs-fuse\" -ggdb -O2 -Ilib/libavl/include -Ilib/libnvpair/include -Ilib/libzfscommon/include -Ilib/libumem/include -Ilib/libzpool/include -Ilib/libsolcompat/include lib/libzpool/dmu.c
cc1: warnings being treated as errors
lib/libzpool/dmu.c: In function 'dmu_write':
lib/libzpool/dmu.c:433: warning: passing argument 6 of 'dmu_buf_hold_array' discards qualifiers from pointer target type
scons: *** [lib/libzpool/build-user/dmu.o] Error 1
scons: building terminated because of errors.
Does it influence anything, that I use the latest GCC? It is a bit stricter than its predecessors:
Code:
b3pegasos:~/zfs-fuse-ppc-test/src # gcc -v
Using built-in specs.
Target: powerpc64-suse-linux
Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.2.1 --enable-ssp --disable-libssp --disable-libgcj --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --program-suffix=-4.2 --enable-version-specific-runtime-libs --without-system-libunwind --with-cpu=default32 --enable-secureplt --with-long-double-128 --host=powerpc64-suse-linux
Thread model: posix
gcc version 4.2.1 (SUSE Linux)
I'll send a complete list of warnings once compilation is finished with '-k'.

_________________
CzP
http://czanik.blogs.balabit.com/


Top
   
 Post subject:
PostPosted: Thu Sep 13, 2007 12:04 am 
Offline

Joined: Thu Jul 28, 2005 12:41 am
Posts: 1066
OK, here is the complete list of errors:
Code:
gcc -o lib/libzpool/build-user/dmu.o -c -pipe -Wall -Werror -std=c99 -Wno-unused -Wno-missing-braces -Wno-parentheses -Wno-uninitialized -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DTEXT_DOMAIN=\"zfs-fuse\" -ggdb -O2 -Ilib/libavl/include -Ilib/libnvpair/include -Ilib/libzfscommon/include -Ilib/libumem/include -Ilib/libzpool/include -Ilib/libsolcompat/include lib/libzpool/dmu.c
cc1: warnings being treated as errors
lib/libzpool/dmu.c: In function 'dmu_write':
lib/libzpool/dmu.c:433: warning: passing argument 6 of 'dmu_buf_hold_array' discards qualifiers from pointer target type
scons: *** [lib/libzpool/build-user/dmu.o] Error 1

gcc -o cmd/zfs/zfs_main.o -c -pipe -Wall -Werror -std=c99 -Wno-unused -Wno-missing-braces -Wno-parentheses -Wno-uninitialized -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DTEXT_DOMAIN=\"zfs-fuse\" -ggdb -O2 -Ilib/libuutil/include -Ilib/libnvpair/include -Ilib/libumem/include -Ilib/libzfscommon/include -Ilib/libzfs/include -Ilib/libsolcompat/include cmd/zfs/zfs_main.c
cc1: warnings being treated as errors
cmd/zfs/zfs_main.c: In function 'zfs_do_snapshot':
cmd/zfs/zfs_main.c:1845: warning: comparison is always true due to limited range of data type
scons: *** [cmd/zfs/zfs_main.o] Error 1

gcc -o cmd/zpool/zpool -pipe -Wall -Werror -ggdb cmd/zpool/zpool_iter.o cmd/zpool/zpool_main.o cmd/zpool/zpool_util.o cmd/zpool/zpool_vdev.o cmd/zpool/ptrace.o lib/libnvpair/libnvpair-user.a lib/libumem/libumem.a lib/libzfs/libzfs.a lib/libzfscommon/libzfscommon-user.a lib/libuutil/libuutil.a lib/libavl/libavl.a lib/libsolcompat/libsolcompat.a -lpthread -lm -ldl
lib/libsolcompat/libsolcompat.a(atomic.o): In function `atomic_cas_uchar':
(.text+0x20c): undefined reference to `unimplemented'
lib/libsolcompat/libsolcompat.a(atomic.o): In function `atomic_cas_ushort':
(.text+0x210): undefined reference to `unimplemented'
lib/libsolcompat/libsolcompat.a(atomic.o): In function `atomic_swap_uchar':
(.text+0x268): undefined reference to `unimplemented'
lib/libsolcompat/libsolcompat.a(atomic.o): In function `atomic_swap_ushort':
(.text+0x26c): undefined reference to `unimplemented'
lib/libsolcompat/libsolcompat.a(atomic.o): In function `atomic_swap_64':
(.text+0x284): undefined reference to `unimplemented'
collect2: ld returned 1 exit status
scons: *** [cmd/zpool/zpool] Error 1

gcc -o zfs-fuse/zfs-fuse -pipe -Wall -Werror -ggdb zfs-fuse/main.o zfs-fuse/cmd_listener.o zfs-fuse/ptrace.o zfs-fuse/util.o zfs-fuse/zfs_acl.o zfs-fuse/zfs_dir.o zfs-fuse/zfs_ioctl.o zfs-fuse/zfs_log.o zfs-fuse/zfs_replay.o zfs-fuse/zfs_rlock.o zfs-fuse/zfs_vfsops.o zfs-fuse/zfs_vnops.o zfs-fuse/zvol.o zfs-fuse/fuse_listener.o zfs-fuse/zfsfuse_socket.o zfs-fuse/zfs_operations.o lib/libzpool/libzpool-kernel.a lib/libzfscommon/libzfscommon-kernel.a lib/libnvpair/libnvpair-kernel.a lib/libavl/libavl.a lib/libumem/libumem.a lib/libsolkerncompat/libsolkerncompat.a -lrt -lpthread -lfuse -ldl -lz
lib/libsolkerncompat/libsolkerncompat.a(atomic.o): In function `atomic_cas_uchar':
(.text+0x20c): undefined reference to `unimplemented'
lib/libsolkerncompat/libsolkerncompat.a(atomic.o): In function `atomic_cas_ushort':
(.text+0x210): undefined reference to `unimplemented'
lib/libsolkerncompat/libsolkerncompat.a(atomic.o): In function `atomic_swap_uchar':
(.text+0x268): undefined reference to `unimplemented'
lib/libsolkerncompat/libsolkerncompat.a(atomic.o): In function `atomic_swap_ushort':
(.text+0x26c): undefined reference to `unimplemented'
lib/libsolkerncompat/libsolkerncompat.a(atomic.o): In function `atomic_swap_64':
(.text+0x284): undefined reference to `unimplemented'
collect2: ld returned 1 exit status
scons: *** [zfs-fuse/zfs-fuse] Error 1
scons: done building targets (errors occurred during build).

_________________
CzP
http://czanik.blogs.balabit.com/


Top
   
 Post subject:
PostPosted: Thu Sep 13, 2007 3:31 am 
Offline
Site Admin

Joined: Fri Sep 24, 2004 1:39 am
Posts: 1589
Location: Austin, TX
Quote:
OK, here is the complete list of errors:
Code:
(.text+0x20c): undefined reference to `unimplemented'
lib/libsolcompat/libsolcompat.a(atomic.o): In function `atomic_cas_ushort':
And they would be unimplemented functions meant to break linking :]

Looks like there is some more atomic work to do.. I thought the 'cas' functions had already been implemented in a previous atomic.s/atomic.c but, now I look, and it seems they've disappeared again. How very odd.

_________________
Matt Sealey


Top
   
 Post subject:
PostPosted: Fri Oct 17, 2008 11:00 am 
Offline

Joined: Tue Aug 15, 2006 5:08 am
Posts: 50
Location: France
Is FUSe ppc somewhere ?

I've downloaded the source package up there, but, compilation doesn't work, here's the message I've got :
Code:
scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o lib/libnvpair/build-user/nvpair.o -c -pipe -Wall -Werror -std=c99 -Wno-unused -Wno-missing-braces -Wno-parentheses -Wno-uninitialized -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DTEXT_DOMAIN=\"zfs-fuse\" -ggdb -O2 -Ilib/libnvpair/include -Ilib/libsolcompat/include lib/libnvpair/nvpair.c
In file included from lib/libnvpair/nvpair.c:29:
lib/libnvpair/include/sys/stropts.h:1:22: error: sys/conf.h: No such file or directory
scons: *** [lib/libnvpair/build-user/nvpair.o] Error 1
scons: building terminated because of errors.
I realy need it to transfer files from a old (not booting) Sun to my "new" Fedora PPC machine.

Regards


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 12 posts ] 

All times are UTC-06:00


Who is online

Users browsing this forum: No registered users and 20 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron
PowerDeveloper.org: Copyright © 2004-2012, Genesi USA, Inc. The Power Architecture and Power.org wordmarks and the Power and Power.org logos and related marks are trademarks and service marks licensed by Power.org.
All other names and trademarks used are property of their respective owners. Privacy Policy
Powered by phpBB® Forum Software © phpBB Group