From 459e651fd518aaecda9ff6079ea0385456e0be5b Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Sat, 11 Apr 2015 11:13:33 +0200 Subject: [PATCH] syscalls: Remove lookup_symbol syscall again. This partially reverts b959d46dbd2f9087ae860dbced40440c28596a6e. --- headers/private/kernel/elf.h | 5 ---- headers/private/system/syscalls.h | 4 ---- src/system/kernel/elf.cpp | 38 ------------------------------- 3 files changed, 47 deletions(-) diff --git a/headers/private/kernel/elf.h b/headers/private/kernel/elf.h index b8c6a426e9..3851504db4 100644 --- a/headers/private/kernel/elf.h +++ b/headers/private/kernel/elf.h @@ -54,11 +54,6 @@ status_t _user_read_kernel_image_symbols(image_id id, elf_sym* symbolTable, int32* _symbolCount, char* stringTable, size_t* _stringTableSize, addr_t* _imageDelta); -status_t _user_lookup_symbol(addr_t address, addr_t* baseAddress, - char* symbolNameBuffer, size_t symbolNameBufferSize, - char* imageNameBuffer, size_t imageNameBufferSize, - bool* exactMatch); - #ifdef __cplusplus } #endif diff --git a/headers/private/system/syscalls.h b/headers/private/system/syscalls.h index f55639b115..8cd608c02e 100644 --- a/headers/private/system/syscalls.h +++ b/headers/private/system/syscalls.h @@ -494,10 +494,6 @@ extern status_t _kern_system_profiler_recorded( extern ssize_t _kern_get_stack_trace(size_t addressCount, addr_t* adresses); -extern status_t _kern_lookup_symbol(addr_t address, addr_t* baseAddress, - char* symbolNameBuffer, size_t symbolNameBufferSize, - char* imageNameBuffer, size_t imageNameBufferSize, - bool* exactMatch); /* atomic_* ops (needed for CPUs that don't support them directly) */ #ifdef ATOMIC_FUNCS_ARE_SYSCALLS diff --git a/src/system/kernel/elf.cpp b/src/system/kernel/elf.cpp index 1e876b7df9..66764f71ab 100644 --- a/src/system/kernel/elf.cpp +++ b/src/system/kernel/elf.cpp @@ -2686,41 +2686,3 @@ _user_read_kernel_image_symbols(image_id id, elf_sym* symbolTable, return B_OK; } - - -status_t -_user_lookup_symbol(addr_t address, addr_t* userBaseAddress, - char* userSymbolNameBuffer, size_t symbolNameBufferSize, - char* userImageNameBuffer, size_t imageNameBufferSize, bool* userExactMatch) -{ - MutexLocker locker(&sImageMutex); - - addr_t baseAddress; - const char *symbolName; - const char *imageName; - bool exactMatch; - status_t status; - - if (IS_KERNEL_ADDRESS(address)) { - status = elf_debug_lookup_symbol_address(address, &baseAddress, - &symbolName, &imageName, &exactMatch); - } else { - status = elf_debug_lookup_user_symbol_address( - thread_get_current_thread()->team, address, &baseAddress, - &symbolName, &imageName, &exactMatch); - } - - if (status != B_OK) - return status; - - if (user_memcpy(userBaseAddress, &baseAddress, sizeof(addr_t)) != B_OK - || user_memcpy(userExactMatch, &exactMatch, sizeof(bool)) != B_OK - || user_strlcpy(userSymbolNameBuffer, symbolName, symbolNameBufferSize) - < 0 - || user_strlcpy(userImageNameBuffer, imageName, imageNameBufferSize) - < 0) { - return B_BAD_ADDRESS; - } - - return B_OK; -}