Closed Bug 1371256 Opened 7 years ago Closed 7 years ago

mozjs 38.8.0 on mips64el mistakenly selects 32-bit version of jsval_layout

Categories

(Firefox Build System :: General, defect)

38 Branch
Other
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1357588

People

(Reporter: lmy441900, Unassigned)

References

Details

On mips64el platform, mozjs-38 is always failed to be built. Some of the error messages are:

```
In file included from /var/cache/acbs/build/acbs.q0katfs9/mozilla-esr38/js/src/jsalloc.h:18:0,
                 from /var/cache/acbs/build/acbs.q0katfs9/mozilla-esr38/js/src/jsatom.h:12,
                 from /var/cache/acbs/build/acbs.q0katfs9/mozilla-esr38/js/src/vm/Runtime.h:21,
                 from /var/cache/acbs/build/acbs.q0katfs9/mozilla-esr38/js/src/jscntxt.h:15,
                 from /var/cache/acbs/build/acbs.q0katfs9/mozilla-esr38/js/src/vm/RegExpObject.h:13,
                 from /var/cache/acbs/build/acbs.q0katfs9/mozilla-esr38/js/src/builtin/RegExp.h:10,
                 from /var/cache/acbs/build/acbs.q0katfs9/mozilla-esr38/js/src/builtin/RegExp.cpp:7:
../../dist/include/js/Value.h: At global scope:
../../dist/include/js/Utility.h:53:42: error: static assertion failed: JS_STATIC_ASSERT
 #define JS_STATIC_ASSERT(cond)           static_assert(cond, "JS_STATIC_ASSERT")
                                          ^
../../dist/include/js/Value.h:358:1: note: in expansion of macro 'JS_STATIC_ASSERT'
 JS_STATIC_ASSERT(sizeof(jsval_layout) == 8);
 ^~~~~~~~~~~~~~~~
```

I looked into it for a little while. I inserted `#error` macros to 3 of the 4 versions of jsval_layout (Little-Endian 32-bit and 64-bit, Big-Endian 32-bit and 64-bit, 64LE is not inserted since it should be the correct one), and find that on MIPS64EL the macro `JS_NUNBOX32` is defined so 32-bit Little-Endian version of jsval_layout is used on a 64-bit platform -- `sizeof (jsval_layout)` just can't be 8.
An (almost the same) issue is at https://bugzilla.mozilla.org/show_bug.cgi?id=1357588, but with a PPC64 architecture. I think the reason might be the same.
(In reply to Junde Yhi from comment #1)
> An (almost the same) issue is at
> https://bugzilla.mozilla.org/show_bug.cgi?id=1357588, but with a PPC64
> architecture. I think the reason might be the same.

Well, not PPC64, but MIPS64 (confused by the UA string), the same platform and mozjs version as this issue.
Status: UNCONFIRMED → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.