Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 439558 - dev-lang/spidermonkey-1.8.5-r1 ABI=x32 - methodjit/PunboxAssembler.h:61:30: error: expected ')' before 'shtag'
Summary: dev-lang/spidermonkey-1.8.5-r1 ABI=x32 - methodjit/PunboxAssembler.h:61:30: e...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords: PATCH
: 466762 471000 564126 (view as bug list)
Depends on:
Blocks: x32
  Show dependency tree
 
Reported: 2012-10-24 20:39 UTC by EoD
Modified: 2022-11-24 11:53 UTC (History)
7 users (show)

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


Attachments
spidermonkey build log (spidermonkey-1.8.5-r1:20121024-202347.log,64.81 KB, text/plain)
2012-10-24 20:39 UTC, EoD
Details
emerge --info (emergeinfox32,13.74 KB, text/plain)
2012-10-24 20:49 UTC, EoD
Details
spidermonkey-1.8.5-r5 build log (spidermonkey-1.8.5-r5:20160312-151705.log,230.79 KB, text/x-log)
2016-03-12 15:33 UTC, EoD
Details
mozjs17 x32 patch with working JIT (spidermonkey-17.0.0-x32.patch,24.83 KB, patch)
2017-03-08 13:26 UTC, Steven Newbury
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description EoD 2012-10-24 20:39:53 UTC
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"
Comment 1 EoD 2012-10-24 20:49:20 UTC
Created attachment 327340 [details]
emerge --info

The above emerge info was from a faulty chroot. Here is the emerge --info from the build environment.
Comment 2 Jory A. Pratt gentoo-dev 2012-10-24 21:49:59 UTC
x32 support will only be avaliable in spidermonkey-1.8.7 which you can unmask locally if you need it right now.
Comment 3 Jory A. Pratt gentoo-dev 2013-04-22 14:15:03 UTC
*** Bug 466762 has been marked as a duplicate of this bug. ***
Comment 4 Steven Newbury 2013-05-16 18:27:23 UTC
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)
Comment 5 Jory A. Pratt gentoo-dev 2013-05-16 23:18:16 UTC
(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.
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2013-05-22 14:15:11 UTC
*** Bug 471000 has been marked as a duplicate of this bug. ***
Comment 7 Flo Gravo 2013-05-22 14:21:47 UTC
1.8.7 still fails with USE="jit" (see 471000)
Comment 8 Tolga Dalman 2013-06-09 21:21:25 UTC
I can confirm this bug -- and that 1.8.7 compiles.
Comment 9 Jory A. Pratt gentoo-dev 2015-01-06 14:32:46 UTC
If you can duplicate with current builds please reopen and update entire bug report.
Comment 10 Jory A. Pratt gentoo-dev 2015-10-26 01:00:31 UTC
*** Bug 564126 has been marked as a duplicate of this bug. ***
Comment 11 Jory A. Pratt gentoo-dev 2015-10-26 16:35:00 UTC
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.
Comment 12 Dainius Masiliūnas 2016-02-23 11:57:23 UTC
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.
Comment 13 Ian Stakenvicius (RETIRED) gentoo-dev 2016-02-23 15:04:17 UTC
(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.
Comment 14 Dainius Masiliūnas 2016-02-23 16:56:10 UTC
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.
Comment 15 Steven Newbury 2016-02-29 19:57:44 UTC
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.
Comment 16 EoD 2016-03-12 15:33:02 UTC
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}"
Comment 17 Dainius Masiliūnas 2016-07-29 14:46:52 UTC
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.
Comment 18 Steven Newbury 2017-03-08 13:25:50 UTC
(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.
Comment 19 Steven Newbury 2017-03-08 13:26:59 UTC
Created attachment 466322 [details, diff]
mozjs17 x32 patch with working JIT

Better late than never!
Comment 20 Steven Newbury 2017-03-08 13:29:53 UTC
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! :)
Comment 21 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-11-24 11:29:38 UTC
spidermonkey <78 is no longer in tree. The codebase has changed substantially since then, so closing.