- } else
- printf("Foreign fp = 0x%lx, ra = 0x%lx",
- (unsigned long) next_fp,
- (unsigned long) ra);
+ } else {
+#ifdef LISP_FEATURE_OS_PROVIDES_DLADDR
+ Dl_info info;
+ if (dladdr(ra, &info)) {
+ printf("Foreign function %s, fp = 0x%lx, ra = 0x%lx",
+ info.dli_sname,
+ (unsigned long) next_fp,
+ (unsigned long) ra);
+ } else
+#endif
+ printf("Foreign fp = 0x%lx, ra = 0x%lx",
+ (unsigned long) next_fp,
+ (unsigned long) ra);
+ }