Created attachment 327336 [details] spidermonkey build log Spidermonkey fails on build on x32. ./assembler/assembler/MacroAssemblerX86_64.h:45:38: warning: overflow in implicit constant conversion [-Woverflow] ./assembler/assembler/MacroAssemblerX86_64.h: In member function 'JSC::AbstractMacroAssembler<JSC::X86Assembler>::Call JSC::MacroAssemblerX86_64::call()': ./assembler/assembler/MacroAssemblerX86_64.h:127:22: warning: variable 'label' set but not used [-Wunused-but-set-variable] ./assembler/assembler/MacroAssemblerX86_64.h: In member function 'JSC::AbstractMacroAssembler<JSC::X86Assembler>::Call JSC::MacroAssemblerX86_64::tailRecursiveCall()': ./assembler/assembler/MacroAssemblerX86_64.h:135:22: warning: variable 'label' set but not used [-Wunused-but-set-variable] ./assembler/assembler/MacroAssemblerX86_64.h: In member function 'JSC::AbstractMacroAssembler<JSC::X86Assembler>::Call JSC::MacroAssemblerX86_64::makeTailRecursiveCall(JSC::AbstractMacroAssembler<JSC::X86Assembler>::Jump)': ./assembler/assembler/MacroAssemblerX86_64.h:144:22: warning: variable 'label' set but not used [-Wunused-but-set-variable] jsdate.cpp: At global scope: jsdate.cpp:2460:1: warning: narrowing conversion of '(intptr_t)date_now_tn' from 'intptr_t {aka int}' to 'uintptr_t {aka unsigned int}' inside { } is ill-formed in C++11 [-Wnarrowing] jsarray.cpp:2111:1: warning: narrowing conversion of '(intptr_t)js_ArrayCompPush_tn' from 'intptr_t {aka int}' to 'uintptr_t {aka unsigned int}' inside { } is ill-formed in C++11 [-Wnarrowing] In file included from methodjit/CodeGenIncludes.h:58:0, from methodjit/Compiler.h:47, from methodjit/Retcon.h:52, from jsdbgapi.cpp:79: Portage 2.1.11.9 (unavailable, gcc-4.7.1, glibc-2.16.0, 3.6.2-gentoo x86_64) ================================================================= System uname: Linux-3.6.2-gentoo-x86_64-with-gentoo-2.1 Timestamp of tree: Unknown dev-lang/python: 2.7.3-r2::gentoo, 3.2.3::gentoo sys-devel/autoconf: 2.13::gentoo, 2.68::gentoo sys-devel/automake: 1.11.6::gentoo sys-devel/binutils: 2.22-r1::gentoo sys-devel/libtool: 2.4-r1::gentoo sys-kernel/linux-headers: 3.4-r2::gentoo (virtual/os-headers) Repositories: x-portage location: /usr/portage sync: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 ACCEPT_LICENSE="* -@EULA" ACCEPT_PROPERTIES="*" ANT_HOME="/usr/share/ant" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnux32" CFLAGS="-O2 -pipe -march=amdfam10 -O2 -pipe" CHOST="x86_64-pc-linux-gnux32" CLEAN_DELAY="5" COLLISION_IGNORE="/lib/modules/* *.py[co]" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /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 /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -pipe -march=amdfam10 -O2 -pipe" DISPLAY=":0" DISTDIR="/usr/portage/distfiles" EDITOR="/usr/bin/vi" EMERGE_DEFAULT_OPTS=" --keep-going -v -j 6" EMERGE_WARNING_DELAY="10" EPREFIX="" EROOT="/" FCFLAGS="" FEATURES="assume-digests binpkg-logs candy config-protect-if-modified distlocks downgrade-backup ebuild-locks fail-clean fixlafiles news parallel-fetch parallel-install parse-eapi-ebuild-head protect-owned sandbox sfperms split-elog split-log strict test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FETCHCOMMAND="wget -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"" FETCHCOMMAND_RSYNC="rsync -avP "${URI}" "${DISTDIR}/${FILE}"" FETCHCOMMAND_SFTP="bash -c "x=\${2#sftp://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec sftp -P \${port} \"\${host}:/\${x#*/}\" \"\$1\"" sftp "${DISTDIR}/${FILE}" "${URI}"" FETCHCOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec rsync --rsh=\"ssh -p\${port}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}"" FFLAGS="" GCC_SPECS="" GDK_USE_XFT="1" GDL_PATH="+/usr/share/gnudatalanguage" GENTOO_MIRRORS="http://distfiles.gentoo.org" GRUB_PLATFORMS="efi-64 pc" GSETTINGS_BACKEND="dconf" GUILE_LOAD_PATH="/usr/share/guile/1.8" HG="/usr/bin/hg" HISTSIZE="5000" HOME="/root" INFOPATH="/usr/share/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.4/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.22/info" INPUT_DEVICES="evdev" JAVAC="/etc/java-config-2/current-system-vm/bin/javac" JAVACC_HOME="/usr/share/javacc/" JAVA_HOME="/etc/java-config-2/current-system-vm" JDK_HOME="/etc/java-config-2/current-system-vm" LANG="en_GB.UTF-8" LC_COLLATE="C" LDFLAGS="" LESS="-R -M --shift 5" LESSOPEN="|lesspipe %s" LOGNAME="root" LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:" MAKEOPTS="-l 7 -j18" MANPATH="/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.4/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.22/man:/etc/java-config/system-vm/man/:/usr/lib64/php5.3/man/:/usr/lib64/php5.4/man/" NOCOLOR="true" OPENGL_PROFILE="xorg-x11" PAGER="/usr/bin/less" PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.4" PKGDIR="/usr/portage/packages" PORTAGE_ARCHLIST="" PORTAGE_BINHOST_CHUNKSIZE="3000" PORTAGE_BIN_PATH="/usr/libx32/portage/bin" PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png" PORTAGE_CONFIGROOT="/" PORTAGE_DEBUG="0" PORTAGE_DEPCACHEDIR="/var/cache/edb/dep" PORTAGE_ELOG_CLASSES="log warn error" PORTAGE_ELOG_MAILFROM="portage@localhost" PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}" PORTAGE_ELOG_MAILURI="root" PORTAGE_ELOG_SYSTEM="save_summary echo" PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5" PORTAGE_FETCH_RESUME_MIN_SIZE="350K" PORTAGE_GID="250" PORTAGE_GPG_SIGNING_COMMAND="gpg --sign --digest-algo SHA256 --clearsign --yes --default-key "${PORTAGE_GPG_KEY}" --homedir "${PORTAGE_GPG_DIR}" "${FILE}"" PORTAGE_INST_GID="0" PORTAGE_INST_UID="0" PORTAGE_OVERRIDE_EPREFIX="" PORTAGE_PYM_PATH="/usr/libx32/portage/pym" 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_RSYNC_RETRIES="-1" PORTAGE_SYNC_STALE="30" PORTAGE_TMPDIR="/var/tmp" PORTAGE_VERBOSE="1" PORTAGE_WORKDIR_MODE="0700" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" PORT_LOGDIR="/var/log/portage/" PORT_LOGDIR_CLEAN="find "${PORT_LOGDIR}" -type f ! -name "summary.log*" -mtime +7 -delete" PRELINK_PATH_MASK="/usr/lib64/libfreebl3.so:/usr/lib64/libnssdbm3.so:/usr/lib64/libsoftokn3.so:/opt/bin/skype" PWD="/" QT_GRAPHICSSYSTEM="raster" QT_PLUGIN_PATH="/usr/lib64/kde4/plugins" RESUMECOMMAND="wget -c -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"" RESUMECOMMAND_RSYNC="rsync -avP "${URI}" "${DISTDIR}/${FILE}"" RESUMECOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec rsync --rsh=\"ssh -p\${port}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}"" ROOT="/" ROOTPATH="/opt/bin:/usr/x86_64-pc-linux-gnux32/gcc-bin/4.7.1" RPMDIR="/usr/portage/rpm" SHELL="/bin/bash" SHLVL="2" SYNC="rsync://rsync.gentoo.org/gentoo-portage" TERM="xterm" UNINSTALL_IGNORE="/lib/modules/*" USE="3dnow 3dnowext X mmx mmxext sse sse2 sse3 sse4 sse4a" USER="root" USERLAND="GNU" USE_DEFAULT="X" USE_ORDER="env:pkg:conf:defaults:pkginternal:repo:env.d" USE_REMOVE="-apache2 -bluetooth -hal -kde -ldap -libcaca -php_targets_php5-2 -qt3 -qt4 -oss" USE_STD="3dnow 3dnowext mmx mmxext sse sse2 sse3 sse4 sse4a -ssse3" VIDEO_CARDS="r600 radeon" XAUTHORITY="/home/eod/.Xauthority" XDG_CONFIG_DIRS="/etc/xdg" XDG_DATA_DIRS="/usr/local/share:/usr/share" _="/usr/bin/emerge"
Created attachment 327340 [details] emerge --info The above emerge info was from a faulty chroot. Here is the emerge --info from the build environment.
x32 support will only be avaliable in spidermonkey-1.8.7 which you can unmask locally if you need it right now.
*** Bug 466762 has been marked as a duplicate of this bug. ***
I've made an intitial portof mozjs17 to x32. I need to do some more testing, I'll attach the patch to this bug if it goes okay. (unless a new bug is preferred)
(In reply to comment #4) > I've made an intitial portof mozjs17 to x32. I need to do some more testing, > I'll attach the patch to this bug if it goes okay. (unless a new bug is > preferred) 1.8.7 was already patches and supports x32, 17 will use basically the same patch.
*** Bug 471000 has been marked as a duplicate of this bug. ***
1.8.7 still fails with USE="jit" (see 471000)
I can confirm this bug -- and that 1.8.7 compiles.
If you can duplicate with current builds please reopen and update entire bug report.
*** Bug 564126 has been marked as a duplicate of this bug. ***
I am gonna look into this again so we will reopen for the time being. There are no promises on this so more eyes the better.
I can confirm this too. Unfortunately, switching to 1.8.7 with the patch is no longer an option, because... well, it's no longer in the portage tree. This affects all ebuilds that depend on spidermonkey:0 right now, which includes polkit (and thus networkmanager etc.) and netsurf.
(In reply to Dainius Masiliūnas from comment #12) > I can confirm this too. Unfortunately, switching to 1.8.7 with the patch is > no longer an option, because... well, it's no longer in the portage tree. > > This affects all ebuilds that depend on spidermonkey:0 right now, which > includes polkit (and thus networkmanager etc.) and netsurf. I've committed spidermonkey-1.8.5-r5 to the gentoo repo now, which applies the same patch that was used in 1.8.7. Please test.
I'll see if I can test it. Though right now I simply installed spidermonkey:17 and am using polkit with it (via an ebuild in the frabjous overlay). It seems to be working fine so far, and I'd imagine that ideally all the packages still using the old spidermonkey should be ported over to newer versions anyway.
The point of my comment regarding mozjs17 is I ported the JIT code to x32. I didn't really get any interest or feedback from upstream either but I'm back into x32 porting efforts again after taking a couple of years off. I'm going to attempt to go through all the packages that currently need asm disabled and fix them to work with x32, but if there's no interest in having such patches they can just live in my overlay.
Created attachment 428042 [details] spidermonkey-1.8.5-r5 build log (In reply to Ian Stakenvicius from comment #13) > (In reply to Dainius Masiliūnas from comment #12) > > I can confirm this too. Unfortunately, switching to 1.8.7 with the patch is > > no longer an option, because... well, it's no longer in the portage tree. > > > > This affects all ebuilds that depend on spidermonkey:0 right now, which > > includes polkit (and thus networkmanager etc.) and netsurf. > > I've committed spidermonkey-1.8.5-r5 to the gentoo repo now, which applies > the same patch that was used in 1.8.7. Please test. Even though the message has changed, it still doesn't build for me. [ebuild N ~] dev-lang/spidermonkey-1.8.5-r5:0/mozjs185::gentoo USE="-debug -minimal -static-libs {-test}"
I can confirm that spidermonkey-1.8.5-r5 still does not compile properly, with the same errors as per comment #16. (The error message hasn't changed, actually: if you look at it, the "shtag" part is still there, just higher up in the log.) Though it sure would be nice to simply not need such an old version of spidermonkey any more altogether.
(In reply to Jory A. Pratt from comment #5) > (In reply to comment #4) > > I've made an intitial portof mozjs17 to x32. I need to do some more testing, > > I'll attach the patch to this bug if it goes okay. (unless a new bug is > > preferred) > > 1.8.7 was already patches and supports x32, 17 will use basically the same > patch. Err. no. My port was with full working JIT. I forgot to attach the patch to this bug but it's been in my x32 overlay for a few years now.
Created attachment 466322 [details, diff] mozjs17 x32 patch with working JIT Better late than never!
With polkit switching over, I am working on spidermonkey-24 x32 port now. A lot has changed, and it's more difficult than with 17... Help welcomed! :)
spidermonkey <78 is no longer in tree. The codebase has changed substantially since then, so closing.