See: https://treeherder.mozilla.org/#/jobs?repo=try&revision=f5d5757faf4a This try uses gcc 5.1.0-RC-20150412 (first RC release before 5.1, which, confusingly, will be the first release of GCC 5) on opt builds: Assertion failure: address.base() == HeapReg.code(), at /builds/slave/try-l64-0000000000000000000000/build/src/js/src/asmjs/AsmJSSignalHandlers.cpp:610 on debug builds: Assertion failure: e == end, at /builds/slave/try-l64-d-00000000000000000000/build/src/js/src/jit/Disassembler.h:259
Dan, any idea why this would fail with gcc 5.0? Maybe we can add some asserts/logging to help glandium debug this? :)
Looks like it might be a compiler bug, possibly related to __attribute__((cold)). Attached is a somewhat reduced testcase which shows the bug. Reproduce with g++ -O2 *.cpp && ./a.out. With the gcc 5.0 snapshot, the assertion in main.cpp fails.
Filed GCC bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65765
The GCC bug was fixed. Moreover, since then GCC 5.2 was released.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.