perf genelf: Remove libcrypto dependency and use built-in sha1()
authorYuzhuo Jing <yuzhuo@google.com>
Wed, 25 Jun 2025 20:23:10 +0000 (13:23 -0700)
committerNamhyung Kim <namhyung@kernel.org>
Thu, 26 Jun 2025 17:51:40 +0000 (10:51 -0700)
commite3f612c1d8f3945bb0cc8aad173fc12a3b20dc2a
tree467a154e620bae819efbe5ffc8ad0943ca0bba2d
parent43830468b6436811ff732b062f8d6306c6eddb77
perf genelf: Remove libcrypto dependency and use built-in sha1()

genelf is the only file in perf that depends on libcrypto (or openssl)
which only calculates a Build ID (SHA1, MD5, or URANDOM).  SHA1 was
expected to be the default option, but MD5 was used by default due to
previous issues when linking against Java.  This commit switches genelf
to use the in-house sha1(), and also removes MD5 and URANDOM options
since we have a reliable SHA1 implementation to rely on.  It passes the
tools/perf/tests/shell/test_java_symbol.sh test.

Signed-off-by: Yuzhuo Jing <yuzhuo@google.com>
Co-developed-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Reviewed-by: Ian Rogers <irogers@google.com>
Link: https://lore.kernel.org/r/20250625202311.23244-4-ebiggers@kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/genelf.c