Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 702136 - sys-boot/silo-1.4.14_p20170829 - sparc64-unknown-linux-gnu-as: divdi3.S:105: Error: detected global register use not covered by .register pseudo-op
Summary: sys-boot/silo-1.4.14_p20170829 - sparc64-unknown-linux-gnu-as: divdi3.S:105: ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Sparc Porters
URL:
Whiteboard:
Keywords: PullRequest
Depends on: 854954
Blocks:
  Show dependency tree
 
Reported: 2019-12-06 03:32 UTC by Zachary Shaver
Modified: 2022-11-22 19:50 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
possible fix contained in srpm from oracle (silo-1.4.14-4.0.18.el6.src.rpm,769.59 KB, application/x-rpm)
2019-12-07 04:15 UTC, Zachary Shaver
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Zachary Shaver 2019-12-06 03:32:29 UTC
Silo fails to compile when compiled for sparc64.


Reproducible: Always

Steps to Reproduce:
1. Install latest stage 3 for sparc64 ARCH.
2. Complete handbook instructions to finish installation. 
3. Upon installing silo, problem is encountered. 
Actual Results:  
>>> Emerging (1 of 1) sys-boot/silo-1.4.14_p20170829::gentoo
 * silo-1.4.14_p20170829.tar.gz BLAKE2B SHA512 size ;-) ...              [ ok ]
>>> Unpacking source...
 * Unpacking silo-1.4.14_p20170829.tar.gz
>>> Source unpacked in /var/tmp/portage/sys-boot/silo-1.4.14_p20170829/work
>>> Preparing source in /var/tmp/portage/sys-boot/silo-1.4.14_p20170829/work/silo-1.4.14_p20170829 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/sys-boot/silo-1.4.14_p20170829/work/silo-1.4.14_p20170829 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/sys-boot/silo-1.4.14_p20170829/work/silo-1.4.14_p20170829 ...
...
...
...
...
   
sparc64-unknown-linux-gnu-gcc -Os -Wall -I. -I../include -fomit-frame-pointer -fno-strict-aliasing -U_FORTIFY_SOURCE -mcpu=v9 -fno-PIC -DSMALL_RELOC=0x280000 -DLARGE_RELOC=0x380000 -fno-stack-protector -c divdi3.S
divdi3.S: Assembler messages:
divdi3.S:105: Error: detected global register use not covered by .register pseudo-op
divdi3.S:107: Error: detected global register use not covered by .register pseudo-op
divdi3.S:110: Error: detected global register use not covered by .register pseudo-op
divdi3.S:110: Error: detected global register use not covered by .register pseudo-op
divdi3.S:111: Error: detected global register use not covered by .register pseudo-op
divdi3.S:111: Error: detected global register use not covered by .register pseudo-op
divdi3.S:111: Error: detected global register use not covered by .register pseudo-op
divdi3.S:114: Error: detected global register use not covered by .register pseudo-op
divdi3.S:118: Error: detected global register use not covered by .register pseudo-op
divdi3.S:118: Error: detected global register use not covered by .register pseudo-op
divdi3.S:119: Error: detected global register use not covered by .register pseudo-op
divdi3.S:119: Error: detected global register use not covered by .register pseudo-op
divdi3.S:120: Error: detected global register use not covered by .register pseudo-op
divdi3.S:120: Error: detected global register use not covered by .register pseudo-op
divdi3.S:120: Error: detected global register use not covered by .register pseudo-op
divdi3.S:126: Error: detected global register use not covered by .register pseudo-op
divdi3.S:126: Error: detected global register use not covered by .register pseudo-op
divdi3.S:128: Error: detected global register use not covered by .register pseudo-op
divdi3.S:128: Error: detected global register use not covered by .register pseudo-op
divdi3.S:128: Error: detected global register use not covered by .register pseudo-op
divdi3.S:128: Error: detected global register use not covered by .register pseudo-op
divdi3.S:128: Error: detected global register use not covered by .register pseudo-op
divdi3.S:128: Error: detected global register use not covered by .register pseudo-op
divdi3.S:229: Error: detected global register use not covered by .register pseudo-op
divdi3.S:230: Error: detected global register use not covered by .register pseudo-op
divdi3.S:230: Error: detected global register use not covered by .register pseudo-op
divdi3.S:265: Error: detected global register use not covered by .register pseudo-op
make[1]: *** [Makefile:11: divdi3.o] Error 1
make[1]: Leaving directory '/var/tmp/portage/sys-boot/silo-1.4.14_p20170829/work/silo-1.4.14_p20170829/common'
make: *** [Makefile:15: all] Error 1
 * ERROR: sys-boot/silo-1.4.14_p20170829::gentoo failed (compile phase):
 *   emake failed
 *
 * If you need support, post the output of `emerge --info '=sys-boot/silo-1.4.14_p20170829::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-boot/silo-1.4.14_p20170829::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-boot/silo-1.4.14_p20170829/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-boot/silo-1.4.14_p20170829/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-boot/silo-1.4.14_p20170829/work/silo-1.4.14_p20170829'
 * S: '/var/tmp/portage/sys-boot/silo-1.4.14_p20170829/work/silo-1.4.14_p20170829'

>>> Failed to emerge sys-boot/silo-1.4.14_p20170829, Log file:

>>>  '/var/tmp/portage/sys-boot/silo-1.4.14_p20170829/temp/build.log'

 * Messages for package sys-boot/silo-1.4.14_p20170829:

 * To avoid automounting and auto(un)installing with /boot,
 * just export the DONT_MOUNT_BOOT variable.

 * Messages for package sys-boot/silo-1.4.14_p20170829:

 * ERROR: sys-boot/silo-1.4.14_p20170829::gentoo failed (compile phase):
 *   emake failed
 *
 * If you need support, post the output of `emerge --info '=sys-boot/silo-1.4.14_p20170829::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-boot/silo-1.4.14_p20170829::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-boot/silo-1.4.14_p20170829/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-boot/silo-1.4.14_p20170829/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-boot/silo-1.4.14_p20170829/work/silo-1.4.14_p20170829'
 * S: '/var/tmp/portage/sys-boot/silo-1.4.14_p20170829/work/silo-1.4.14_p20170829'


