From 226f48b0835db224f61d07879307a809981e812d Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Sat, 20 Jun 2009 09:31:50 +0000 Subject: [PATCH] 1.0.29.21: less strict os-provides-dladdr.c * Allows us to use dladdr on FC6, where previous test failed because we expected an exact match on the name for "printf", whereas the name we got is "_IO_printf". IIRC the reason for the name was that some marginal platform had a dladdr that always returned "unknown function" or something like that -- here's hoping that's not the case anymore, but if it is, testing that the return value is not a placeholder string like that is probably better. --- NEWS | 2 ++ tools-for-build/os-provides-dladdr-test.c | 3 +-- version.lisp-expr | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index aec4085..960c984 100644 --- a/NEWS +++ b/NEWS @@ -28,6 +28,8 @@ (reported by Elliot Slaughter, thanks to Stas Boukarev) * bug fix: bogus undefined variable warnings from fopcompiled references to global variables. (thanks to Lars Rune Nøstdal) + * bug fix: foreign function names should now appear in backtraces on + FC6 as well. (reported by Tomasz Skutnik and obias Rautenkranz) changes in sbcl-1.0.29 relative to 1.0.28: * IMPORTANT: bug database has moved from the BUGS file to Launchpad diff --git a/tools-for-build/os-provides-dladdr-test.c b/tools-for-build/os-provides-dladdr-test.c index bc1a05c..d7795b4 100644 --- a/tools-for-build/os-provides-dladdr-test.c +++ b/tools-for-build/os-provides-dladdr-test.c @@ -13,8 +13,7 @@ int main () void * handle = dlopen((void*)0, RTLD_GLOBAL | RTLD_NOW); void * addr = dlsym(handle, "printf"); Dl_info * info = (Dl_info*) malloc(sizeof(Dl_info)); - dladdr(addr, info); - if (strcmp(info->dli_sname, "printf")) { + if (dladdr(addr, info) == 0) { return 1; } else { return 104; diff --git a/version.lisp-expr b/version.lisp-expr index 94f28c1..ef1d43e 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.29.20" +"1.0.29.21" -- 1.7.10.4