[Bug ipa/64146] [5 Regression] ipa-icf breaks gold dynamic_test_2 test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64146 --- Comment #7 from Martin Liška marxin at gcc dot gnu.org --- Author: marxin Date: Thu Dec 18 12:02:22 2014 New Revision: 218860 URL: https://gcc.gnu.org/viewcvs?rev=218860root=gccview=rev Log: Fix for PR ipa/64146 PR ipa/64146 * ipa-icf.c (sem_function::merge): Check for decl_binds_to_current_def_p is newly added to merge operation. * g++.dg/ipa/pr64146.C: New test. Added: trunk/gcc/testsuite/g++.dg/ipa/pr64146.C Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-icf.c trunk/gcc/testsuite/ChangeLog
[Bug ipa/64146] [5 Regression] ipa-icf breaks gold dynamic_test_2 test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64146 Martin Liška marxin at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #8 from Martin Liška marxin at gcc dot gnu.org --- Fixed in 5.0.0.
[Bug ipa/64146] [5 Regression] ipa-icf breaks gold dynamic_test_2 test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64146 --- Comment #4 from Martin Liška marxin at gcc dot gnu.org --- Hello. Test case you described should be covered by IPA ICF, where we create a non-interposable alias of a original symbol that is target of newly created thunk. There's -fpic snippet: _Z8test_barv: .LFB3: .cfi_startproc pushq%rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq%rsp, %rbp .cfi_def_cfa_register 6 callbar@PLT popq%rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE3: .size_Z8test_barv, .-_Z8test_barv .set_Z8test_barv.localalias.0,_Z8test_barv .identGCC: (GNU) 5.0.0 20141209 (experimental) .section.note.GNU-stack,,@progbits But it's probably not enough, what exactly means binds_local_p ? Thanks, Martin
[Bug ipa/64146] [5 Regression] ipa-icf breaks gold dynamic_test_2 test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64146 --- Comment #5 from Alan Modra amodra at gmail dot com --- Right, the problem is .set_Z8test_barv.localalias.0,_Z8test_barv or really, using that alias here (-O2 -fpic) .globl _Z8test_foov .type _Z8test_foov, @function _Z8test_foov: .LFB5: .cfi_startproc jmp _Z8test_barv.localalias.0 .cfi_endproc .LFE5: .size _Z8test_foov, .-_Z8test_foov You shouldn't be using the alias for a call where TARGET_BINDS_LOCAL_P (see gcc/doc/tm.texi, varasm.c:default_binds_local_p) is not true.
[Bug ipa/64146] [5 Regression] ipa-icf breaks gold dynamic_test_2 test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64146 --- Comment #6 from Alan Modra amodra at gmail dot com --- Actually, I think you want decl_binds_to_current_def_p rather than binds_local_p.
[Bug ipa/64146] [5 Regression] ipa-icf breaks gold dynamic_test_2 test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64146 Markus Trippelsdorf trippels at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-12-02 CC||marxin at gcc dot gnu.org, ||trippels at gcc dot gnu.org Component|tree-optimization |ipa Target Milestone|--- |5.0 Ever confirmed|0 |1
[Bug ipa/64146] [5 Regression] ipa-icf breaks gold dynamic_test_2 test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64146 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Keywords||wrong-code Priority|P3 |P1
[Bug ipa/64146] [5 Regression] ipa-icf breaks gold dynamic_test_2 test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64146 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added CC||hjl.tools at gmail dot com --- Comment #3 from H.J. Lu hjl.tools at gmail dot com --- Missing targetm.binds_local_p check?