diff options
author | Dave Korn <dave.korn.cygwin@gmail.com> | 2010-12-10 14:28:58 +0000 |
---|---|---|
committer | Dave Korn <davek@gcc.gnu.org> | 2010-12-10 14:28:58 +0000 |
commit | 77754180a97af78b7b330bdabc7072e1f1da07e6 (patch) | |
tree | cb0845f24d59969509e47111a1b3af34cd9b8773 /lto-plugin | |
parent | 4816c5938dfb6d9510b43f9223dab24af530e00e (diff) | |
download | gcc-77754180a97af78b7b330bdabc7072e1f1da07e6.zip gcc-77754180a97af78b7b330bdabc7072e1f1da07e6.tar.gz gcc-77754180a97af78b7b330bdabc7072e1f1da07e6.tar.bz2 |
re PR middle-end/46674 (Weak alias is mistakenly optimized away)
gcc/ChangeLog:
PR middle-end/46674
PR lto/43157
* target.def (mangle_assembler_name): New target asm_out hook.
* targhooks.c (default_mangle_assembler_name): Add default hook
implementation.
* targhooks.h (default_mangle_assembler_name): Add prototype.
* lto-symtab.c (lto_symtab_register_decl): Use new hook when
processing DECL_ASSEMBLER_NAMEs for lto symtabs.
(lto_symtab_get_resolution): Likewise.
(lto_cgraph_replace_node): Likewise.
(lto_symtab_prevailing_decl): Likewise.
* lto-streamer-out.c (write_symbol): Likewise.
* doc/tm.texi.in (TARGET_MANGLE_ASSEMBLER_NAME): Add @hook directive.
* doc/tm.texi: Regenerate.
* config/i386/cygming.h (TARGET_MANGLE_ASSEMBLER_NAME): Define to
point at i386_pe_mangle_assembler_name.
* config/i386/winnt.c (i386_pe_mangle_assembler_name): New function.
* config/i386/i386-protos.h (i386_pe_mangle_assembler_name): Add
prototype.
lto-plugin/ChangeLog:
PR middle-end/46674
PR lto/43157
* configure.ac (SYM_STYLE): Don't AC_DEFINE.
* lto-plugin.c (sym_style): Don't use it; default to ss_none.
* configure: Regenerate.
* config.h.in: Likewise.
gcc/testsuite/ChangeLog:
PR middle-end/46674
PR lto/43157
* gcc.dg/pr43157.c: New file.
From-SVN: r167688
Diffstat (limited to 'lto-plugin')
-rw-r--r-- | lto-plugin/ChangeLog | 9 | ||||
-rw-r--r-- | lto-plugin/config.h.in | 3 | ||||
-rwxr-xr-x | lto-plugin/configure | 18 | ||||
-rw-r--r-- | lto-plugin/configure.ac | 12 | ||||
-rw-r--r-- | lto-plugin/lto-plugin.c | 4 |
5 files changed, 11 insertions, 35 deletions
diff --git a/lto-plugin/ChangeLog b/lto-plugin/ChangeLog index 305db4e..2dda317 100644 --- a/lto-plugin/ChangeLog +++ b/lto-plugin/ChangeLog @@ -1,3 +1,12 @@ +2010-12-10 Dave Korn <dave.korn.cygwin@gmail.com> + + PR middle-end/46674 + PR lto/43157 + * configure.ac (SYM_STYLE): Don't AC_DEFINE. + * lto-plugin.c (sym_style): Don't use it; default to ss_none. + * configure: Regenerate. + * config.h.in: Likewise. + 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com> PR target/40125 diff --git a/lto-plugin/config.h.in b/lto-plugin/config.h.in index a591ccc..ad003b2 100644 --- a/lto-plugin/config.h.in +++ b/lto-plugin/config.h.in @@ -61,9 +61,6 @@ /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS -/* Default symbol style */ -#undef SYM_STYLE - /* Version number of package */ #undef VERSION diff --git a/lto-plugin/configure b/lto-plugin/configure index 12e58e5..495d9e9 100755 --- a/lto-plugin/configure +++ b/lto-plugin/configure @@ -10872,24 +10872,6 @@ esac -# Trying to get this information from gcc's config is tricky. -case $target in - x86_64*-mingw*) - -$as_echo "#define SYM_STYLE ss_none" >>confdefs.h - - ;; - *-cygwin* | i?86*-mingw* ) - -$as_echo "#define SYM_STYLE ss_win32" >>confdefs.h - - ;; - *) - -$as_echo "#define SYM_STYLE ss_none" >>confdefs.h - - ;; -esac ac_fn_c_find_intX_t "$LINENO" "64" "ac_cv_c_int64_t" case $ac_cv_c_int64_t in #( no|yes) ;; #( diff --git a/lto-plugin/configure.ac b/lto-plugin/configure.ac index 67147db..1aba697 100644 --- a/lto-plugin/configure.ac +++ b/lto-plugin/configure.ac @@ -9,18 +9,6 @@ AC_SYS_LARGEFILE AM_PROG_LIBTOOL ACX_LT_HOST_FLAGS AC_SUBST(target_noncanonical) -# Trying to get this information from gcc's config is tricky. -case $target in - x86_64*-mingw*) - AC_DEFINE([SYM_STYLE], [ss_none], [Default symbol style]) - ;; - *-cygwin* | i?86*-mingw* ) - AC_DEFINE([SYM_STYLE], [ss_win32], [Default symbol style]) - ;; - *) - AC_DEFINE([SYM_STYLE], [ss_none], [Default symbol style]) - ;; -esac AC_TYPE_INT64_T AC_TYPE_UINT64_T AC_HEADER_SYS_WAIT diff --git a/lto-plugin/lto-plugin.c b/lto-plugin/lto-plugin.c index 5ca4c9a..ab18f4c 100644 --- a/lto-plugin/lto-plugin.c +++ b/lto-plugin/lto-plugin.c @@ -152,10 +152,10 @@ static char debug; static char nop; static char *resolution_file = NULL; -/* Set by default from configure.ac, but can be overridden at runtime +/* Not used by default, but can be overridden at runtime by using -plugin-opt=-sym-style={none,win32,underscore|uscore} (in fact, only first letter of style arg is checked.) */ -static enum symbol_style sym_style = SYM_STYLE; +static enum symbol_style sym_style = ss_none; static void check_1 (int gate, enum ld_plugin_level level, const char *text) |