openeuler-riscv / oerv-team

OERV 实习生工作中心
8 stars 39 forks source link

查找使用了rdcycle汇编指令的软件包 #837

Closed laokz closed 2 months ago

laokz commented 3 months ago

由于opensbi和内核升级,2403上用户空间执行rdcycle指令将导致非法指令错误。调查2403上的6000余包中有哪些还使用了该指令。一般思路提示:

wzssyqa commented 3 months ago

给个思路,下载所有的二进制包,解开,搜索其中的.a/.so 以及其他elf文件。 反汇编,grep rdcycle。

这种能解决大部分问题,还有一部分类似JIT的情况,需要另外想办法。

wzssyqa commented 2 months ago

扫描出来了这些文件

abseil-cpp-20230802.1-3.oe2403.riscv64/usr/lib64/libabsl_base.so.2308.0.0 autofdo-0.19-3.20231228.git0e296280.oe2403.riscv64/usr/bin/create_gcov autofdo-0.19-3.20231228.git0e296280.oe2403.riscv64/usr/bin/profile_merger autofdo-0.19-3.20231228.git0e296280.oe2403.riscv64/usr/bin/dump_gcov bazel-5.3.0-1.oe2403.riscv64/usr/bin/bazel-real bazel-5.3.0-1.oe2403.riscv64/usr/bin/bazel-5.3.0-linux-riscv64 java-11-openjdk-headless-11.0.23.9-1.oe2403.riscv64/usr/lib/jvm/java-11-openjdk-11.0.23.9-1.oe2403.riscv64/lib/server/libjvm.so java-17-openjdk-headless-17.0.11.9-0.oe2403.riscv64/usr/lib/jvm/java-17-openjdk-17.0.11.9-0.oe2403.riscv64/lib/server/libjvm.so java-11-openjdk-headless-slowdebug-11.0.23.9-1.oe2403.riscv64/usr/lib/jvm/java-11-openjdk-11.0.23.9-1.oe2403.riscv64-slowdebug/lib/server/libjvm.so java-17-openjdk-headless-slowdebug-17.0.11.9-0.oe2403.riscv64/usr/lib/jvm/java-17-openjdk-17.0.11.9-0.oe2403.riscv64-slowdebug/lib/server/libjvm.so java-21-openjdk-headless-21.0.2.12-2.oe2403.riscv64/usr/lib/jvm/java-21-openjdk-21.0.2.12-2.oe2403.riscv64/lib/server/libjvm.so java-latest-openjdk-headless-21.0.0.35-2.oe2403.riscv64/usr/lib/jvm/java-21-openjdk-21.0.0.35-2.oe2403.riscv64/lib/server/libjvm.so mvapich2-devel-2.3.6-3.oe2403.riscv64/usr/lib64/mvapich2/lib/libmpi.a mvapich2-2.3.6-3.oe2403.riscv64/usr/lib64/mvapich2/lib/libmpi.so.12.1.1 mvapich2-2.3.6-3.oe2403.riscv64/usr/lib64/mvapich2/bin/mpivars papi-7.1.0-2.oe2403.riscv64/usr/lib64/libpapi.so.7.1.0.0 papi-devel-7.1.0-2.oe2403.riscv64/usr/lib64/libpapi.a perf-6.6.0-27.0.0.31.oe2403.riscv64/usr/bin/perf python3-perf-6.6.0-27.0.0.31.oe2403.riscv64/usr/lib64/python3.11/site-packages/perf.cpython-311-riscv64-linux-gnu.so librados2-18.2.2-5.oe2403.riscv64/usr/lib64/ceph/libceph-common.so.2 qt6-qtwebengine-6.5.2-2.oe2403.riscv64/usr/lib64/qt6/libexec/qwebengine_convert_dict qt6-qtwebengine-6.5.2-2.oe2403.riscv64/usr/lib64/libQt6WebEngineCore.so.6.5.2 ceph-test-18.2.2-5.oe2403.riscv64/usr/bin/ceph_perf_objectstore ceph-osd-18.2.2-5.oe2403.riscv64/usr/bin/ceph-osd ceph-test-18.2.2-5.oe2403.riscv64/usr/bin/ceph_perf_msgr_client ceph-test-18.2.2-5.oe2403.riscv64/usr/bin/ceph_perf_local

wzssyqa commented 2 months ago

script.tar.gz 扫描用的脚本

laokz commented 2 months ago

大佬就是大佬 牛! 这些问题怎么解决看来还得琢磨琢磨,有的不是源码嵌入了这个指令,,