Closed Bug 507025 Opened 15 years ago Closed 15 years ago

SSE2 optimizations in mpi_x86_asm.c do not allow to build with VC6 without processor pack, or VC5 or below

Categories

(NSS :: Build, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: christophe.ravel.bugs, Unassigned)

Details

Build error: mpi_x86_asm.c c:/security/securitytip/builds/20090727.1/nssw2000s_WIN/mozilla/security/nss/lib/freebl/mpi/mpi_x86_asm.c(132) : fatal error C1601: unsupported inline assembly opcode make[4]: *** [WINNT5.0_OPT.OBJ/WINNT_SINGLE_SHLIB/mpi_x86_asm.obj] Error 2
The workaround is to pull rev 1.2 of freebl/mpi/mpi_x86_asm.c, instead of rev 1.4, when building with vc6. Given how easy that is, I don't think we'll fix it. Maybe we should create a tag named NSS_3_12_3_RTM_VC6
Nelson, While pulling that revision would be a temporary fix, I am not sure it's the best one. IMO, the NSS trunk should be buildable with VC6 without pulling alternate tags - some people still use it, as well as older versions of MSVC (I think Wan-Teh uses VC5). One solution is to #ifdef the SSE2 optimizations in this source file. So if you build with VC6, you wouldn't get them. Another one is to put the opcode for the SSE2 instructions in binary, if the compiler allows it.
Good news : I am no longer seeing this build error after I applied my fix for bug 507041 . Marking as a duplicate.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → DUPLICATE
Actually, that fix may be unrelated. I suspect you are simply running with an old unpatched version of VC6 . The version I have is Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved. It is VC6 SP5 + processor pack. The processor pack probably makes all the difference. So this is not a bug in NSS, but a backlevel compiler issue. Of course, this may still break older compilers like VC5 . I'm reopening for that reason. But for now I would recommend you install the latest VC6 patches.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
FYI, info on VC6 processor pack is at http://msdn.microsoft.com/en-us/vstudio/aa718349.aspx . You must have SP5 for VC6 to install it first.
Does anyone still use VC5 or below ? What's our official position on those compilers ? With the code as-is, it won't build with MSVC < VC6 SP5 with processor pack. This may be OK, I just want to make sure it doesn't inconvenience anyone.
Summary: SSE2 optimizations in mpi_x86_asm.c do not allow to build with VC6 → SSE2 optimizations in mpi_x86_asm.c do not allow to build with VC6 without processor pack
The NSS trunk doesn't need to support VC5 or below.
Thanks, Wan-Teh. Marking WONTFIX.
Status: REOPENED → RESOLVED
Closed: 15 years ago15 years ago
Resolution: --- → WONTFIX
Summary: SSE2 optimizations in mpi_x86_asm.c do not allow to build with VC6 without processor pack → SSE2 optimizations in mpi_x86_asm.c do not allow to build with VC6 without processor pack, or VC5 or below
You need to log in before you can comment on or make changes to this bug.