diff options
Diffstat (limited to 'sysdeps/generic/unwind-dw2-fde.c')
-rw-r--r-- | sysdeps/generic/unwind-dw2-fde.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/sysdeps/generic/unwind-dw2-fde.c b/sysdeps/generic/unwind-dw2-fde.c index 3d1931868f..6c51c6f730 100644 --- a/sysdeps/generic/unwind-dw2-fde.c +++ b/sysdeps/generic/unwind-dw2-fde.c @@ -68,6 +68,13 @@ __libc_lock_define_initialized (static, object_mutex) #define __gthread_mutex_lock(m) __libc_lock_lock (*(m)) #define __gthread_mutex_unlock(m) __libc_lock_unlock (*(m)) +void __register_frame_info_bases_internal (void *begin, struct object *ob, + void *tbase, void *dbase); +void __register_frame_info_table_bases_internal (void *begin, + struct object *ob, + void *tbase, void *dbase); +void *__deregister_frame_info_bases_internal (void *begin); + #else #ifdef __GTHREAD_MUTEX_INIT @@ -120,11 +127,12 @@ __register_frame_info_bases (void *begin, struct object *ob, __gthread_mutex_unlock (&object_mutex); } +INTDEF(__register_frame_info_bases) void __register_frame_info (void *begin, struct object *ob) { - __register_frame_info_bases (begin, ob, 0, 0); + INTUSE(__register_frame_info_bases) (begin, ob, 0, 0); } void @@ -137,7 +145,7 @@ __register_frame (void *begin) return; ob = (struct object *) malloc (sizeof (struct object)); - __register_frame_info (begin, ob); + INTUSE(__register_frame_info_bases) (begin, ob, 0, 0); } /* Similar, but BEGIN is actually a pointer to a table of unwind entries @@ -164,18 +172,19 @@ __register_frame_info_table_bases (void *begin, struct object *ob, __gthread_mutex_unlock (&object_mutex); } +INTDEF(__register_frame_info_table_bases) void __register_frame_info_table (void *begin, struct object *ob) { - __register_frame_info_table_bases (begin, ob, 0, 0); + INTUSE(__register_frame_info_table_bases) (begin, ob, 0, 0); } void __register_frame_table (void *begin) { struct object *ob = (struct object *) malloc (sizeof (struct object)); - __register_frame_info_table (begin, ob); + INTUSE(__register_frame_info_table_bases) (begin, ob, 0, 0); } /* Called from crtbegin.o to deregister the unwind info for an object. */ @@ -239,11 +248,12 @@ __deregister_frame_info_bases (void *begin) __gthread_mutex_unlock (&object_mutex); return (void *) ob; } +INTDEF(__deregister_frame_info_bases) void * __deregister_frame_info (void *begin) { - return __deregister_frame_info_bases (begin); + return INTUSE(__deregister_frame_info_bases) (begin); } void @@ -251,7 +261,7 @@ __deregister_frame (void *begin) { /* If .eh_frame is empty, we haven't registered. */ if (*(uword *)begin != 0) - free (__deregister_frame_info (begin)); + free (INTUSE(__deregister_frame_info_bases) (begin)); } |