Linaro GCC 4.5-2010.12-0

Milestone information

Linaro GCC
Michael Hope
Release registered:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata


Assigned to you:
No blueprints or bugs assigned to you.
2 Andrew Stubbs, 3 Chung-Lin Tang, 2 Julian Brown, 1 Richard Sandiford
No blueprints are targeted to this milestone.
8 Fix Released

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon gcc-linaro-4.5-2010.12-0.tar.bz2 (md5, sig) Linaro GCC Source 803
last downloaded 8 weeks ago
Total downloads: 803

Release notes 

Linaro GCC 4.5 is the fifth release in the 4.5 series. Based off the latest GCC 4.5.1+svn167157, it includes many ARM-focused performance improvements and bug fixes.

Interesting changes include:
 * A new performance focused extension elimination pass
 * Speed and size improvements when loading constants
 * Performance improvements on compound conditionals
 * A range of correctness improvements

This release explicitly turns off the stack protector when building libgcc, making it easier to enable the stack protector by default for other code.


View the full changelog

2010-12-02 Bernd Schmidt <email address hidden>

 Issue #10089

 * expr.c (store_field): Avoid a direct store if the mode is larger
 than the size of the bit field.
 * stor-layout.c (layout_decl): If flag_strict_volatile_bitfields,
 treat non-volatile bit fields like volatile ones.
 * toplev.c (process_options): Disallow combination of
 -fstrict-volatile-bitfields and ABI versions less than 2.
 * config/arm/arm.c (arm_option_override): Don't enable
 flag_strict_volatile_bitfields if the ABI version is less than 2.
 * config/h8300/h8300.c (h8300_option_override): Likewise.
 * config/rx/rx.c (rx_option_override): Likewise.
 * config/m32c/m32c.c (m32c_option_override): Likewise.
 * config/sh/sh.c (sh_option_override): Likewise.

 * New test.
 * c-c++-common/abi-bf.c: New test.

2010-11-26 Tom de Vries <email address hidden>

 * gcc/ee.c: New file.
 * gcc/tree-pass.h (pass_ee): Declare.
 * gcc/opts.c (decode_options): Set flag_ee at -O2.
 * gcc/timevar.def (TV_EE): New timevar.
 * gcc/common.opt (fextension-elimination): New option.
 * gcc/ (ee.o): New rule.
 * gcc/passes.c (pass_ee): Add it.
 * gcc/testsuite/gcc.dg/extend-4.c: New test.
 * gcc/testsuite/gcc.dg/extend-1.c: New test.
 * gcc/testsuite/gcc.dg/extend-2.c: New test.
 * gcc/testsuite/gcc.dg/extend-2-64.c: New test.
 * gcc/testsuite/gcc.dg/extend-3.c: New test.

2010-11-24 Maxim Kuvyrkov <email address hidden>

 * loop-iv.c (get_biv_step): Workaround loop analysis ICE.

2010-11-25 Andrew Stubbs <email address hidden>

 Backport from mainline:

 2010-10-28 Andrew Stubbs <email address hidden>

 * config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern
 constants in thumb2.

2010-11-24 Chung-Lin Tang <email address hidden>

 2010-07-08 Ramana Radhakrishnan <email address hidden>

 PR bootstrap/44768

 * cfgexpand.c (estimated_stack_frame_size): Make self-contained
 with respect to current_function_decl. Pass decl of the function.
 * tree-inline.h (estimated_stack_frame_size): Adjust prototype.
 * ipa-inline.c (compute_inline_parameters): Pass decl to

2010-11-16 Chung-Lin Tang <email address hidden>

 2010-07-21 Richard Henderson <email address hidden>

 * config/i386/i386.c (setup_incoming_varargs_64): Emit a simple
 comparison for avoiding xmm register saves. Emit the xmm register
 saves explicitly.
 * config/i386/ (UNSPEC_SSE_PROLOGUE_SAVE): Remove.
 (sse_prologue_save, sse_prologue_save_insn1, sse_prologue_save_insn):
 Remove patterns and the associated splitters.

 2010-07-22 Richard Henderson <email address hidden>

 PR target/45027
 * config/i386/i386.c (setup_incoming_varargs_64): Force the use
 of V4SFmode for the SSE saves; increase stack alignment if needed.

