All times are UTC - 6 hours




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


Fri Sep 24, 2004 1:39 am

1589

Alamo Heights, 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, Genesi USA Inc.
Product Development Analyst


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


Fri Sep 24, 2004 1:39 am

1589

Alamo Heights, TX
There really can't be zero takers or interested parties for this?

Come on guys, let's show a little enthusiasm!
Matt Sealey, Genesi USA Inc.
Product Development Analyst


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


Thu Jul 28, 2005 12:41 am

1063
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 :)


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


Thu Jul 28, 2005 12:41 am

1063
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


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


Thu Jul 28, 2005 12:41 am

1063
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


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


Fri Sep 24, 2004 1:39 am

1589

Alamo Heights, TX
czp wrote:
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, Genesi USA Inc.
Product Development Analyst


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


Thu Jul 28, 2005 12:41 am

1063
Tried to compile on openSUSE 10.2. It failed with the same error messages.


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


Wed Sep 12, 2007 9:43 am

1
czp wrote:
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
 Profile  
 
 Post subject:
PostPosted: Wed Sep 12, 2007 11:55 pm 
Offline


Thu Jul 28, 2005 12:41 am

1063
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'.


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


Thu Jul 28, 2005 12:41 am

1063
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).


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


Fri Sep 24, 2004 1:39 am

1589

Alamo Heights, TX
czp wrote:
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, Genesi USA Inc.
Product Development Analyst


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


Tue Aug 15, 2006 5:08 am

50

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
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 12 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 0 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:  
Powered by phpBB® Forum Software © phpBB Group