From 010cf0128e02429c8686772f20cf80b2ca678939 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 12 May 2022 09:05:30 +0100 Subject: [PATCH] TODO(sprof): cheri: disable profiling shared libraries This is needed now to avoid referencing abort in ld.so. TODO: Fixing shared library profiling for capabilities requires type fixes so capabilities are not stored into shared memory (maybe purecap layout can match the lp64 one and then no file format and external tooling change is required.) TODO: Proper fix also depends on _dl_runtime_profile plt entry --- elf/dl-profile.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/elf/dl-profile.c b/elf/dl-profile.c index ec57e3a9655..2cb66e83c62 100644 --- a/elf/dl-profile.c +++ b/elf/dl-profile.c @@ -182,6 +182,9 @@ static unsigned int log_hashfraction; void _dl_start_profile (void) { +#ifdef __CHERI_PURE_CAPABILITY__ + __libc_fatal ("Profiling is not supported on capability architectures."); +#else char *filename; int fd; struct __stat64_t64 st; @@ -482,6 +485,7 @@ _dl_start_profile (void) /* Turn on profiling. */ running = 1; +#endif } -- 2.47.2