From 50ea01e93d503bfc01373db3e2d6dceb38c1a6e0 Mon Sep 17 00:00:00 2001 From: waddlesplash Date: Mon, 31 Jan 2022 15:20:08 +0000 Subject: [PATCH] Revert "runtime_loader: Support resolving weak symbols as NULL." This reverts commit 74843df324e016ba448174c9f9e5b142ef728a67. Reason for revert: Change was not ready, see comments on #8288. Change-Id: I82dc23ca5a86fa2906fb6eb19f9f872603618fad Reviewed-on: https://review.haiku-os.org/c/haiku/+/4897 Reviewed-by: waddlesplash --- src/system/runtime_loader/elf_symbol_lookup.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/system/runtime_loader/elf_symbol_lookup.cpp b/src/system/runtime_loader/elf_symbol_lookup.cpp index 05c7c56060..d271abf65e 100644 --- a/src/system/runtime_loader/elf_symbol_lookup.cpp +++ b/src/system/runtime_loader/elf_symbol_lookup.cpp @@ -529,14 +529,8 @@ resolve_symbol(image_t* rootImage, image_t* image, elf_sym* sym, void* location = NULL; if (sharedSym == NULL) { // symbol not found at all - if (sym->Bind() == STB_WEAK) { - // weak symbol: treat as NULL - lookupError = SUCCESS; - location = sharedImage = NULL; - } else { - lookupError = ERROR_NO_SYMBOL; - sharedImage = NULL; - } + lookupError = ERROR_NO_SYMBOL; + sharedImage = NULL; } else if (sym->Type() != STT_NOTYPE && sym->Type() != sharedSym->Type()) { // symbol not of the requested type @@ -588,8 +582,7 @@ resolve_symbol(image_t* rootImage, image_t* image, elf_sym* sym, return B_MISSING_SYMBOL; } - if (location != NULL) - cache->SetSymbolValueAt(index, (addr_t)location, sharedImage); + cache->SetSymbolValueAt(index, (addr_t)location, sharedImage); if (symbolImage) *symbolImage = sharedImage;