Linaro GCC 4.5-2010.11-0

Milestone information

Project:
Linaro GCC
Series:
4.5
Version:
4.5-2010.11-0
Released:
 
Registrant:
Michael Hope
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
1 Yao Qi
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
2 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.11-1.tar.bz2 (md5, sig) Linaro GCC Source 1,165
last downloaded 27 weeks ago
Total downloads: 1,165

Release notes 

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

Interesting changes include:
 * Various NEON related fixes
 * Performance improvements
 * A clean up of some of the testsuite test cases
 * An updated version of the __sync multicore primitives
 * Improvements in data packing when optimising for size
 * C locale support in libstdc++-v3

This release adds the new option -fstrict-volatile-bitfields and enables it by default on ARM. See doc/invoke.texi for more information.

Changelog 

View the full changelog

2010-10-26 Jie Zhang <email address hidden>

 Backport from mainline:

 gcc/
 2010-10-26 Jie Zhang <email address hidden>

 * doc/invoke.texi: Improve documentation of
 -fstrict-volatile-bitfields.

2010-10-26 Jie Zhang <email address hidden>

 Issue #1259

 Backport from mainline:

 gcc/
 2010-10-26 Jie Zhang <email address hidden>

 * stor-layout.c (layout_decl): Use the field's type to
 determine the mode and keep DECL_BIT_FIELD for a volatile
 bit-field.
 * config/arm/arm.c (arm_override_options): Default to
 -fstrict-volatile-bitfields.

 gcc/testsuite/
 2010-10-26 Jie Zhang <email address hidden>

 * gcc.target/arm/volatile-bitfields-1.c: New test.
 * gcc.target/arm/volatile-bitfields-2.c: New test.
 * gcc.target/arm/volatile-bitfields-3.c: New test.

2010-10-25 Jie Zhang <email address hidden>

 Issue #1259

 Backport from mainline:

 gcc/
 2010-10-22 Jie Zhang <email address hidden>

 * expr.c (emit_group_load_1): Update calls to extract_bit_field.
 (copy_blkmode_from_reg): Likewise.
 (read_complex_part): Likewise.
 (expand_expr_real_1): Calculate packedp and pass it to
 extract_bit_field.
 * expr.h (extract_bit_field): Update declaration.
 * calls.c (store_unaligned_arguments_into_pseudos): Update call
 to extract_bit_field.
 * expmed.c (extract_fixed_bit_field): Update calls to
 extract_fixed_bit_field.
 (store_split_bit_field): Likewise.
 (extract_bit_field_1): Add new argument packedp.
 (extract_bit_field): Add new argument packedp.
 (extract_fixed_bit_field): Add new argument packedp and let
 packed attribute override volatile.
 * stmt.c (expand_return): Update call to extract_bit_field.

 2010-10-15 Jie Zhang <email address hidden>

 * doc/invoke.texi: Add -fstrict-volatile-bitfields to
 Option Summary and Index.

 2010-07-13 DJ Delorie <email address hidden>

 * config/h8300/h8300.c (h8300_init_once): Default to
 -fstrict_volatile_bitfields.

 * config/sh/sh.c (sh_override_options): Default to
 -fstrict_volatile_bitfields.

 * config/rx/rx.c (rx_option_override): New.

 * config/m32c/m32c.c (m32c_override_options): Default to
 -fstrict_volatile_bitfields.

 2010-06-16 DJ Delorie <email address hidden>

 * common.opt (-fstrict-volatile-bitfields): new.
 * doc/invoke.texi: Document it.
 * fold-const.c (optimize_bit_field_compare): For volatile
 bitfields, use the field's type to determine the mode, not the
 field's size.
 * expr.c (expand_assignment): Likewise.
 (get_inner_reference): Likewise.
 (expand_expr_real_1): Likewise.
 * expmed.c (store_fixed_bit_field): Likewise.
 (extract_bit_field_1): Likewise.
 (extract_fixed_bit_field): Likewise.

 gcc/testsuite/
 2010-08-19 Uros Bizjak <email address hidden>

 PR testsuite/45324
 * gcc.target/i386/volatile-bitfields-1.c: Also scan movb.

 2010-06-16 DJ Delorie <email address hidden>

 * gcc.target/i386/volatile-bitfields-1.c: New.
 * gcc.target/i386/volatile-bitfields-2.c: New.

