On 7/8/2022 4:09 PM, jyfletcher@gmail.com wrote:
> Hi all,
>
> I first want to make it clear that I am not asking for "support" but
> just asking if someone can point me in the right direction.¨
>
> I've been playing with compiling the system with CPU specific flags for
> example:
> COPTS += -march=znver1 -mtune=znver1
> CXXOPTS += -march=znver1 -mtune=znver1
>
> Which for the base system seems to be fine so far, but for some ports
> such as
> devel/gcc/*
> math/cblas
>
> it seems that the compiler/linker (or whatever beyond my knowledge)
> fails with CPU instructions that don't exist. Such as this:
>
> Error: no such instruction: `vmovsd %xmm0,8(%rsp)'
The system assembler is too old. You cannot build with tuned code with
ports GCC
as that would emit instructions the system assembler does not
understand. I had
looked into switching to the ports assembler and it was fine for the
most part but
had to be reverted because of the SeaBIOS port. It's currently stuck
using the old
linker and you cannot mix the new assembler and old linker.
With Clang it would be fine.
Most likely you don't care about building SeaBIOS
(sysutils/firmware/vmm) so you
could always apply the diff below locally and that should resolve the
https://github.com/openbsd/ports/commit/04eb73bc2f75952a1967cf84d89cd033b43bfe2d
>
> This is fine, I am just trying to learn, but what I would like is if
> someone can point me in the right direction to specify global
> COPTS/CXXOPTS/CFLAGS/CXXFLAGS/etc but unset them for specific ports.
>
> Or.. How to let these builds know that these instructions do exist
> would be even more nice.. :-)
>
> Any insight?
>
> Thanks,
> Justin
>
No comments:
Post a Comment