Skip to content
This repository has been archived by the owner on Aug 18, 2021. It is now read-only.

因 CPU 不支持对应指令集导致崩溃一例 #12

Closed
DuckSoft opened this issue Jul 29, 2020 · 8 comments · Fixed by #14
Closed

因 CPU 不支持对应指令集导致崩溃一例 #12

DuckSoft opened this issue Jul 29, 2020 · 8 comments · Fixed by #14
Assignees
Labels
good first issue Good for newcomers

Comments

@DuckSoft
Copy link
Member

事故 CPU:Intel (R) Pentium (R) CPU 5405U @ 2.30 GHz
事故现场:stream_ietf_ext_ref_xor_ic () 调用了一个不受支持的指令,直接上天
图片

libsodium 似乎已经不是第一次翻车了……得想想办法……

@DuckSoft DuckSoft added the bug Something isn't working label Jul 29, 2020
@DuckSoft
Copy link
Member Author

在事主的电脑上手动编译了一次,然后对比了一下 CMakeCache,如下:

图片
图片
图片

应该主要是 AVX AVX2 指令集被砍掉了……Intel 真是刀法精准……

@DuckSoft
Copy link
Member Author

这么看来,SSR 插件可以考虑出几个奇葩版本:

  • QvPluginSSR-NOAVX2
  • QvPluginSSR-NOAVX2-NOAVX
  • QvPluginSSR-NOAVX2-NOAVX-NOSSE
  • QvPluginSSR-NOAVX2-NOAVX-NOSSE-NOFPU
  • ......
  • QvPluginSSR-NOCPU

@ghost
Copy link

ghost commented Jul 29, 2020

没辙
除非拿来所有阉割版 cpu 编译对应版本

@DuckSoft
Copy link
Member Author

DuckSoft commented Jul 29, 2020

传一份编译好的没有 AVX/AVX2 指令集优化的版本:
QvSSRPlugin-v2.0.2-noavx.so.zst.zip
收工!

@DuckSoft DuckSoft reopened this Jul 30, 2020
@DuckSoft
Copy link
Member Author

DuckSoft commented Jul 30, 2020

啊,我又返工了。
我们能否利用 GitHub Actions 的 matrix 功能编译几个砍了 AVX 的版本呢?

@duckvador 唯一要解决的问题是如何想办法让 CMake 知道我们不想开 AVX……

图片

@darsvador
Copy link
Contributor

啊,我又返工了。
我们能否利用 GitHub Actions 的 matrix 功能编译几个砍了 AVX 的版本呢?

@duckvador 唯一要解决的问题是如何想办法让 CMake 知道我们不想开 AVX……

cmake .. -DHAVE_AVX512FINTRIN_H=0 -DHAVE_AVXINTRIN_H=0 -DHAVE_AVX2INTRIN_H=0 -DHAVE_AVX_ASM=0

@darsvador
Copy link
Contributor

darsvador commented Jul 30, 2020

其他的关于指令集相关的options.

HAVE_CPUID //cpuid
HAVE_EMMINTRIN_H //sse2
HAVE_MMINTRIN_H //mmx
HAVE_PMMINTRIN_H //sse3
HAVE_SMMINTRIN_H //sse4.1
HAVE_TMMINTRIN_H //ssse3
HAVE_WMMINTRIN_H //aes pclmul

@DuckSoft
Copy link
Member Author

@duckvador 蕉 给 你 了(跑)

@DuckSoft DuckSoft added good first issue Good for newcomers and removed bug Something isn't working labels Jul 31, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
good first issue Good for newcomers
Development

Successfully merging a pull request may close this issue.

2 participants