On 13/02/15 05:11, Richard Henderson wrote:
On 02/12/2015 08:14 PM, H.J. Lu wrote:
I tried the second patch. Results look good on Linux/x86-64.
Thanks. My results concurr. I went ahead and installed the patch as posted.
r~
2015-02-12 H.J. Lu <hongjiu...@intel.com>
Richard Henderson <r...@redhat.com>
PR rtl/32219
* cgraphunit.c (cgraph_node::finalize_function): Set definition
before notice_global_symbol.
(varpool_node::finalize_decl): Likewise.
* varasm.c (default_binds_local_p_2): Rename from
default_binds_local_p_1, add weak_dominate argument. Use direct
returns instead of assigning to local variable. Unify varpool and
cgraph paths via symtab_node. Reject undef weak variables before
testing visibility. Reorder tests for simplicity.
(default_binds_local_p): Use default_binds_local_p_2.
(default_binds_local_p_1): Likewise.
(decl_binds_to_current_def_p): Unify varpool and cgraph paths
via symtab_node.
(default_elf_asm_output_external): Emit visibility when specified.
2015-02-12 H.J. Lu <hongjiu...@intel.com>
PR rtl/32219
* gcc.dg/visibility-22.c: New test.
* gcc.dg/visibility-23.c: New test.
* gcc.target/i386/pr32219-1.c: New test.
* gcc.target/i386/pr32219-2.c: New test.
* gcc.target/i386/pr32219-3.c: New test.
* gcc.target/i386/pr32219-4.c: New test.
* gcc.target/i386/pr32219-5.c: New test.
* gcc.target/i386/pr32219-6.c: New test.
* gcc.target/i386/pr32219-7.c: New test.
* gcc.target/i386/pr32219-8.c: New test.
* gcc.target/i386/pr64317.c: Expect GOTOFF, not GOT.
Hi all,
By changing behaviour of varasm.c:default_binds_local_p, this patch
changes behaviour of gcc/config/arm/arm.c:arm_function_in_section_p and
through it breaks gcc/config/arm/arm.c:arm_is_long_call_p for weak symbols.
As a result, I get regression for gcc.target/arm/long-calls-1.c on
arm-none-eabi:
FAIL: gcc.target/arm/long-calls-1.c scan-assembler-not \tbl?\tweak_l1\n
FAIL: gcc.target/arm/long-calls-1.c scan-assembler-not \tbl?\tweak_l3\n
In https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html there
is a description for -mlong-calls.
This has to be fixed.
Kind regards,
Alex