Closed Bug 452630 Opened 16 years ago Closed 16 years ago

TM: Build break in jstracer.cpp

Categories

(Core :: JavaScript Engine, enhancement)

x86
OS/2
enhancement
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: mozilla, Assigned: mozilla)

References

Details

Attachments

(1 file)

The asm() instruction added to jstracer.cpp with bug 451743 breaks the build again on OS/2: X:/central/comm/mozilla/js/src/jstracer.cpp: In function `bool js_CheckForSSE2()': X:/central/comm/mozilla/js/src/jstracer.cpp:2191: error: parse error before `)' token As posted by Walter on the newsgroup, it seems that the last two optional arguments (the inputs and the clobbers) of the asm directive confuse GCC 3.3.5. Removing one of both of the empty arguments helps.
Attached patch workaround (deleted) — Splinter Review
Removing the optional arguments helps at least with the OS/2 version of GCC, haven't tested this with any other version yet.
Assignee: general → mozilla
Status: NEW → ASSIGNED
OS2 shouldn't be building with JS_TRACER defined. /be
See bug 451278 - we're not going to support GCC 3.3.x any more.
Brendan: OK, JS_TRACER seems to be defined always for ENABLE_JIT which is on for 86 architectures if I interpret the magic at http://hg.mozilla.org/mozilla-central/index.cgi/annotate/5e208ee3e1cc/js/src/Makefile.in#l89 correctly. I can easily add an ifndef XP_OS2 around -DJS_TRACER. Benjamin: yes, I have read that. But it's not clear to me that this is a problem of GCC 3.3.x, could as well have been fixed later. Would love to see hints either way, so that we know where to put our efforts.
(In reply to comment #2) > OS2 shouldn't be building with JS_TRACER defined. Should I see any bad effects in OS/2 with the tracer enabled? All seems to work normally when I compile with the workaround from attachment 335897 [details] [diff] [review]. I did check that this workaround does not cause any problem with GCC >=3.4 on Linux, I didn't have 3.3 around to cross-check with that on Linux.
Summary: Build break in jstracer.cpp → TM: Build break in jstracer.cpp
David, can you look at the patch? I think we can push that into the tree and it won't affect our other OSes.
Comment on attachment 335897 [details] [diff] [review] workaround David, want to push this?
Attachment #335897 - Flags: review+
Is OS2 really working with such an old GCC? Our ability and willingness to take patches to work around old bugs is pretty limited. /be
As long it doesn't break anything and doesn't block future changes we want, I am willing to try to accommodate our 3 remaining OS2 users ;)
Brendan: we are looking into updating our compiler to GCC 3.4 at least (to be on par with mingw/cygwin), but the guys who know how to build compilers have their hands full with other non-OS/2 stuff, so progress will be slow. Until that happens I hope we can get small changes such as the patch here into the tree so that we can build releases (and perhaps a nightly every now and then) from Mercurial with a minimal amount of extra work. Andreas: users of OS/2 nightlies may really only be very few but download numbers for releases still had four digits per month last we looked. :-)
Severity: blocker → enhancement
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Flags: in-testsuite-
Flags: in-litmus-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: