gcc

~vcs-imports/gcc/+git/gcc:hjl/pr32219/master

Last commit made on 2015-02-12
Get this branch:
git clone -b hjl/pr32219/master https://git.launchpad.net/~vcs-imports/gcc/+git/gcc

Branch merges

Branch information

Name:
hjl/pr32219/master
Repository:
lp:~vcs-imports/gcc/+git/gcc

Recent commits

b6b0361... by "H.J. Lu" <email address hidden>

Handle symbol visibility/locality for PIE/PIC

If a hidden weak symbol isn't defined in the TU, we can't assume it will
be defined in another TU at link time. It makes a difference in code
generation when compiling for PIC. If we assume that a hidden weak
undefined symbol is local, the address checking may be optimized out and
leads to the wrong code. This means that a symbol with user specified
visibility is local only if it is locally resolved or defined, not weak
or not compiling for PIC. When symbol visibility is specified in the
source, we should always output symbol visibility even if symbol isn't
local to the TU.

If a global data symbol is defined in the TU, it is always local to the
executable, regardless if it is a common symbol or not. If we aren't
compiling for shared library, locally defined global data symbol binds
locally.

Since some targets call default_binds_local_p_1 directly and depend on
the old behavior of default_binds_local_p_1. This patch copies
default_binds_local_p_1 to default_binds_local_p_2 and changes the
behavior of default_binds_local_p by calling default_binds_local_p_2
instead of default_binds_local_p_1.

gcc/

 PR rtl-optimization/32219
 * cgraphunit.c (varpool_node::finalize_decl): Set definition
 first before calling notice_global_symbol so that it is
 available to notice_global_symbol.
 * varasm.c (default_binds_local_p_2): Copied from
 default_binds_local_p_1. Resolve defined data symbol locally if
 not building shared library. Resolve symbol with user specified
 visibility locally only if it is locally resolved or defined, not
 weak or not compiling for PIC.
 (default_binds_local_p): Replace default_binds_local_p_1 with
 default_binds_local_p_2.
 (default_elf_asm_output_external): Always output visibility
 specified in the source.

gcc/testsuite/

 PR rtl-optimization/32219
 * gcc.dg/visibility-22.c: New test.
 * gcc.dg/visibility-23.c: Likewise.
 * gcc.target/i386/pr32219-1.c: Likewise.
 * gcc.target/i386/pr32219-2.c: Likewise.
 * gcc.target/i386/pr32219-3.c: Likewise.
 * gcc.target/i386/pr32219-4.c: Likewise.
 * gcc.target/i386/pr32219-5.c: Likewise.
 * gcc.target/i386/pr32219-6.c: Likewise.
 * gcc.target/i386/pr32219-7.c: Likewise.
 * gcc.target/i386/pr32219-8.c: Likewise.
 * gcc.target/i386/pr64317.c: Expect GOTOFF relocation instead
 of GOT relocation.

a5a5202... by jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR sanitizer/64984
 * except.c (check_noexcept_r): Return NULL for internal
 calls.

 * g++.dg/ubsan/pr64984.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220649 138bc75d-0d04-0410-961f-82ee72b054a4

34b620b... by mwahab <mwahab@138bc75d-0d04-0410-961f-82ee72b054a4>

 * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
 for __NEWLIB__ macro with a dejagnu set macro.
 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220648 138bc75d-0d04-0410-961f-82ee72b054a4

b7977a0... by jgreenhalgh <jgreenhalgh@138bc75d-0d04-0410-961f-82ee72b054a4>

[Patch Testsuite] XFAIL gfortran.dg/pr45636.f90 on AArch64

gcc/testsuite/

 * gfortran.dg/pr45636.f90: XFAIL for aarch64* targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220647 138bc75d-0d04-0410-961f-82ee72b054a4

4b7bb94... by jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR testsuite/64930
 * gcc.target/powerpc/atomic-p7.c: Adjust expected count of isync
 instructions for 2015-01-14 get_memmodel changes.
 * gcc.target/powerpc/atomic-p8.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220646 138bc75d-0d04-0410-961f-82ee72b054a4

b3a30e6... by jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR sanitizer/65019
 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.

 * g++.dg/ubsan/pr65019.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220641 138bc75d-0d04-0410-961f-82ee72b054a4

ca5b5c7... by jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR tree-optimization/65014
 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
 use original second operand of arg0 or arg1 instead of
 that adjusted by STRIP_NOPS.

 * gcc.c-torture/compile/pr65014.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220640 138bc75d-0d04-0410-961f-82ee72b054a4

df070bc... by jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>

2015-02-11 Jerry DeLisle <email address hidden>

 PR libgfortran/57822
 * gfortran/fmt_g0_7.f08: Revise test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220637 138bc75d-0d04-0410-961f-82ee72b054a4

294ea4e... by gccadmin <gccadmin@138bc75d-0d04-0410-961f-82ee72b054a4>

Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220636 138bc75d-0d04-0410-961f-82ee72b054a4

74e4342... by law <law@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR target/63347
 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
 that needs to be queued, just queue it for a single cycle.

 PR target/63347
 * gcc.target/m68k/pr63347.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220632 138bc75d-0d04-0410-961f-82ee72b054a4