if powerpc-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -O2 -mtune=G4 -mcpu=G4 -maltivec -mabi=altivec -fno-strict-aliasing -pipe -fPIC -DPIC -O2 -mtune=G4 -mcpu=G4 -maltivec -mabi=altivec -fno-strict-aliasing -pipe -fPIC -DPIC -MT libreiserfs_static_a-key.o -MD -MP -MF ".deps/libreiserfs_static_a-key.Tpo" -c -o libreiserfs_static_a-key.o `test -f 'key.c' || echo './'`key.c; \ then mv -f ".deps/libreiserfs_static_a-key.Tpo" ".deps/libreiserfs_static_a-key.Po"; else rm -f ".deps/libreiserfs_static_a-key.Tpo"; exit 1; fi key.c:14: error: braced-group within expression allowed only inside a function key.c:15: error: braced-group within expression allowed only inside a function key.c:19: error: braced-group within expression allowed only inside a function key.c:48: error: field 'offset_v2' has incomplete type make[2]: *** [libreiserfs_static_a-key.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/var/tmp/portage/sys-fs/reiserfsprogs-3.6.20/work/reiserfsprogs-3.6.20/libreiserfs' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sys-fs/reiserfsprogs-3.6.20/work/reiserfsprogs-3.6.20' make: *** [all] Error 2 g4 ~ # emerge --info Portage 2.1.2_rc1-r4 (default-linux/ppc/ppc32/2006.1/G4, gcc-4.1.1, glibc-2.5-r0, 2.6.18-ck1 ppc) ================================================================= System uname: 2.6.18-ck1 ppc 7400, altivec supported Gentoo Base System version 1.12.5 Last Sync: Mon, 06 Nov 2006 16:50:01 +0000 ccache version 2.4 [enabled] dev-java/java-config: 1.3.7, 2.0.30 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r6 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.60 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="ppc ~ppc" AUTOCLEAN="yes" CBUILD="powerpc-unknown-linux-gnu" CFLAGS="-O2 -mtune=G4 -mcpu=G4 -maltivec -mabi=altivec -fno-strict-aliasing -pipe" CHOST="powerpc-unknown-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -mtune=G4 -mcpu=G4 -maltivec -mabi=altivec -fno-strict-aliasing -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer noinfo parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.prz.rzeszow.pl http://ftp.heanet.ie/pub/gentoo/ http://distfiles.gentoo.org" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="ppc X altivec apache2 arts bash-completion bitmap-fonts bonobo bzip2 cdr cli cracklib crypt cups dlloader dri dvd eds elibc_glibc emboss encode firefox gif gnome gstreamer gtkhtml iconv input_devices_evdev input_devices_keyboard input_devices_mouse isdnlog jpeg kde kdeenablefinal kdehiddenvisibility kernel_linux libg++ libwww mad mikmod mozilla mp3 mpeg ncurses nls nptl nptlonly ogg opengl pam pcre png pppd qt3 qt4 quicktime readline reflection session spell spl ssl truetype truetype-fonts type1-fonts udev unicode userland_GNU video_cards_ati video_cards_chips video_cards_dummy video_cards_fbdev video_cards_glint video_cards_imstt video_cards_mga video_cards_nv video_cards_s3 video_cards_s3virge video_cards_savage video_cards_sisusb video_cards_tdfx video_cards_trident video_cards_v4l video_cards_voodoo vorbis xml xorg xv zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS Code snippets: 13 const reiserfs_key_t root_dir_key = 14 {cpu_to_le32(REISERFS_ROOT_PARENT_OBJECTID), 15 cpu_to_le32(REISERFS_ROOT_OBJECTID), 16 {{0, 0},}}; 17 18 const reiserfs_key_t parent_root_dir_key = { 19 0, cpu_to_le32(REISERFS_ROOT_PARENT_OBJECTID), 20 {{0, 0},}}; 21 22 reiserfs_key_t lost_found_dir_key = 23 {0, 0, {{0, 0}, }}; 47 typedef union { 48 struct offset_v2 offset_v2; 49 __u64 linear; 50 } __attribute__ ((__packed__)) offset_v2_esafe_overlay; sys-fs/reiserfsprogs-3.6.19 compiles ok.
affects any big endian architecture due to the use of cpu_to_le32
Created attachment 101367 [details, diff] reiserfsprogs-3.6.20-swab-non-portable.patch and as far as i can tell, only real way to fix this is rewrite how those variables get initialized, or write non-spec code (but gcc will accept it fine) ... then again there is another failure when it comes to big endian, so in the meantime i'll de-keyword it for big endian arches
package masked 3.6.20 ... this issue should be taken upstream