i386.c (output_pic_addr_const): Stubify optimized symbols.

* config/i386/i386.c (output_pic_addr_const): Stubify optimized
	symbols.

From-SVN: r122297
This commit is contained in:
Mike Stump 2007-02-24 22:27:26 +00:00 committed by Mike Stump
parent a31498d293
commit 320ce1d3a3
2 changed files with 23 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2007-02-24 Mike Stump <mrs@apple.com>
* config/i386/i386.c (output_pic_addr_const): Stubify optimized
symbols.
2007-02-24 Richard Guenther <rguenther@suse.de>
PR middle-end/30951

View File

@ -7582,7 +7582,24 @@ output_pic_addr_const (FILE *file, rtx x, int code)
break;
case SYMBOL_REF:
output_addr_const (file, x);
if (! TARGET_MACHO || TARGET_64BIT)
output_addr_const (file, x);
else
{
const char *name = XSTR (x, 0);
/* Mark the decl as referenced so that cgraph will output the function. */
if (SYMBOL_REF_DECL (x))
mark_decl_referenced (SYMBOL_REF_DECL (x));
if (MACHOPIC_INDIRECT
#if TARGET_MACHO
&& machopic_classify_symbol (x) == MACHOPIC_UNDEFINED_FUNCTION
#endif
)
name = machopic_indirection_name (x, /*stub_p=*/true);
assemble_name (file, name);
}
if (!TARGET_MACHO && code == 'P' && ! SYMBOL_REF_LOCAL_P (x))
fputs ("@PLT", file);
break;