]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commit
Fix RocksDB SIGILL error on Raspberry PI 4 (#7233) ceph-pacific-v6.8.1-3
authorYuqi Gu <yuqi.gu@arm.com>
Tue, 22 Sep 2020 17:39:54 +0000 (10:39 -0700)
committerKefu Chai <tchaikov@gmail.com>
Sat, 1 May 2021 02:55:02 +0000 (10:55 +0800)
commit8ab4c1aa3f1c7d89077d7f81e7d457e8333a0430
tree8e71ecee5f3dec04f3664f3ff0c870b3712e21d9
parent27b1611c67aa0005f265e45f7a9570c71984bb2d
Fix RocksDB SIGILL error on Raspberry PI 4 (#7233)

Summary:
Issue:https://github.com/facebook/rocksdb/issues/7042

No PMULL runtime check will lead to SIGILL on a Raspberry pi 4.

Leverage 'getauxval' to get Hardware-Cap to detect whether target
platform does support PMULL or not in runtime.

Consider the condition that the target platform does support crc32 but not support PMULL.
In this condition, the code should leverage the crc32 instruction
rather than skip all hardware crc32 instruction.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/7233

Reviewed By: jay-zhuang

Differential Revision: D23790116

fbshipit-source-id: a3ebd821fbd4a38dd2f59064adbb7c3013ee8140
(cherry picked from commit 29f7bbef995bdf83098963799c66af742e95373f)
util/crc32c.cc
util/crc32c_arm64.cc
util/crc32c_arm64.h