re PR other/4372 (#pragma weak pthread* inclusion causes applications to crash withou...
authorAlexandre Oliva <aoliva@redhat.com>
Wed, 9 Nov 2005 20:13:41 +0000 (20:13 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Wed, 9 Nov 2005 20:13:41 +0000 (20:13 +0000)
commita0203ca711308b96d33acb895d4f7d254594287c
treecdc3a1f501856957bef831df0b91b2b381edd2b8
parent317adebb1faac58d50f0e44906aa18edaf663759
re PR other/4372 (#pragma weak pthread* inclusion causes applications to crash without a linker error when one forgets to link with -lpthread)

PR other/4372
* tree.h (IDENTIFIER_TRANSPARENT_ALIAS): New.
(TREE_DEPRECATED): Adjust comment.  Check for a DECL.
* c-common.c (handle_weakref_attribute): New.
(c_common_attribute_table): Add weakref.
* configure.ac (HAVE_GAS_WEAKREF): Check for weakref support
in the assembler.
* configure, config.in: Rebuilt.
* defaults.h (ASM_OUTPUT_WEAKREF): Define if HAVE_GAS_WEAKREF.
* doc/extend.texi: Document weakref attribute.
* varasm.c (ultimate_transparent_alias_target): New
(assemble_name): Use it.
(weak_finish_1): Split out of...
(weak_finish): ... and deal with weakrefs in...
(weakref_targets): ... new list.
(globalize_decl): Clean up weakref_targets.
(do_assemble_alias): Handle weakrefs.
(finish_aliases_1): Do not reject weakrefs to external symbols.
(assemble_alias): Handle weakrefs.

From-SVN: r106703
13 files changed:
gcc/ChangeLog
gcc/c-common.c
gcc/config.in
gcc/configure
gcc/configure.ac
gcc/defaults.h
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/g++.old-deja/g++.abi/vtable2.C
gcc/testsuite/gcc.dg/attr-weakref-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/attr-weakref-1a.c [new file with mode: 0644]
gcc/tree.h
gcc/varasm.c