2010-11-16 Chung-Lin Tang <email address hidden>

 Re-merge, backport from mainline:

 2010-07-15 Bernd Schmidt <email address hidden>

 * postreload.c (last_label_ruid, first_index_reg, last_index_reg):
 New static variables.
 (reload_combine_recognize_pattern): New static function, broken out
 of reload_combine.
 (reload_combine): Use it. Only initialize first_index_reg and
 last_index_reg once.

 2010-07-17 Bernd Schmidt <email address hidden>

 PR target/42235
 * postreload.c (reload_cse_move2add): Return bool, true if anything.
 changed. All callers changed.
 (move2add_use_add2_insn): Likewise.
 (move2add_use_add3_insn): Likewise.
 (reload_cse_regs): If reload_cse_move2add changed anything, rerun
 (last_jump_ruid): New static variable.
 (struct reg_use): New members CONTAINING_MEM and RUID.
 (reg_state): New members ALL_OFFSETS_MATCH and REAL_STORE_RUID.
 (reload_combine_split_one_ruid, reload_combine_split_ruids,
 reload_combine_purge_insn_uses, reload_combine_closest_single_use
 reload_combine_recognize_const_pattern): New static functions.
 (reload_combine_recognize_pattern): Verify that ALL_OFFSETS_MATCH
 is true for our reg and that we have available index regs.
 (reload_combine_note_use): New args RUID and CONTAINING_MEM. All
 callers changed. Use them to initialize fields in struct reg_use.
 (reload_combine): Initialize last_jump_ruid. Be careful when to
 take PREV_INSN of the scanned insn. Update REAL_STORE_RUID fields.
 Call reload_combine_recognize_const_pattern.
 (reload_combine_note_store): Update REAL_STORE_RUID field.

 * New test.

 2010-07-19 Bernd Schmidt <email address hidden>

 * postreload.c (reload_combine_closest_single_use): Ignore the
 number of uses for DEBUG_INSNs.
 (fixup_debug_insns): New static function.
 (reload_combine_recognize_const_pattern): Use it. Don't let the
 main loop be affected by DEBUG_INSNs.
 Really disallow moving adds past a jump insn.
 (reload_combine_recognize_pattern): Don't update use_ruid here.
 (reload_combine_note_use): Do it here.
 (reload_combine): Use control_flow_insn_p rather than JUMP_P.

 2010-07-20 Bernd Schmidt <email address hidden>

 * postreload.c (fixup_debug_insns): Remove arg REGNO. New args
 FROM and TO. All callers changed. Don't look for tracked uses,
 just scan the RTL for DEBUG_INSNs and substitute.
 (reload_combine_recognize_pattern): Call fixup_debug_insns.
 (reload_combine): Ignore DEBUG_INSNs.

 2010-07-22 Bernd Schmidt <email address hidden>

 PR bootstrap/44970
 PR middle-end/45009
 * postreload.c: Include "target.h".
 (reload_combine_closest_single_use): Don't take DEBUG_INSNs
 into account.
 (fixup_debug_insns): Don't copy the rtx.
 (reload_combine_recognize_const_pattern): DEBUG_INSNs can't have uses.
 Don't copy when replacing. Call fixup_debug_insns in the case where
 we merged one add with another.
 (reload_combine_recognize_pattern): Fail if there aren't any uses.
 Try harder to determine whether we're picking a valid index register.
 Don't set store_ruid for an insn we're going to scan in the
 next iteration.
 (reload_combine): Remove unused code.
 (reload_combine_note_use): When updating use information for
 an old insn, ignore a use that occurs after store_ruid.
 * (postreload.o): Update dependencies.

 2010-07-27 Bernd Schmidt <email address hidden>

 * postreload.c (reload_combine_recognize_const_pattern): Move test
 for limiting the insn movement to the right scope.

 2010-07-27 Bernd Schmidt <email address hidden>

 * postreload.c (try_replace_in_use): New static function.
 (reload_combine_recognize_const_pattern): Use it here. Allow
 substituting into a final add insn, and substituting into a memory
 reference in an insn that sets the reg.

2010-11-26 Andrew Stubbs <email address hidden>

 Merge from FSF 4.5 branch r167157 (pre 4.5.2).

2010-11-24 Richard Sandiford <email address hidden>

 Launchpad #618684

 Backport from mainline:

 2010-04-10 Bernd Schmidt <email address hidden>

 * reload1.c (eliminate_regs_in_insn): Don't restore an operand
 if doing so would replace the entire pattern.

2010-11-24 Maxim Kuvyrkov <email address hidden>

 * combine.c (subst, combine_simlify_rtx): Add new argument, use it
 to track processing of conditionals. Update all callers.
 (try_combine, simplify_if_then_else): Update.

2010-11-08 Yao Qi <email address hidden>

 Backport from mainline:

 2010-08-02 Bernd Schmidt <email address hidden>

 * config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the
 if statement which adds extra costs to frame-related

2010-11-3 Chung-Lin Tang <email address hidden>

 Backport from mainline:

 2010-11-02 Chung-Lin Tang <email address hidden>

 * (LIBGCC2_CFLAGS): Add -fno-stack-protector, to
 explicitly disable stack protection when building libgcc.
 (CRTSTUFF_CFLAGS): Same, for crtbegin/end.

2010-10-29 Julian Brown <email address hidden>

 Launchpad #629671

 * config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer
 from CORE_REGS and GENERAL_REGS classes.
 * config/arm/ (*thumb1_movsi_insn): Ignore all parts of final
 constraint for register preferencing.

2010-11-03 Nathan Froyd <email address hidden>

 Issue #10002

 * config/arm/arm.c (arm_legitimate_index_p): Split
 slightly larger constants in the latter case.
 (thumb2_legitimate_index_p): Likewise.

0 blueprints and 8 bugs targeted

Bug report Importance Assignee Status
595479 #595479 Sequel to PR40521 -- -g causes GCC to generate .eh_frame 3 High Andrew Stubbs  10 Fix Released
595479 #595479 Sequel to PR40521 -- -g causes GCC to generate .eh_frame 3 High Andrew Stubbs  10 Fix Released
674146 #674146 dpkg segfaults during debootstrap on natty armel 3 High Chung-Lin Tang  10 Fix Released
628526 #628526 Ensure libgcc is built with stack protection off 4 Medium Chung-Lin Tang  10 Fix Released
672833 #672833 r99402 causes x86_64 regressions 4 Medium Chung-Lin Tang  10 Fix Released
618684 #618684 ICE when building ziproxy 5 Low Richard Sandiford  10 Fix Released
629671 #629671 ICE in reload_cse_simplify_operands in thumb-1 mode 5 Low Julian Brown  10 Fix Released
629671 #629671 ICE in reload_cse_simplify_operands in thumb-1 mode 5 Low Julian Brown  10 Fix Released
This milestone contains Public information
Everyone can see this information.