Index: /branches/working-0711/ccl/lisp-kernel/lisp.s
===================================================================
--- /branches/working-0711/ccl/lisp-kernel/lisp.s	(revision 12988)
+++ /branches/working-0711/ccl/lisp-kernel/lisp.s	(revision 12989)
@@ -19,5 +19,40 @@
 [LOWMEM_BIAS] = 0
 ])
-        undefine([LOWMEM_BIAS])                                
+        undefine([LOWMEM_BIAS])
+        /* DWARF2 exception fsm */
+        DW_CFA_advance_loc = 0x40   
+        DW_CFA_offset = 0x80
+        DW_CFA_restore = 0xc0
+        DW_CFA_nop = 0x00
+        DW_CFA_set_loc = 0x01
+        DW_CFA_advance_loc1 = 0x02
+        DW_CFA_advance_loc2 = 0x03
+        DW_CFA_advance_loc4 = 0x04
+        DW_CFA_offset_extended = 0x05
+        DW_CFA_restore_extended = 0x06
+        DW_CFA_undefined = 0x07
+        DW_CFA_same_value = 0x08
+        DW_CFA_register = 0x09
+        DW_CFA_remember_state = 0x0a
+        DW_CFA_restore_state = 0x0b
+        DW_CFA_def_cfa = 0x0c
+        DW_CFA_def_cfa_register = 0x0d
+        DW_CFA_def_cfa_offset = 0x0e
+        /* DWARF 3.  */
+        DW_CFA_def_cfa_expression = 0x0f
+        DW_CFA_expression = 0x10
+        DW_CFA_offset_extended_sf = 0x11
+        DW_CFA_def_cfa_sf = 0x12
+        DW_CFA_def_cfa_offset_sf = 0x13
+        DW_CFA_val_offset = 0x14
+        DW_CFA_val_offset_sf = 0x15
+        DW_CFA_val_expression = 0x16
+        /* SGI/MIPS specific.  */
+        DW_CFA_MIPS_advance_loc8 = 0x1d
+        /* GNU extensions.  */
+        DW_CFA_GNU_window_save = 0x2d
+        DW_CFA_GNU_args_size = 0x2e
+        DW_CFA_GNU_negative_offset_extended = 0x2f
+
         ifdef([PPC],[
          include(ppc-constants.s)
Index: /branches/working-0711/ccl/lisp-kernel/pmcl-kernel.c
===================================================================
--- /branches/working-0711/ccl/lisp-kernel/pmcl-kernel.c	(revision 12988)
+++ /branches/working-0711/ccl/lisp-kernel/pmcl-kernel.c	(revision 12989)
@@ -2255,11 +2255,14 @@
 #ifdef DARWIN
 #if 1
+  void *result;
+
   if ((handle == NULL) || (handle == ((void *) -1))) {
     handle = RTLD_DEFAULT;
   }    
-  if (*name == '_') {
-    name++;
-  }
-  return dlsym(handle, name);
+  result = dlsym(handle, name);
+  if ((result == NULL) && (*name == '_')) {
+    result = dlsym(handle, name+1);
+  }
+  return result;
 #else
   natural address = 0;
