User account creation filtered due to spam.
Current trunk shows runtime failure for gcc.dg/darwin-weakimport-3.c on x86_64-apple-darwin14 with -m32. The difference in the assembler between the 4.9.2 compiler (good) and the trunk compiler (bad, revision 217599) is: $ diff -pu good-49.s bad-trunk.s --- good-49.s 2014-11-15 16:33:50.000000000 +0100 +++ bad-trunk.s 2014-11-15 16:33:30.000000000 +0100 @@ -3,6 +3,15 @@ _foo: pushl %ebp movl %esp, %ebp + call ___x86.get_pc_thunk.ax +L1$pb: + nop popl %ebp ret + .section __TEXT,__textcoal_nt,coalesced,pure_instructions + .weak_definition ___x86.get_pc_thunk.ax + .private_extern ___x86.get_pc_thunk.ax +___x86.get_pc_thunk.ax: + movl (%esp), %eax + ret .subsections_via_symbols The presence of the line with "coalesced" makes the test fail.
confirmed on x86_64-darwin12. this is generating an unnecesary picbase (since it is unused in the function), and thus the thunk - which triggers the failure. This is probably more fallout from the EBX changes.
> This is probably more fallout from the EBX changes. Yep! I see the failure with r216154 but not with 216153.
This same bug may also be the root for: FAIL: gcc.dg/torture/builtin-self.c -O0 scan-assembler-not \\tcall which is also a 5.0 regression, due to the extra "call ___x86.get_pc_thunk.ax". Dominique, could you check whether both appeared at the same time?
> Dominique, could you check whether both appeared at the same time? Yes: r216154.
FAIL: gcc.dg/torture/builtin-self.c -O0 scan-assembler-not \\tcall is also seen on i686-pc-linux-gnu with -fpic: see https://gcc.gnu.org/ml/gcc-testresults/2014-12/msg01216.html
AFAICT, this is actually a false positive and mostly points to an inefficiency in our -O0 32-bit PIC code generation on x86. The test wants to make sure that _foo doesn't end up in textcoal_nt section, which is marked with the coalesced section attribute. The test (reasonably so) just blindly looks for the existence of the magic section declaration without any regard to what's in it. In this case we emit PIC setup. It's not strictly necessary as there aren't any uses of the PIC register, but since the optimizer isn't on, DCE is not run and thus the PIC setup remains. Once we have PIC setup, we have the get_pc_thunk routine which gets put into that magic section. Which then triggers the false positive. For darwin-weakimport-3.c, the right fix is probably to turn on -O1. Not sure what the best fix for builtin-self.c is (maybe an xfail), but in both cases this isn't worthy of a P1 regresion. I'd peg it more at a P4/P5 level since the inefficiencies only show up at -O0.
GCC 5.1 has been released.
GCC 5.2 is being released, adjusting target milestone to 5.3.
GCC 5.3 is being released, adjusting target milestone.
GCC 5.4 is being released, adjusting target milestone.