Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 456364

Summary: sys-kernel/hardened-sources-3.7.5 ppc64 xics-common.c fails with "assignment of member 'cause_ipi' in read-only object"
Product: Gentoo Linux Reporter: John Hardin <jhardin>
Component: HardenedAssignee: The Gentoo Linux Hardened Kernel Team (OBSOLETE) <hardened-kernel+disabled>
Status: RESOLVED FIXED    
Severity: normal CC: pageexec, spender
Priority: Normal    
Version: 10.0   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description John Hardin 2013-02-10 01:31:44 UTC
Attempting to build sys-kernel/hardened-sources-3.7.5 on ppc64/32bit-userland yields:


athena ~ # nice make ARCH="powerpc" CROSS_COMPILE="powerpc64-unknown-linux-gnu-" -j2
...
  CC      arch/powerpc/sysdev/xics/xics-common.o
arch/powerpc/sysdev/xics/xics-common.c: In function 'xics_smp_probe':
arch/powerpc/sysdev/xics/xics-common.c:146:2: error: assignment of member 'cause_ipi' in read-only object
make[2]: *** [arch/powerpc/sysdev/xics/xics-common.o] Error 1
make[1]: *** [arch/powerpc/sysdev/xics] Error 2
make: *** [arch/powerpc/sysdev] Error 2


athena ~ # emerge --info
Portage 2.1.11.31 (default/linux/powerpc/ppc64/10.0/32bit-userland, gcc-4.6.3, glibc-2.15-r3, 3.2.1-gentoo-r2 ppc64)
=================================================================
System uname: Linux-3.2.1-gentoo-r2-ppc64-PPC970MP,_altivec_supported-with-gentoo-2.1
Timestamp of tree: Sat, 09 Feb 2013 11:45:01 +0000
ld GNU ld (GNU Binutils) 2.22
app-shells/bash:          4.2_p37
dev-lang/python:          2.7.3-r2, 3.1.5, 3.2.3
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.69
sys-devel/automake:       1.10.3, 1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.4.5, 4.5.4, 4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.2-r1 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo
ACCEPT_KEYWORDS="ppc"
ACCEPT_LICENSE="* -@EULA"
CBUILD="powerpc-unknown-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="powerpc-unknown-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS=" http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.osuosl.org ftp://ftp.wallawalla.edu/pub/mirrors/ftp.gentoo.org http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="acl altivec apache2 berkdb bzip2 cgi cli cracklib crypt cxx ecap gcc64 gd gdbm gmp gnutls gpm hardened iconv imap ipv6 jpeg logrotate milter mime modules mudflap ncurses nls nptl pam pcre perl php pic png ppc readline samba sasl session smp spell sqlite ssl suhosin syslog sysvipc tcpd threads udev unicode urandom xinetd xml zlib" ALSA_CARDS="aoa aoa-fabric-layout aoa-onyx aoa-soundbus aoa-soundbus-i2s aoa-tas aoa-toonie powermac usb-audio via82xx" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fbdev glint mach64 mga nv r128 radeon savage tdfx trident dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON


athena ~ # equery l binutils
 * Searching for binutils ...
[I--] [??] cross-powerpc64-unknown-linux-gnu/binutils-2.21.1-r1:powerpc64-unknown-linux-gnu
[I--] [??] cross-powerpc64-unknown-linux-gnu/binutils-2.22-r1:0
[IP-] [  ] sys-devel/binutils-2.22-r1:0

athena ~ # gcc-config -l
 [1] powerpc-unknown-linux-gnu-4.4.5
 [2] powerpc-unknown-linux-gnu-4.5.4
 [3] powerpc-unknown-linux-gnu-4.6.3 *

 [4] powerpc64-unknown-linux-gnu-4.1.2
 [5] powerpc64-unknown-linux-gnu-4.4.5
 [6] powerpc64-unknown-linux-gnu-4.4.5-hardenednopie
 [7] powerpc64-unknown-linux-gnu-4.4.5-hardenednopiessp
 [8] powerpc64-unknown-linux-gnu-4.4.5-hardenednossp
 [9] powerpc64-unknown-linux-gnu-4.4.5-vanilla
 [10] powerpc64-unknown-linux-gnu-4.5.2
 [11] powerpc64-unknown-linux-gnu-4.5.2-hardenednopie
 [12] powerpc64-unknown-linux-gnu-4.5.2-hardenednopiessp
 [13] powerpc64-unknown-linux-gnu-4.5.2-hardenednossp
 [14] powerpc64-unknown-linux-gnu-4.5.2-vanilla
 [15] powerpc64-unknown-linux-gnu-4.6.3 *
 [16] powerpc64-unknown-linux-gnu-4.6.3-hardenednopie
 [17] powerpc64-unknown-linux-gnu-4.6.3-hardenednopiessp
 [18] powerpc64-unknown-linux-gnu-4.6.3-hardenednossp
 [19] powerpc64-unknown-linux-gnu-4.6.3-vanilla
Comment 1 Anthony Basile gentoo-dev 2013-04-13 22:27:31 UTC
I haven't been able to continue supporting ppc64 since my ppc64 box died :(  Can you try on the latest 3.8.7 which I just added to the tree.
Comment 2 PaX Team 2013-04-13 23:21:17 UTC
i'll add a workaround for this in the next patch, a proper solution will have to wait till we get KERNEXEC on ppc, which is probably 'never'.
Comment 3 Anthony Basile gentoo-dev 2013-09-27 11:10:50 UTC
(In reply to PaX Team from comment #2)
> i'll add a workaround for this in the next patch, a proper solution will
> have to wait till we get KERNEXEC on ppc, which is probably 'never'.

Sorry ppc64, but we have limited resources.  I'm going to close this bug "fixed" although its really "workaround".  If this issue comes up in the future (because people want ppc64 support) and we have the manpower and equipment, then we can return to this.