2010-10-25 Jie Zhang <email address hidden>

 Issue #9812

 Backport from mainline:

 gcc/
 2010-10-25 Jie Zhang <email address hidden>
 * combine.c (try_combine): If insns need to be kept around,
 check that they can be copied in the merged instruction.

 gcc/testsuite/
 2010-10-25 Jie Zhang <email address hidden>
 * g++.dg/opt/combine.c: New test.

2010-10-23 Joseph Myers <email address hidden>

 Backport from FSF:

 gcc/
 2010-10-14 Joseph Myers <email address hidden>

 PR c/45969
 * c-typeck.c (build_binary_op): Don't try to compute a semantic
 type with excess precision for boolean operations.

 gcc/testsuite/
 2010-10-14 Joseph Myers <email address hidden>

 PR c/45969
 * gcc.c-torture/compile/pr45969-1.c: New test.

2010-10-20 Nathan Froyd <email address hidden>

 Issue #9781

 Backport from mainline:

 gcc/
 2010-10-20 Nathan Froyd <email address hidden>

 * ifcvt.c (noce_emit_cmove): If both of the values are SUBREGs, try
 emitting the conditional move in the inner mode of the SUBREG.

2010-10-18 Kazu Hirata <email address hidden>

 Issue #9720
 Backport from mainline:
 gcc/
 2010-10-07 Tejas Belagod <email address hidden>
 * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
 constraint, add register specifier in instruction template.
 (neon_vec_pack_trunc_<mode>): Likewise.
 (neon_vec_<US>mult_<mode>): Add register specifier to
 instruction template.

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

 Backport from mainline:

 2010-10-18 Marcus Shawcroft <email address hidden>

 gcc/testsuite/
 * gcc.target/arm/synchronize.c: Permit dmb or mcr in assembler scan.

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

 Backport from mainline:

 2010-08-18 Marcus Shawcroft <email address hidden>

 gcc/
 * config/arm/arm-protos.h (arm_expand_sync): New.
 (arm_output_memory_barrier, arm_output_sync_insn): New.
 (arm_sync_loop_insns): New.
 * config/arm/arm.c (FL_ARCH7): New.
 (FL_FOR_ARCH7): Include FL_ARCH7.
 (arm_arch7): New.
 (arm_print_operand): Support %C markup.
 (arm_legitimize_sync_memory): New.
 (arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
 (arm_process_output_memory_barrier, arm_output_memory_barrier): New.
 (arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
 (arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
 (arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
 (arm_process_output_sync_insn, arm_output_sync_insn): New.
 (arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
 * config/arm/arm.h (struct arm_sync_generator): New.
 (TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
 (TARGET_HAVE_MEMORY_BARRIER): New.
 (TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
 * config/arm/arm.md: Include sync.md.
 (UNSPEC_MEMORY_BARRIER): New.
 (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
 (VUNSPEC_SYNC_OP):New.
 (VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
 (sync_result, sync_memory, sync_required_value): New attributes.
 (sync_new_value, sync_t1, sync_t2): Likewise.
 (sync_release_barrier, sync_op): Likewise.
 (length): Add logic to length attribute defintion to call
 arm_sync_loop_insns when appropriate.
 * config/arm/sync.md: New file.

 2010-09-02 Marcus Shawcroft <email address hidden>

 gcc/
 * config/arm/predicates.md (arm_sync_memory_operand): New.
 * config/arm/sync.md (arm_sync_compare_and_swapsi): Change predicate
 to arm_sync_memory_operand and constraint to Q.
 (arm_sync_compare_and_swap<mode>): Likewise.
 (arm_sync_compare_and_swap<mode>): Likewise.
 (arm_sync_lock_test_and_setsi): Likewise.
 (arm_sync_lock_test_and_set<mode>): Likewise.
 (arm_sync_new_<sync_optab>si): Likewise.
 (arm_sync_new_nandsi): Likewise.
 (arm_sync_new_<sync_optab><mode>): Likewise.
 (arm_sync_new_nand<mode>): Likewise.
 (arm_sync_old_<sync_optab>si): Likewise.
 (arm_sync_old_nandsi): Likewise.
 (arm_sync_old_<sync_optab><mode>): Likewise.
 (arm_sync_old_nand<mode>): Likewise.

 2010-09-13 Marcus Shawcroft <email address hidden>

 gcc/
 * config/arm/arm.md: (define_attr "conds"): Update comment.
 * config/arm/sync.md (arm_sync_compare_and_swapsi): Change
 conds attribute to clob.
 (arm_sync_compare_and_swapsi): Likewise.
 (arm_sync_compare_and_swap<mode>): Likewise.
 (arm_sync_lock_test_and_setsi): Likewise.
 (arm_sync_lock_test_and_set<mode>): Likewise.
 (arm_sync_new_<sync_optab>si): Likewise.
 (arm_sync_new_nandsi): Likewise.
 (arm_sync_new_<sync_optab><mode>): Likewise.
 (arm_sync_new_nand<mode>): Likewise.
 (arm_sync_old_<sync_optab>si): Likewise.
 (arm_sync_old_nandsi): Likewise.
 (arm_sync_old_<sync_optab><mode>): Likewise.
 (arm_sync_old_nand<mode>): Likewise.

 2010-09-13 Marcus Shawcroft <email address hidden>

 gcc/testsuite/
 * gcc.target/arm/sync-1.c: New.

2010-10-20 Yao Qi <email address hidden>

 Merge from Sourcery G++ to fix LP:660021
 2010-10-18 Paul Brook <email address hidden>

 * tree-vect-stmts.c (supportable_widening_operation): Check if wide
 vector type exists.

2010-10-15 Jie Zhang <email address hidden>

 Backport from mainline:

 gcc/testsuite/
 2010-10-15 Jie Zhang <email address hidden>

 * lib/lto.exp (lto-link-and-maybe-run): Use the default linker
 script when relocatable linking.

2010-10-15 Chung-Lin Tang <email address hidden>

 Backport from mainline:

 2010-10-15 Chung-Lin Tang <email address hidden>

 gcc/
 * ifcvt.c (find_active_insn_before): New function.
 (find_active_insn_after): New function.
 (cond_exec_process_if_block): Use new functions to replace
 prev_active_insn() and next_active_insn().

 gcc/testsuite/
 * gcc.dg/20101010-1.c: New testcase.

2010-10-13 Chung-Lin Tang <email address hidden>

 Issue #8615

 Backport from mainline:

 2010-10-12 Chung-Lin Tang <email address hidden>

 gcc/
 * config/arm/arm.h (ARM_EXPAND_ALIGNMENT): Rename from
 DATA_ALIGNMENT and add COND parameter. Update comments above.
 (DATA_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !optimize_size.
 (LOCAL_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with
 !flag_conserve_stack.

2010-10-15 Yao Qi <email address hidden>

 Backport from mainline:

 2010-10-14 Yao Qi <email address hidden>

 gcc/
        PR target/45447
        * config/arm/arm.c (arm_build_builtin_va_list): Assign
        va_list_name to TYPE_STUB_DECL (va_list_type).

 gcc/testsuite/
 PR target/45447
        * gcc.target/arm/pr45447.c: New test.

2010-10-13 Chung-Lin Tang <email address hidden>

 Backport from mainline:

 2010-04-20 James E. Wilson <email address hidden>

 gcc/
 PR rtl-optimization/43520
 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
 zero available registers.

2010-10-09 Jie Zhang <email address hidden>

 Backport from mainline:

 gcc/
 2010-06-03 Paul Brook <email address hidden>
 * config/arm/arm.c (FL_TUNE): Define.
 (arm_default_cpu, arm_cpu_select): Remove.
 (all_cores): Populate core field.
 (arm_selected_arch, arm_selected_cpu, arm_selected_tune): New.
 (arm_find_cpu): New function.
 (arm_handle_option): Lookup cpu/architecture names.
 (arm_override_options): Cleanup mcpu/march/mtune handling.
 (arm_file_start): Ditto.

2010-10-08 Jie Zhang <email address hidden>

 * config/arm/arm.c (arm_override_options): Disable
 -fsched-interblock for Cortex-M4.

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

 gcc/testsuite/
 * gcc.dg/Warray-bounds-3.c: Add -fno-unroll-loops for ARM.
 * gcc.dg/vect/vect.exp: Likewise, for all vect tests.

2010-09-30 Jie Zhang <email address hidden>

 gcc/testsuite/
 * gcc.target/arm/neon-thumb2-move.c: Add
 dg-require-effective-target arm_thumb2_ok.

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

 Revert:

 Backport from FSF:

 gcc/
 2010-08-18 Marcus Shawcroft <email address hidden>
 * config/arm/arm-protos.h (arm_expand_sync): New.
 (arm_output_memory_barrier, arm_output_sync_insn): New.
 (arm_sync_loop_insns): New.
 * config/arm/arm.c (FL_ARCH7): New.
 (FL_FOR_ARCH7): Include FL_ARCH7.
 (arm_arch7): New.
 (arm_print_operand): Support %C markup.
 (arm_legitimize_sync_memory): New.
 (arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
 (arm_process_output_memory_barrier, arm_output_memory_barrier): New.
 (arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
 (arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
 (arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
 (arm_process_output_sync_insn, arm_output_sync_insn): New.
 (arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
 * config/arm/arm.h (struct arm_sync_generator): New.
 (TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
 (TARGET_HAVE_MEMORY_BARRIER): New.
 (TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
 * config/arm/arm.md: Include sync.md.
 (UNSPEC_MEMORY_BARRIER): New.
 (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
 (VUNSPEC_SYNC_OP):New.
 (VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
 (sync_result, sync_memory, sync_required_value): New attributes.
 (sync_new_value, sync_t1, sync_t2): Likewise.
 (sync_release_barrier, sync_op): Likewise.
 (length): Add logic to length attribute defintion to call
 arm_sync_loop_insns when appropriate.
 * config/arm/sync.md: New file.

 gcc/
 2010-09-02 Marcus Shawcroft <email address hidden>
 * config/arm/predicates.md (arm_sync_memory_operand): New.
 * config/arm/sync.md (arm_sync_compare_and_swapsi): Change predicate
 to arm_sync_memory_operand and constraint to Q.
 (arm_sync_compare_and_swap<mode>): Likewise.
 (arm_sync_compare_and_swap<mode>): Likewise.
 (arm_sync_lock_test_and_setsi): Likewise.
 (arm_sync_lock_test_and_set<mode>): Likewise.
 (arm_sync_new_<sync_optab>si): Likewise.
 (arm_sync_new_nandsi): Likewise.
 (arm_sync_new_<sync_optab><mode>): Likewise.
 (arm_sync_new_nand<mode>): Likewise.
 (arm_sync_old_<sync_optab>si): Likewise.
 (arm_sync_old_nandsi): Likewise.
 (arm_sync_old_<sync_optab><mode>): Likewise.
 (arm_sync_old_nand<mode>): Likewise.

2010-09-30 Jie Zhang <email address hidden>

 gcc/testsuite/

 * c-c++-common/uninit-17.c: Adjust warning message.

 Backport from mainline:

 2010-07-30 Xinliang David Li <email address hidden>
 PR tree-optimization/45121
 * c-c++-common/uninit-17.c: Add -fno-ivops option.

2010-09-28 Jie Zhang <email address hidden>

 Backport from mainline:

 gcc/testsuite/
 2010-09-28 Jie Zhang <email address hidden>
 * gcc.dg/Wcxx-compat-12.c: Add -fno-short-enums.

2010-09-22 Chung-Lin Tang <email address hidden>

 Backport from mainline:

 2010-09-22 Chung-Lin Tang <email address hidden>

 gcc/
 * postreload.c (move2add_note_store): Add reg_symbol_ref[] checks
 to update conditions. Fix reg_mode[] check.

2010-09-20 Jie Zhang <email address hidden>

 Issue #9019

 Backport from mainline:

 gcc/
 2010-09-20 Jie Zhang <email address hidden>
 * config/arm/arm.c (arm_address_offset_is_imm): New.
 (arm_early_store_addr_dep): New.
 (arm_early_load_addr_dep): New.
 * config/arm/arm-protos.h (arm_early_store_addr_dep): Declare.
 (arm_early_load_addr_dep): Declare.
 (arm_address_offset_is_imm): Declare.
 * config/arm/cortex-m4.md: New file.
 * config/arm/cortex-m4-fpu.md: New file.
 * config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md.
 (attr generic_sched): Exclude cortexm4.
 (attr generic_vfp): Exclude cortexm4.

2010-09-20 Jie Zhang <email address hidden>

 Issue #5256

 libstdc++-v3/

 Backport from mainline:

 2010-05-21 Joseph Myers <email address hidden>
 * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Use GNU locale model for
 glibc 2.3 and later, but not uClibc, without an execution test.
 * configure: Regenerate.
 * doc/xml/manual/configure.xml, doc/xml/manual/prerequisites.xml,
 doc/xml/faq.xml: Update.

0 blueprints and 2 bugs targeted

Bug report Importance Assignee Status
623945 #623945 ICE using va_list with -g -femit-struct-debug-baseonly 4 Medium Yao Qi  10 Fix Released
662720 #662720 conflicting switches: -march=armv7-a -mcpu=cortex-a8 5 Low   10 Fix Released
This milestone contains Public information
Everyone can see this information.