Don't use INTDEF/INTUSE in unwind-dw2-fde.c (bug 14132).

Continuing the removal of the obsolete INTDEF / INTUSE mechanism, this
patch replaces its use in unwind-dw2-fde.c with hidden_def and
hidden_proto.

Tested for x86.  This patch does result in code generation differences
(for some reason GCC decides to partition __register_frame_info_bases
after the patch).

	[BZ #14132]
	* sysdeps/generic/unwind-dw2-fde.c
	(__register_frame_info_bases_internal): Do not declare.
	(__register_frame_info_table_bases_internal): Likewise.
	(__deregister_frame_info_bases_internal): Likewise.
	(__register_frame_info_bases): Declare and use hidden_proto before
	definition.  Use hidden_def instead of INTDEF.
	(__register_frame_info_table_bases): Likewise.
	(__deregister_frame_info_bases): Likewise.
	(__register_frame_info): Do not use INTUSE.
	(__register_frame): Likewise.
	(__register_frame_info_table): Likewise.
	(__register_frame_table): Likewise.
	(__deregister_frame_info): Likewise.
	(__deregister_frame): Likewise.
This commit is contained in:
Joseph Myers 2014-10-28 17:12:57 +00:00
parent 03d41216fe
commit 51e623f241
2 changed files with 36 additions and 15 deletions

View File

@ -1,3 +1,21 @@
2014-10-28 Joseph Myers <joseph@codesourcery.com>
[BZ #14132]
* sysdeps/generic/unwind-dw2-fde.c
(__register_frame_info_bases_internal): Do not declare.
(__register_frame_info_table_bases_internal): Likewise.
(__deregister_frame_info_bases_internal): Likewise.
(__register_frame_info_bases): Declare and use hidden_proto before
definition. Use hidden_def instead of INTDEF.
(__register_frame_info_table_bases): Likewise.
(__deregister_frame_info_bases): Likewise.
(__register_frame_info): Do not use INTUSE.
(__register_frame): Likewise.
(__register_frame_info_table): Likewise.
(__register_frame_table): Likewise.
(__deregister_frame_info): Likewise.
(__deregister_frame): Likewise.
2014-10-27 Gratian Crisan <gratian.crisan@ni.com> 2014-10-27 Gratian Crisan <gratian.crisan@ni.com>
* sysdeps/unix/sysv/linux/arm/kernel-features.h * sysdeps/unix/sysv/linux/arm/kernel-features.h

View File

@ -60,12 +60,15 @@ __libc_lock_define_initialized (static, object_mutex)
#define __gthread_mutex_lock(m) __libc_lock_lock (*(m)) #define __gthread_mutex_lock(m) __libc_lock_lock (*(m))
#define __gthread_mutex_unlock(m) __libc_lock_unlock (*(m)) #define __gthread_mutex_unlock(m) __libc_lock_unlock (*(m))
void __register_frame_info_bases_internal (void *begin, struct object *ob, void __register_frame_info_bases (void *begin, struct object *ob,
void *tbase, void *dbase); void *tbase, void *dbase);
void __register_frame_info_table_bases_internal (void *begin, hidden_proto (__register_frame_info_bases)
struct object *ob, void __register_frame_info_table_bases (void *begin,
void *tbase, void *dbase); struct object *ob,
void *__deregister_frame_info_bases_internal (void *begin); void *tbase, void *dbase);
hidden_proto (__register_frame_info_table_bases)
void *__deregister_frame_info_bases (void *begin);
hidden_proto (__deregister_frame_info_bases)
#else #else
@ -122,12 +125,12 @@ __register_frame_info_bases (void *begin, struct object *ob,
__gthread_mutex_unlock (&object_mutex); __gthread_mutex_unlock (&object_mutex);
} }
INTDEF(__register_frame_info_bases) hidden_def (__register_frame_info_bases)
void void
__register_frame_info (void *begin, struct object *ob) __register_frame_info (void *begin, struct object *ob)
{ {
INTUSE(__register_frame_info_bases) (begin, ob, 0, 0); __register_frame_info_bases (begin, ob, 0, 0);
} }
void void
@ -140,7 +143,7 @@ __register_frame (void *begin)
return; return;
ob = (struct object *) malloc (sizeof (struct object)); ob = (struct object *) malloc (sizeof (struct object));
INTUSE(__register_frame_info_bases) (begin, ob, 0, 0); __register_frame_info_bases (begin, ob, 0, 0);
} }
/* Similar, but BEGIN is actually a pointer to a table of unwind entries /* Similar, but BEGIN is actually a pointer to a table of unwind entries
@ -167,19 +170,19 @@ __register_frame_info_table_bases (void *begin, struct object *ob,
__gthread_mutex_unlock (&object_mutex); __gthread_mutex_unlock (&object_mutex);
} }
INTDEF(__register_frame_info_table_bases) hidden_def (__register_frame_info_table_bases)
void void
__register_frame_info_table (void *begin, struct object *ob) __register_frame_info_table (void *begin, struct object *ob)
{ {
INTUSE(__register_frame_info_table_bases) (begin, ob, 0, 0); __register_frame_info_table_bases (begin, ob, 0, 0);
} }
void void
__register_frame_table (void *begin) __register_frame_table (void *begin)
{ {
struct object *ob = (struct object *) malloc (sizeof (struct object)); struct object *ob = (struct object *) malloc (sizeof (struct object));
INTUSE(__register_frame_info_table_bases) (begin, ob, 0, 0); __register_frame_info_table_bases (begin, ob, 0, 0);
} }
/* Called from crtbegin.o to deregister the unwind info for an object. */ /* Called from crtbegin.o to deregister the unwind info for an object. */
@ -243,12 +246,12 @@ __deregister_frame_info_bases (void *begin)
__gthread_mutex_unlock (&object_mutex); __gthread_mutex_unlock (&object_mutex);
return (void *) ob; return (void *) ob;
} }
INTDEF(__deregister_frame_info_bases) hidden_def (__deregister_frame_info_bases)
void * void *
__deregister_frame_info (void *begin) __deregister_frame_info (void *begin)
{ {
return INTUSE(__deregister_frame_info_bases) (begin); return __deregister_frame_info_bases (begin);
} }
void void
@ -256,7 +259,7 @@ __deregister_frame (void *begin)
{ {
/* If .eh_frame is empty, we haven't registered. */ /* If .eh_frame is empty, we haven't registered. */
if (*(uword *) begin != 0) if (*(uword *) begin != 0)
free (INTUSE(__deregister_frame_info_bases) (begin)); free (__deregister_frame_info_bases (begin));
} }