[MacPorts] #65153: nss fails to build for x86_64 on 10.6.8 when forcing the build to use gcc11 instead of the default clang compiler: no such instruction: `pclmulqdq $16, %xmm2, %xmm0'
MacPorts
noreply at macports.org
Wed May 11 13:44:21 UTC 2022
#65153: nss fails to build for x86_64 on 10.6.8 when forcing the build to use gcc11
instead of the default clang compiler: no such instruction: `pclmulqdq $16,
%xmm2,%xmm0'
-------------------------+-------------------------------------------------
Reporter: | Owner: (none)
barracuda156 |
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.7.2
Resolution: | Keywords: x86_64, snowleopard,
Port: nss | nonstandard_build
-------------------------+-------------------------------------------------
Comment (by barracuda156):
Replying to [comment:14 mouse07410]:
> I'm a latecomer here, and don't have the full context. But, as I've done
a lot with compiling optimized crypto code on Mac (outside of Macports):
>
> In my experience, Clang requires flags {{{-maesni -mpcmul}}} for code
like this. GCC, in addition to that, requires a different assembler, like
env variable {{{AS_INTEGRATED_ASSEMBLER=1}}} and {{{CFLAGS += -Wa,-q
-Wa,-march=native}}} (re. {{{-march}}}: maybe {{{-maesni -mpcmul}}}
instead).
It builds on PPC with an old assembler with no problems (I think Macports
`as`, correct me if I am wrong). So it ''should'' build on Intel with the
same too. The problem is that certain cpu-specific improvements were hard-
wired into `nss` code without thinking through that they gonna break the
code on old Intel systems.
Solution should be to make cpu-specific instructions optional, not to
force everyone use an external assembler from a specific vendor. IMO.
--
Ticket URL: <https://trac.macports.org/ticket/65153#comment:17>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list