X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=bc474273bc165ca1e31992bccdf1040716545314;hp=10cad44a68c04355a8045afb5cf2c40882c1e631;hb=7c19e2404d9f72ec706a3fc337cec9bfc4f89243;hpb=1aa768f0f6fa3889738d126fcaa2c65fd4a22597 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 10cad44a68c..bc474273bc1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,629 @@ +2005-11-17 John David Anglin + + PR target/24348 + * config.gcc (hppa*-*-hpux*): Add pa/t-slibgcc-elf-ver to tmake config + when not using sjlj exceptions. + * config/pa/pa64-hpux.h (LIB_SPEC): Add -lpthread in static links. + * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. + * config/pa/som.h (ASM_PREFERRED_EH_DATA_FORMAT): Delete define. + * config/pa/linux-unwind.h (pa32_fallback_frame_state): Use + DWARF_ALT_FRAME_RETURN_COLUMN instead of column 0 as return column. + * config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): New define. + * config/pa/pa-linux.h (INCOMING_RETURN_ADDR_RTX, + DWARF_FRAME_RETURN_COLUMN, ASM_PREFERRED_EH_DATA_FORMAT, + ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Delete defines. + * config/pa/pa.h (ARG_POINTER_CFA_OFFSET): Delete. + (FRAME_POINTER_CFA_OFFSET, INCOMING_RETURN_ADDR_RTX, + DWARF_FRAME_RETURN_COLUMN, DWARF_ALT_FRAME_RETURN_COLUMN, + ASM_PREFERRED_EH_DATA_FORMAT, ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New + defines. + * config/pa/hpux-unwind.h: New file. + +2005-11-17 Alexandre Oliva + + * config/rs6000/rs6000.h (ASM_OUTPUT_WEAKREF): Define. + * defaults.h (ASM_OUTPUT_WEAKREF): Add decl argument. + * varasm.c (do_assemble_alias): Adjust call. + (weak_finish): Don't use ASM_WEAKEN_LABEL if ASM_WEAKEN_DECL + is defined. + * doc/tm.texi (ASM_OUTPUT_WEAKREF): Document it. + +2005-11-17 James E Wilson + + * tree.def (FUNCTION_DECL): Correct typo in comment. + +2005-11-17 Richard Henderson + + * dwarf2out.c (dw_cfi_oprnd_struct): Reduce dw_cfi_reg_num to int. + (lookup_cfa_1): Apply data alignment to DW_CFA_def_cfa_offset_sf + and DW_CFA_def_cfa_sf. + (def_cfa_1): Use DW_CFA_def_cfa_offset_sf with negative values. + (dbx_reg_number): Don't assert particular registers here. + (based_loc_descr): ... do it here instead. Fold in ... + (eliminate_reg_to_offset): ... this function. + (compute_frame_pointer_to_cfa_displacement): Fold in the effects + of eliminate_reg_to_offset; use FRAME_POINTER_CFA_OFFSET. + * unwind-dw2.c (execute_cfa_program): Apply data align factor + to DW_CFA_def_cfa_offset_sf and DW_CFA_def_cfa_sf. + * function.c (instantiate_new_reg): Use FRAME_POINTER_CFA_OFFSET. + (instantiate_virtual_regs): Likewise. + * var-tracking.c (adjust_stack_reference): Likewise. + * doc/tm.texi (FRAME_POINTER_CFA_OFFSET): New. + +2005-11-17 Bernd Schmidt + + * config/bfin/elf.h (STARTFILE_SPEC): Add "crtlibid%O%s" + * config/bfin/uclinux.h (STARFILE_SPEC): Likewise. + * config/bfin/t-bfin-elf (EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Add + crtlibid.o. + ($(T)crtlibid.o): New rule. + +2005-11-16 Richard Guenther + + PR middle-end/24851 + * fold-const.c (extract_array_ref): Return byte offset + in all cases. + (fold_binary): Fold &x[a] CMP &x[b] to + a*sizeof(*x) CMP b*sizeof(*x) to get correct overflow + behavior. + +2005-11-16 Richard Henderson + + PR middle-end/23497 + * tree-ssa.c (warn_uninitialized_var): Skip real and imaginary + parts of an SSA_NAME. + +2005-11-16 Richard Earnshaw + + PR target/24861 + * arm.md (split for movsf with immediate): Restrict split to insns + that set a general register. + +2005-11-16 Daniel Jacobowitz + + * config/ia64/unwind-ia64.c (uw_advance_context): New. Call + uw_update_context. + * unwind-dw2.c (uw_advance_context): Likewise. + * unwind-sjlj.c (uw_advance_context): Likewise. Also call + _Unwind_SjLj_Unregister. + * unwind.inc (_Unwind_ForcedUnwind_Phase2): Call uw_advance_context. + +2005-11-16 Daniel Jacobowitz + + * unwind-sjlj.c (_Unwind_GetCFA): Handle the builtin_setjmp case. + +2005-11-16 Eric Botcazou + + * config/alpha/alpha.c (alpha_init_builtins): Use type_for_mode + langhook to get a DImode integer type. + +2005-11-16 Richard Henderson + J"orn Rennecke + Ulrich Weigand + + PR rtl-opt/24160 + PR target/24621 + * reload1.c (reg_equiv_invariant): New. + (reload): Allocate, initialize, and free it. + (calculate_needs_all_insns): Check it when skipping equivalence + setting insns. + (alter_reg): Likewise. + (eliminate_regs_1): Rename from eliminate_regs. Add new + may_use_invariant argument; only use reg_equiv_invariant when true. + (eliminate_regs): New. + (eliminate_regs_in_insn): Use eliminate_regs_1; track when we're in + a context for which may_use_invariant may be true. + +2005-11-16 Eric Botcazou + + * fold-const.c (const_binop): Don't constant fold the operation + if the result has overflowed and flag_trapping_math. + * simplify-rtx.c (simplify_const_binary_operation): Likewise. + +2005-11-16 Daniel Jacobowitz + + * config/arm/unwind-arm.c (abort): Add prototype here. + (UCB_FORCED_STOP_ARG): Correct typo in macro argument. + (struct phase1_vrs): Add prev_sp. + (unwind_phase2_forced): Save the original core registers instead of + modifying entry_vrs. Take a new flag argument for resuming unwinding + and set action flags accordingly. Always set _US_END_OF_STACK when + get_eit_entry fails. Unwind before calling the stop function. + (_Unwind_GetCFA): New function. + (__gnu_Unwind_ForcedUnwind): Update call to unwind_phase2_forced. + (__gnu_Unwind_Resume_or_Rethrow): Likewise. + (__gnu_Unwind_Resume): Do not unwind here for forced unwinding; + just call unwind_phase2_forced. + (_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Move to here. + * config/arm/unwind-arm.h (abort): Remove prototype. + (_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Change to + prototypes. + (_Unwind_GetCFA): New prototype. + * config/arm/pr-support.c (abort): Add prototype here. + * unwind-c.c (PERSONALITY_FUNCTION) [__ARM_EABI_UNWINDER__]: Handle + forced unwinding. + * config/arm/arm.c (arm_expand_prologue, thumb_expand_prologue): Do + not schedule the prologue with non-call exceptions and EABI. + +2005-11-16 Nathan Sidwell + + * config/arm/unwind-arm.h: Reorder interface function declarations. + (_URC_END_OF_STACK): New enumeration value. + (_US_UNWIND_ACTION_MASK, _US_FORCE_UNWIND, _US_END_OF_STACK): Likewise. + (struct _Unwind_Control_Block): Document reserved field use. + (_Unwind_Stop_Fn): New typedef. + (_Unwind_ForcedUnwind): Declare. + (_Unwind_Resume_or_Rethrow): Declare. + * gcc/config/arm/libunwind.S (UNWIND_WRAPER): Add nargs + argument. Adjust. + (_Unwind_Resume_or_Rethrow, _Unwind_ForcedUnwind): New. + * config/arm/unwind-arm.c (UCB_FORCED_STOP_FN) + (UCB_FORCED_STOP_ARG): New. + (search_EIT_table): Update boundary condition checks. + (get_eit_entry): Return _URC_END_OF_STACK when cannot unwind. + (unwind_phase2): Replace for with do..while. + (unwind_phase2_forced): New. + (__gnu_Unwind_RaiseException): Replace for with do..while. + (__gnu_Unwind_ForcedUnwind): New. + (__gnu_Unwind_Resume): Set FORCE_UNWIND flag, if forced unwinding. + Use appropriate phase2 unwinder. + (__gnu_Unwind_Resume_or_Rethrow): New. + (__gnu_unwind_pr_common): Cope with forced unwinding. + +2005-11-16 David Edelsohn + + PR target/24772 + * config/rs6000/predicates.md (vrsave_operation): SET_SRC is a VEC. + + * config/rs6000/rs6000.md (btruncsf2, ceilsf2, floorsf2, + roundsf2): Remove "s" from mnemonic. + +2005-11-16 Bernd Schmidt + + * config/bfin/crti.s (__init, __fini): Use appropriate prologue if + __PIC__ is defined. + * config/bfin/crtn.s: Change epilogues to match. + * config/bfin/t-bfin-elf (EXTRA_MULTILIB_PARTS): Define. + * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If flag_pic, define + __PIC__ and __pic__. + +2005-11-16 Tobias Schl"uter + + PR 24357 + * doc/invoke.texi: Distinguish between free and fixed form instead of + Fortran and Fortran 90/95. Remove ratfor from the list of supported + languages. + * gcc.c (default_compilers): Remove double entries, add entries for + suffixes '.F90' and '.F95'. + +2005-11-16 Eric Botcazou + + * config/alpha/alpha.c (alpha_expand_prologue): Fix off-by-one bug + in the stack probing loop. + +2005-11-15 David Edelsohn + + * configure.ac: Use .machine power5 not power5x. + * configure: Regenerate. + +2005-11-15 Mike Stump + + * c-decl.c (lookup_name_two): Add. + * c-tree.h (lookup_name_two): Likewise. + * c-common.c (handle_cleanup_attribute): Use lookup_name_two instead. + * config/darwin-c.c (darwin_pragma_unused): Likewise. + +2005-11-16 Alan Modra + + PR rtl-optimization/23392 + * regrename.c (enum scan_actions) Add mark_access. + (scan_actions_name): Ditto. + (scan_rtx_reg): Handle mark_access. + (scan_rtx_address): Do nothing for mark_access. + (build_def_use): Mark source registers in REG_FRAME_RELATED_EXPR + and regs in REG_INC notes before closing chains for dead regs. + Mark destination regs in REG_FRAME_RELATED_EXPR notes after + opening chains for new writes. + +2005-11-15 David Edelsohn + + * c.opt (ffixed-line-length-none): New. + +2005-11-15 Steve Ellcey + + * mklibgcc.in: Change contents of eh_dummy.c. + +2005-11-15 Daniel Jacobowitz + + * loop.c (scan_loop): Do not insert temporaries for hard registers. + +2005-11-15 Daniel Jacobowitz + + * config/arm/lib1funcs.asm (div0) [L_dvmd_lnx]: Call raise instead + of making syscalls. + * config/arm/linux-eabi.h (CLEAR_INSN_CACHE): Define. Set r7 also. + +2005-11-15 Jan Hubicka + + * invoke.texi (large-unit-insns): Document. + * ipa-inline.c (cgraph_decide_inlining): Use large-unit-insns param. + * params.def (large-unit-insns): New param. + +2005-11-15 Hans-Peter Nilsson + + PR target/24869 + * config/cris/cris.md ("*mov_sidesisf_mem"): Do not match + special register for operand 3. Reindent constraints to align + them vertically. + +2005-11-14 David Edelsohn + + * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf, + -mpopcntb, -mfprnd. Add -mcpu=power5+. + * configure.ac: Add test for FP rounding instructions. + * configure: Regenerate. + * config.in: Regenerate. + * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define + _ARCH_PPCSQ, _ARCH_PPCGR, _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X if + features enabled. + * config/rs6000/rs6000.opt (mfprnd): New. + * config/rs6000/rs6000.c (processor_target_table): Add power5+. + (POWERPC_MASKS): Add MASK_POPCNTB and MASK_FPRND. + * config/rs6000/aix52.h (ASM_CPU_SPEC): Add -mpower5+. + * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mpower5+. + (TARGET_FPRND): New. + * config/rs6000/rs6000.md (UNSPEC_FRIM, UNSPEC_FRIN, UNSPEC_FRIP, + UNSPEC_FRIZ): New. + (btrunc2): New. + (ceil2): New. + (floor2): New. + (round2): New. + +2005-11-14 Geoffrey Keating + + * gcc.c (version_compare_spec_function): Use fatal() rather than + abort(). + + * config/rs6000/darwin.h (DARWIN_CRT2_SPEC): New. + (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2). + * config/i386/darwin.h (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2) + as empty. + * config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly + link in crt2.o. + + * config/darwin.h (REAL_LIBGCC_SPEC): Link in shared libgcc depending + on -mmacosx-version-min setting. + +2005-11-14 Diego Novillo + + PR 24840 + * tree-vrp.c (infer_value_range): Return false if STMT is a + block terminator and its basic block has no successors. + +2005-11-14 Mike Stump + + * config/i386/i386.c (override_options): -masm=intel isn't + supported on darwin. + * doc/invoke.texi (i386 and x86-64 Options): Likewise. + +2005-11-15 Joseph S. Myers + + * crtstuff.c: Undefine gid_t, pid_t, rlim_t, ssize_t, uid_t and + vfork after including auto-host.h. + +2005-11-15 Alan Modra + + PR rtl-optimization/22002 + * combine.c (distribute_notes): Detect cases where a reg dies + two or more times in a bb, including on the insn we are combining, + and place the death note on the correct range. + +2005-11-14 Dale Johannesen + + * expmed.c (store_bit_field): Add offset unconditionally for + memory targets. + (extract_bit_field): Don't force extzv or extv operand into + a register if field is too big. + +2005-11-14 Daniel Jacobowitz + + * config/arm/arm.c (pic_labelno): New. + (arm_load_pic_register): Use an UNSPEC_PIC_LABEL instead of a + LABEL_REF. Pass only the labelno to PIC insns. + (arm_call_tls_get_addr, legitimize_tls_address): Likewise. + (arm_output_addr_const_extra): Handle UNSPEC_PIC_LABEL. + * arm.md (UNSPEC_PIC_LABEL): New constant. + (pic_add_dot_plus_four, pic_add_dot_plus_eight) + (tls_load_dot_plus_eight): Expect a labelno instead of a LABEL_REF. + Use the correct label prefix. + +2005-11-14 Daniel Jacobowitz + + * config/arm/arm.c (legitimize_tls_address): Use correct rtx for + REQ_EQUIV note. + +2005-11-14 Richard Earnshaw + + * loop-invariant.c: Include tm_p.h. + * Makefile.in: Updated. + +2005-11-13 John David Anglin + + * pa.c (store_reg): Revise generation of frame notes in large frames. + (set_reg_plus_d): Likewise. + +2005-11-13 Andrew MacLeod + + PR tree-optimization/24709 + * tree-ssa-operands.c (verify_imm_links): Increase limit for infinite + loop check. + +2005-11-13 Eric Botcazou + + * gthr-posix95.h: Remove declaration of pthread_mutexattr_settype + and duplicate declaration of pthread_self. + +2005-11-13 Eric Botcazou + Ian Lance Taylor + + PR middle-end/24003 + * calls.c (expand_call): If TARGET is a MEM and some part of the + argument area has been saved, force TARGET to a register. + +2005-11-13 Razya Ladelsky + + * ipa-prop.c (ipa_callsite_compute_param ): Removed obsolete type + checking. + +2005-11-13 Jason Merrill + + PR c++/22489 + * dwarf2out.c (gen_subprogram_die): Force a declaration die for + lazily declared methods. + (force_decl_die): Stop if forcing out the context already make a + DIE for the decl. + (force_type_die): Likewise. + +2005-11-13 Andrew Pinski + + PR middle-end/24820 + * builtins.c (integer_valued_real_p): Add break in + REAL_CST having TREE_OVERFLOW set. + +2005-11-13 Zdenek Dvorak + + * tree-ssa-loop-ivopts.c (get_address_cost): Prevent splitting + addressing modes during calculation of costs. + +2005-11-12 Eric Botcazou + + * function.c (assign_stack_local_1): Restrict sanity check + on frame size overflow to 32-bit and above platforms. + +2005-11-12 Hans-Peter Nilsson + + * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Define. + * config/cris/cris.c: Include reload.h. + (cris_initial_elimination_offset): New function. + * config/cris/cris-protos.h: (cris_initial_elimination_offset): + Prototype. + +2005-11-12 Richard Guenther + + * gcse.c (find_rtx_in_ldst): Handle NULL pre_ldst_table. + +2005-11-12 Jan Hubicka + + * expr.c (expand_expr_real_1): : Canonicalize + to compare against 0 when possible. + +2005-11-12 Jie Zhang + + * config/bfin/bfin.h (REGISTER_NAMES, SHORT_REGISTER_NAMES, + HIGH_REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS, + REG_ALLOC_ORDER, enum reg_class): Rearrange I/B/L registers. + * config/bfin/bfin.md: Redefine REG_ constants for I/B/L registers + in the new order. + +2005-11-12 Hans-Peter Nilsson + + * recog.c (constrain_operands) : For a match, require + that a non-register matches general_operand when strict >= 0. + +2005-11-11 Steven Bosscher + + * loop-invariant.c (move_loop_invariants): Fix a thinko in the + previous checkin. + +2005-11-11 Daniel Jacobowitz + + * tree-ssa-dse.c (struct address_walk_data, memory_ssa_name_same) + (memory_address_same): New. + (dse_optimize_stmt): Call memory_address_same. + +2005-11-12 Hans-Peter Nilsson + + PR middle-end/24750 + * reload.c (find_reloads_address_1) : New cases. + +2005-11-11 Daniel Jacobowitz + + * longlong.h (__clz_tab): Always provide. + +2005-11-11 Steven Bosscher + + PR 24265 + * loop-invariant.c (may_assign_reg_p): Make sure a hard register + can be assigned to. + (find_invariant_insn): Do the cheapest check, may_assign_reg_p, + before check_maybe_invariant. + (move_invariant_reg): Use gen_move_insn instead of replacing + SET_DEST with the temporary for the invariant. + (move_loop_invariants): If checking is enabled, do internal + consistency checks after completing the pass. + +2005-11-11 David Edelsohn + + PR 24644 + * common.opt (Wvolatile-register-var): New. + * varasm.c (make_decl_rtl): Only emit warning when option + specified. Clarify warning message. + * doc/invoke.texi (Wvolatile-register-var): Document new option. + + * doc/md.texi (copysign): Document standard named pattern. + +2005-11-11 Jie Zhang + + * config/bfin/bfin.c (bfin_expand_strmov): Correctly move the trailing + bytes when align is 2. + * config/bfin/bfin.md (rep_movsi, rep_movhi): Make LSETUP be followed + by the first instruction of the loop. + +2005-11-11 Jason Merrill + + PR c++/24686 + * gimplify.c (gimplify_cleanup_point_expr): Also save and restore + the cleanup list. + +2005-11-11 Zdenek Dvorak + + PR rtl-optimization/22509 + * local-alloc.c (memref_used_between_p): Check whether a function call + could not reference the memref. + +2005-11-11 Ulrich Weigand + + * postreload.c (reload_cse_simplify_operands): Fix bug in sorting + algorithm so as to choose the best, not the worst, alternative. + Reset accumulated register class before processing next alternative. + +2005-11-11 Kaz Kojima + + PR target/24445 + * calls.c (expand_call): Copy a return value to a plain register + if needed. + +2005-11-10 Alexandre Oliva + + PR target/24778 + * varasm.c (assemble_name): Recompute name only for transparent + aliases. + +2005-11-10 Hans-Peter Nilsson + + * tree-ssa-structalias.c (heapvar_lookup): Fix typo: stmt to from. + +2005-11-04 Jeff Law + + PR middle-end/23181 + * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Do not + perform reassociation if the parent statement will not die as + a result of the optimization. + +2005-11-10 Daniel Berlin + + * tree-ssa-alias.c (compute_may_aliases): Remove call to + delete_old_heap_vars. + * tree-dfa.c (referenced_var_remove): Remove function. + * tree-ssa.c (init_tree_ssa): Call init_alias_heapvars. + (delete_tree_ssa): Remove call to delete_old_heapvars. + Add call to delete_alias_heapvars. + * tree-flow.h (referenced_var_remove): Remove prototype + (init_alias_heapvars): New prototype. + (delete_alias_heapvars): Ditto. + * Makefile.in (tree-ssa-structalias.o): Add + gt-tree-ssa-structalias.o + (GTFILES): Add tree-ssa-structalias.h and + tree-ssa-structalias.c. + (s-gtype): Add gt-tree-ssa-structalias.h. + * tree-ssa-structalias.c (heapvars): Remove. + (oldheapvars): Remove. + (heapvar_for_stmt): New variable. + (heapvar_lookup): New function. + (heapvar_insert): Ditto. + (get_constraint_for): See if we have an old heapvar + to reuse. + (init_alias_heapvars): New function. + (delete_alias_heapvars): Ditto. + Add include of gt-tree-ssa-structalias.h. + +2005-11-10 Eric Botcazou + + PR middle-end/22127 + * calls.c (special_function_p): Set ECF_RETURNS_TWICE for getcontext. + +2005-11-10 Eric Botcazou + + * tree.c (int_fits_type_p): Only look at the base type + if it has the same precision as the original type. + +2005-11-10 Jakub Jelinek + + PR other/4372 + * varasm.c (assemble_alias): Use %q+D in the error + message instead of %J and %qD. + +2005-11-10 Richard Guenther + + * gcse.c (free_ldst_entry): Only free hashtable if + it exists. + +2005-11-09 Eric Botcazou + + * function.c (assign_stack_local_1): Issue an error message if + the frame size overflows in the signed target arithmetics. + +2005-11-09 Eric Botcazou + + * tree.c (build_qualified_type): Chain the new type to the original + type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is + a POINTER_TYPE or a REFERENCE_TYPE respectively. + (build_pointer_type_for_mode): Only return unqualified types. + (build_reference_type_for_mode): Likewise. + +2005-11-09 Jakub Jelinek + + * Makefile.in (gnucompare): Do comparison of all files using one of + the chosen methods and only afterwards decide if just warning should + be issued or comparison failure raised. + +2005-11-09 Eric Botcazou + + * ifcvt.c (noce_get_alt_condition): Use prev_nonnote_insn. + (noce_try_abs): Negate if the comparison is reversed. + Look only one instruction backwards for a REG_EQUAL note. + +2005-11-09 Alexandre Oliva + + PR other/4372 + * gthr-dce.h, gthr-posix.h, gthr-posix95.h, gthr-solaris.h, + gthr-tpf.h: Define __gthrw. For all identifiers that might + be weak, introduce weakrefs or non-weak aliases with __gthrw, + and prefix all uses with __ghtrw. + +2005-11-09 Alexandre Oliva + + 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. + 2005-11-09 Richard Guenther PR tree-optimization/24716