From 9fc4cf7223181c33e0844d7c4f552d08fb68cf5a Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Wed, 24 Jan 2024 23:07:32 +0000 Subject: [PATCH] [compiler-rt] remove hexdump interception. (#79378) a freebsd dev member reported a symbol conflict and intercepting this had little value anyway. (cherry picked from commit 16a1ef86cbc5e6c829919ec6c73325413b0cd21b) --- .../sanitizer_common_interceptors.inc | 15 ------------ .../sanitizer_platform_interceptors.h | 1 - .../TestCases/FreeBSD/hexdump.cc | 23 ------------------- 3 files changed, 39 deletions(-) delete mode 100644 compiler-rt/test/sanitizer_common/TestCases/FreeBSD/hexdump.cc diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc index 1b56bebac64e68..3ecdb55cdbf72f 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc +++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc @@ -10218,20 +10218,6 @@ INTERCEPTOR(int, __xuname, int size, void *utsname) { #define INIT___XUNAME #endif -#if SANITIZER_INTERCEPT_HEXDUMP -INTERCEPTOR(void, hexdump, const void *ptr, int length, const char *header, int flags) { - void *ctx; - COMMON_INTERCEPTOR_ENTER(ctx, hexdump, ptr, length, header, flags); - COMMON_INTERCEPTOR_READ_RANGE(ctx, ptr, length); - COMMON_INTERCEPTOR_READ_RANGE(ctx, header, internal_strlen(header) + 1); - REAL(hexdump)(ptr, length, header, flags); -} - -#define INIT_HEXDUMP COMMON_INTERCEPT_FUNCTION(hexdump); -#else -#define INIT_HEXDUMP -#endif - #if SANITIZER_INTERCEPT_ARGP_PARSE INTERCEPTOR(int, argp_parse, const struct argp *argp, int argc, char **argv, unsigned flags, int *arg_index, void *input) { @@ -10581,7 +10567,6 @@ static void InitializeCommonInterceptors() { INIT_PROCCTL INIT_UNAME; INIT___XUNAME; - INIT_HEXDUMP; INIT_ARGP_PARSE; INIT_CPUSET_GETAFFINITY; diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h index 0ce4e9351bc1da..de55c736d0e144 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h +++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h @@ -596,7 +596,6 @@ #define SANITIZER_INTERCEPT___XUNAME SI_FREEBSD #define SANITIZER_INTERCEPT_FLOPEN SI_FREEBSD #define SANITIZER_INTERCEPT_PROCCTL SI_FREEBSD -#define SANITIZER_INTERCEPT_HEXDUMP SI_FREEBSD #define SANITIZER_INTERCEPT_ARGP_PARSE SI_GLIBC #define SANITIZER_INTERCEPT_CPUSET_GETAFFINITY SI_FREEBSD diff --git a/compiler-rt/test/sanitizer_common/TestCases/FreeBSD/hexdump.cc b/compiler-rt/test/sanitizer_common/TestCases/FreeBSD/hexdump.cc deleted file mode 100644 index e07650d64102a4..00000000000000 --- a/compiler-rt/test/sanitizer_common/TestCases/FreeBSD/hexdump.cc +++ /dev/null @@ -1,23 +0,0 @@ -// RUN: %clangxx -O0 -g %s -o %t -lutil && %run %t 2>&1 | FileCheck %s - -#include -#include -#include -#include - -int main(void) { - printf("hexdump"); - char *line; - size_t lineno = 0, len; - const char *delim = "\\\\#"; - FILE *fp = fopen("/etc/fstab", "r"); - assert(fp); - line = fparseln(fp, &len, &lineno, delim, 0); - hexdump(line, len, nullptr, 0); - free(line); - fclose(fp); - assert(lineno != 0); - assert(len > 0); - - return 0; -}