[patch] add support for lcc compiler (<=1.23)
Categories
(NSS :: Build, enhancement, P1)
Tracking
(Not tracked)
People
(Reporter: shigorin, Assigned: shigorin)
Details
Attachments
(1 file, 1 obsolete file)
1.13 KB,
patch
|
jcj
:
review+
|
Details | Diff | Splinter Review |
NSS currently fails to build with lcc 1.23.12 compiler on 64-bit Elbrus 2000 architecture due to its lack of __int128; not only 3.44 version I've patched but the current hg I've checked the patch to apply against either.
Please find the patch attached.
PS: I hope to revisit this as soon as I can get my hands on lcc 1.24 where __int128 is suppored (not sure when this happens though).
Assignee | ||
Comment 1•4 years ago
|
||
Test suite seems to pass for me:
Tests summary:
--------------
Passed: 13297
Failed: 0
Failed with core: 0
ASan failures: 0
Unknown status: 48
TinderboxPrint:Unknown: 48
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Comment 2•4 years ago
|
||
Comment on attachment 9067720 [details] [diff] [review] 0001-freebl-add-lcc-support.patch Review of attachment 9067720 [details] [diff] [review]: ----------------------------------------------------------------- ::: lib/freebl/Makefile @@ +494,5 @@ > > ifdef USE_64 > +# no __int128 at least up to lcc 1.23 (pretending to be gcc5) > +# NB: CC_NAME is not defined here > +ifneq (lcc,$(shell $(CC) -? 2>&1 >/dev/null | sed -e 's/:.*//;1q')) Everywhere else in the file we put the constant as the second argument to the if. Can you swap it? Then r+ and I'll check it in. Thanks!
Assignee | ||
Comment 3•4 years ago
|
||
No problem, thanks for reviewing :-)
Comment 4•4 years ago
|
||
Comment on attachment 9070702 [details] [diff] [review] 0001-freebl-add-lcc-support.patch Review of attachment 9070702 [details] [diff] [review]: ----------------------------------------------------------------- Thank you!
Comment 5•4 years ago
|
||
Comment 6•4 years ago
|
||
MSVC compiler hangs with cl.exe -? >/dev/null - it waits for user input... apparently redirection of stdout to /dev/null breaks some check there, since redirecting to a dummy file works OK.
Assignee | ||
Comment 7•4 years ago
|
||
Mike, that might be worth another ifdef -- and check for CC_NAME in nss/coreconf/Werror.mk as that's where I borrowed the test from (the variable doesn't appear to be defined where I had to inline the test).
Comment 8•4 years ago
|
||
Well - simply adding stdin to /dev/null also works - so I'd just made something like
ifneq ($(shell $(CC) -? 2>&1 >/dev/null </dev/null | sed -e 's/:.*//;1q'),lcc)
Assignee | ||
Comment 9•4 years ago
|
||
Go ahead and post a patch for both occasions as a new bug referencing this one :-)
Assignee | ||
Comment 10•4 years ago
|
||
Forgot it: 3.45.0 built on e2k just fine, thank you JC!
Description
•