Expected Results:  
SILO should be able to compile on a sparc64 system as a 64-bit application. 

The SILO versions in the repository don't support 64-bit, the required registers aren't even declared.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2019-12-06 07:35:23 UTC
Please post your `emerge --info' output in a comment.
Comment 2 Zachary Shaver 2019-12-07 04:05:57 UTC
Post-reboot (GRUB), but I verified SILO still fails to compile in precisely the same way. 
 


Portage 2.3.76 (python 3.6.9-final-0, default/linux/sparc/17.0/64ul, gcc-9.2.0, glibc-2.29-r2, 4.19.82-gentoo sparc64)
=================================================================
System uname: Linux-4.19.82-gentoo-sparc64-sun4u-with-gentoo-2.4.1
KiB Mem:      506416 total,     22808 free
KiB Swap:    1052248 total,   1037384 free
Timestamp of repository gentoo: Sat, 07 Dec 2019 00:45:01 +0000
Head commit of repository gentoo: 28e0046828fb3d3ae462ae1cb65c3f3e1b68448e
sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.32 p2) 2.32.0
distcc 3.3.3 sparc64-unknown-linux-gnu [disabled]
app-shells/bash:          4.4_p23-r1::gentoo
dev-lang/perl:            5.28.2-r1::gentoo
dev-lang/python:          2.7.16::gentoo, 3.6.9::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.41.2::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.69-r4::gentoo
sys-devel/automake:       1.15.1-r2::gentoo, 1.16.1-r1::gentoo
sys-devel/binutils:       2.32-r1::gentoo
sys-devel/gcc:            9.2.0-r2::gentoo
sys-devel/gcc-config:     2.1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.19::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r2::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts:
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 24

ACCEPT_KEYWORDS="sparc"
ACCEPT_LICENSE="*"
CBUILD="sparc64-unknown-linux-gnu"
CFLAGS="-O2 -mcpu=ultrasparc -mtune=ultrasparc -pipe"
CHOST="sparc64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -mcpu=ultrasparc -mtune=ultrasparc -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -mcpu=ultrasparc -mtune=ultrasparc -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -mcpu=ultrasparc -mtune=ultrasparc -pipe"
GENTOO_MIRRORS="http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/"
LANG="en_US"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl berkdb big-endian bzip2 cli crypt cxx dri fortran gdbm iconv ipv6 libtirpc ncurses nls nptl openmp pam pcre readline sparc split-usr ssl tcpd unicode xattr zlib" ADA_TARGET="gnat_2018" 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="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="fbdev glint mga r128 radeon 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:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Zachary Shaver 2019-12-07 04:15:55 UTC
Created attachment 598782 [details]
possible fix contained in srpm from oracle

Please see attached SRPM from oracle which has patches to allow compilation on sparc64 when built against the contained original silo-1.4.14.tgz on RHEL6.

Also wanted to mention that SILO is the recommended bootloader in the handbook for sparc64, and even GRUB doesn't compile without modification, so it would be great if we can get this working.
Comment 4 Randal Rioux 2020-02-09 00:59:25 UTC
I just tried installing Gentoo on my T3-1 and experienced the same error when entering the compile silo step. I'm not sure how the SRPM "fix" should be applied. Is there any recommendation to get past this blocker? Is Gentoo on SPARC64 still actively developed? I'd certainly like to help out if it is worth the time.

Thanks!
Comment 5 James McMechan 2020-02-18 07:49:35 UTC
Hum, I can reproduce this too.
But only when running the experimental 64bit userland.
A while ago there was a push for 64bit userland for SPARC.
It seems the handbook no longer mentions that SPARC uses a 32bit userland by default, or at least it did for stable which is not listed on the download page.
There was an attempt at multilib back in 2014 but SPARC /was/ 64bit kernel and 32bit userland in the handbook now it seems to assume that 64bit is what works but last I knew it was very experimental.

So silo compiles with
https://gentoo.osuosl.org//releases/sparc/autobuilds/20200201T053623Z/stage3-sparc-20200201T053623Z.tar.xz which used to be stable SPARC
but not
https://gentoo.osuosl.org//releases/sparc/autobuilds/20200201T053623Z/stage3-sparc64-20200201T053623Z.tar.xz
And the second one is on the download page.

I can't seem to dig out the push for 64bit userland from gentoo-dev at the moment.

Personally I have been running gentoo SPARC 32bit userland and 64bit kernel on a T2 system, (T5140) quite happily for several years, using silo.
So silo fully supports booting a 64bit kernel, but does not seem to compile on a system with a 64bit userland, I expect there is a compiler flag we could set to fix this but I am away from my system for another week or so.


There apparently is still a gentoo infrastructure problem, but several offers of replacement hardware have fizzled out, unless I missed it like I missed the handbook changing.
Comment 6 Randal Rioux 2020-02-18 20:53:44 UTC
Thanks for the information. Nice to see there is someone out there still paying attention! :-)

I have 128GB of RAM on this machine, so 32-bit is no fun. But, I like a good challenge.

If hardware access is an issue, I have a number of systems in my lab that I could open up remote access to. 

I'll poke at the 64-bit SILO in the next couple of weeks to see if I can get a working ebuild.
Comment 7 James McMechan 2020-02-19 01:57:34 UTC
Hi Randal,

I only have 64GB and 2 chips with 32 threads each.
For 64cpu cores, each thread counts as a cpu for kernel purposes.
The 32bit limit is a userspace address limit per process.
Each process can have its own 4GB address space.
So it is much less limiting than it at first appears.
I build the kernel with -j65.
Now if I was mmapping one of those huge databases it would matter to me more.

Enjoy
Comment 8 Randal Rioux 2020-05-01 16:45:12 UTC
Just wanted to put this update here for anyone landing on this bug from a web search. 

I installed GRUB2 (needs to be unmasked) instead of SILO and SPARC 64/ul (systemd) boots and runs great.
Comment 9 Julio Martinez 2020-09-29 03:59:43 UTC
Confirming the same issue on an Ultra 60.

Here is my emerge --info output:
Portage 3.0.4 (python 3.7.9-final-0, default/linux/sparc/17.0/64ul/systemd, gcc-9.3.0, glibc-2.31-r6, 5.4.60-gentoo-sparc64 sparc64)
=================================================================
System uname: Linux-5.4.60-gentoo-sparc64-sparc64-sun4u-with-gentoo-2.7
KiB Mem:     2067360 total,    853576 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Mon, 28 Sep 2020 14:00:01 +0000
Head commit of repository gentoo: 8dfa44d4a5e59e4344c00a1dfd1f947a3eb7fcd9
sh bash 5.0_p18
ld GNU ld (Gentoo 2.33.1 p2) 2.33.1
app-shells/bash:          5.0_p18::gentoo
dev-lang/perl:            5.30.3::gentoo
dev-lang/python:          2.7.18-r2::gentoo, 3.7.9::gentoo, 3.8.5::gentoo
dev-util/cmake:           3.16.5::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/sandbox:         2.18::gentoo
sys-devel/autoconf:       2.69-r5::gentoo
sys-devel/automake:       1.16.1-r1::gentoo
sys-devel/binutils:       2.33.1-r1::gentoo
sys-devel/gcc:            9.3.0-r1::gentoo
sys-devel/gcc-config:     2.3.1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 5.4-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.31-r6::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-metamanifest: yes

ACCEPT_KEYWORDS="sparc"
ACCEPT_LICENSE="@FREE"
CBUILD="sparc64-unknown-linux-gnu"
CFLAGS="-O2 -mcpu=ultrasparc -pipe"
CHOST="sparc64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -mcpu=ultrasparc -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -mcpu=ultrasparc -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -mcpu=ultrasparc -pipe"
GENTOO_MIRRORS="http://gentoo.mirrors.easynews.com/linux/gentoo/ http://www.gtlib.gatech.edu/pub/gentoo rsync://rsync.gtlib.gatech.edu/gentoo https://gentoo.osuosl.org/ http://gentoo.osuosl.org/ http://gentoo.mirrors.pair.com/ https://mirrors.rit.edu/gentoo/ http://mirrors.rit.edu/gentoo/ ftp://mirrors.rit.edu/gentoo/ rsync://mirrors.rit.edu/gentoo/ http://gentoo.mirrors.tds.net/gentoo http://gentoo.cs.utah.edu/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j2"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl berkdb big-endian bzip2 cli crypt dri fortran gdbm iconv ipv6 libglvnd libtirpc ncurses nls nptl openmp pam pcre readline sparc split-usr ssl systemd tcpd udev unicode xattr zlib" ADA_TARGET="gnat_2018" 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="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2 php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python2_7 python3_7" RUBY_TARGETS="ruby25 ruby26" USERLAND="GNU" VIDEO_CARDS="fbdev glint mga r128 radeon 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:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 10 Matt Turner gentoo-dev 2020-09-29 22:55:14 UTC
GRUB should be the default these days. I've asked the grub maintainer if it's okay if I stabilize grub-2.05_alpha20200310 since it contains all the patches needed for sparc.

A while back I added silo-1.4.14_p20200602 to the tree with IUSE=tilo-only that is forced on on 64-bit SPARC. It still has a compilation problem, but the idea is that, once fixed, sys-boot/silo will not install a bootloader on 64-bit SPARC.
Comment 11 Julio Martinez 2020-09-30 14:57:10 UTC
Thanks, fwiw grub-2.05_alpha20200310 worked. Followed the instructions here: https://github.com/esnowberg/grub2-sparc/wiki
Comment 12 Matt Turner gentoo-dev 2020-09-30 19:22:43 UTC
Nice, thanks for confirming. I've now stabilized grub-2.05_alpha20200310.
Comment 13 matoro archtester 2022-05-03 19:40:03 UTC
Don't see this specific error, but hitting the classic missing include that indicates multilib is required here.  On principle, seems that sys-boot/silo requires a 32-bit UL (or multilib profile, but we don't have one), so I'm going to open a PR to mask it on 64-bit UL profiles.  HOWEVER before that happens, the wiki needs to be updated to reflect instructions for using GRUB.  Proper GRUB_TARGETS are already set for sys-boot/grub, so this is just a documentation issue.

Upstream instructions are documented here:  https://github.com/esnowberg/grub2-sparc/wiki .  The patches in this repo are already upstreamed, but the documentation is still relevant and not present in the upstream GRUB docs.
Comment 14 Larry the Git Cow gentoo-dev 2022-11-22 19:50:08 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=134690a94582cf844b321ee858e2f76686202fac

commit 134690a94582cf844b321ee858e2f76686202fac
Author:     Matoro Mahri <matoro@users.noreply.github.com>
AuthorDate: 2022-11-07 15:32:17 +0000
Commit:     Arthur Zamarin <arthurzam@gentoo.org>
CommitDate: 2022-11-22 19:50:05 +0000

    profiles/arch/sparc/64ul: mask sys-boot/silo
    
    SILO is designed for the old 64-bit kernel/32-bit userland combo
    before there was a 64-bit userland available.  It requires a 32-bit
    userland to build, so mask it on 64ul.  sys-boot/grub:2 support for
    sparc was added in ~2018 and is documented in the handbook per #854954
    
    See: https://github.com/esnowberg/grub2-sparc/wiki
    See: https://wiki.gentoo.org/wiki/Handbook:SPARC/Blocks/Disks
    See: https://wiki.gentoo.org/wiki/Handbook:SPARC/Blocks/Bootloader
    Bug: https://bugs.gentoo.org/854954
    Closes: https://bugs.gentoo.org/828000
    Closes: https://bugs.gentoo.org/702136
    Signed-off-by: Matoro Mahri <matoro@users.noreply.github.com>
    Closes: https://github.com/gentoo/gentoo/pull/28168
    Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>

 profiles/arch/sparc/64ul/package.mask | 10 ++++++++++
 1 file changed, 10 insertions(+)