* config/obj-coff.h (USE_UNIQUE): Don't define.

* config/obj-coff.c (weak_uniquify): Use an_external_name when TE_PE.
	* symbols.c (an_external_name): Define when TE_PE.
	(S_SET_EXTERNAL): Assign an_external_name when TE_PE.
	* tc.h (an_external_name): Declare when TE_PE.
This commit is contained in:
Alan Modra 2009-09-09 13:19:51 +00:00
parent 53b0eb27a9
commit 22ba098178
5 changed files with 10 additions and 7 deletions

View File

@ -1,5 +1,11 @@
2009-09-09 Alan Modra <amodra@bigpond.net.au>
* config/obj-coff.h (USE_UNIQUE): Don't define.
* config/obj-coff.c (weak_uniquify): Use an_external_name when TE_PE.
* symbols.c (an_external_name): Define when TE_PE.
(S_SET_EXTERNAL): Assign an_external_name when TE_PE.
* tc.h (an_external_name): Declare when TE_PE.
* config/tc-i386.c (i386_target_format): Avoid duplicate case label.
2009-09-08 Kaz Kojima <kkojima@rr.iij4u.or.jp>

View File

@ -1117,7 +1117,7 @@ weak_uniquify (const char * name)
char *ret;
const char * unique = "";
#ifdef USE_UNIQUE
#ifdef TE_PE
if (an_external_name != NULL)
unique = an_external_name;
#endif

View File

@ -162,9 +162,6 @@
#endif
#ifdef TE_PE
/* PE weak symbols need USE_UNIQUE. */
#define USE_UNIQUE 1
#define obj_set_weak_hook pecoff_obj_set_weak_hook
#define obj_clear_weak_hook pecoff_obj_clear_weak_hook
#endif

View File

@ -59,7 +59,7 @@ symbolS abs_symbol;
#define LOCAL_LABEL_CHAR '\002'
struct obstack notes;
#ifdef USE_UNIQUE
#ifdef TE_PE
/* The name of an external symbol which is
used to make weak PE symbol names unique. */
const char * an_external_name;
@ -2204,7 +2204,7 @@ S_SET_EXTERNAL (symbolS *s)
s->bsym->flags |= BSF_GLOBAL;
s->bsym->flags &= ~(BSF_LOCAL | BSF_WEAK);
#ifdef USE_UNIQUE
#ifdef TE_PE
if (! an_external_name && S_GET_NAME(s)[0] != '.')
an_external_name = S_GET_NAME (s);
#endif

View File

@ -41,7 +41,7 @@ extern int md_short_jump_size;
extern int md_long_jump_size;
#endif
#ifdef USE_UNIQUE
#ifdef TE_PE
/* The name of an external symbol which is
used to make weak PE symbol names unique. */
extern const char * an_external_name;