The fix for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24306 breaks -m64 struct-layout-1.c. It breaks the abi of every target, which is wrong. On ppc -m64, it results in a self inconsistent abi. This correct fix would be to modify ix86_function_arg_boundary function to give PARM_BOUNDARY for zero sized objects.
A patch was posted here: http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01564.html
4.4 branch is being closed, moving to 4.5.4 target.
The 4.5 branch is being closed, adjusting target milestone.
GCC 4.6.4 has been released and the branch has been closed.
The 4.7 branch is being closed, moving target milestone to 4.8.4.
GCC 4.8.4 has been released.
From Mike's comment I see this should fail on ppc -m64, however on ppc64-linux I see: [aldyh@gcc1-power7 gcc]$ make check-gcc RUNTESTFLAGS=struct-layout-1.exp ... === gcc Summary === # of expected passes 140 [aldyh@gcc1-power7 gcc]$ make check-g++ RUNTESTFLAGS=struct-layout-1.exp ... === g++ Summary === # of expected passes 150 Is this still an issue, is this only visible on darwin and/or mips, or is there another way to reproduce the problem?
PING
I haven't had a ppc64 box for years. Either, the tests results mailing list or you'd have to ask one of the darwin ppc64 people. Jack and Iain I think both still have ppc64 boxes.
Segher, the only struct-layout-1.c failure I see that is related to PPC on the GCC test results list is yours for "-m32 -mpowerpc64" running on ppc64. This is 32-bit powerpc but with the ppc64 instruction set, is it not? Did this test ever work? FAIL: tmpdir-gcc.dg-struct-layout-1/t002 c_compat_x_tst.o-c_compat_y_tst.o link ...from: https://gcc.gnu.org/ml/gcc-testresults/2015-03/msg01870.html That is, is it legitimately a regression?
Hi Aldy, If the only thing failing is -m32 -mpowerpc64, that is likely another problem. Not likely a regression either (but I don't have testresults around going back more than a year or so; it failed then).
(In reply to Segher Boessenkool from comment #11) > Hi Aldy, > > If the only thing failing is -m32 -mpowerpc64, that is likely another > problem. Not likely a regression either (but I don't have testresults > around going back more than a year or so; it failed then). Hmm, I saw same case failed at least on aarch64 bigendian, fsf-4.9 branch. Not sure if same with this one, Here is log message: spawn /.../obj/gcc2/gcc/xgcc -B/.../obj/gcc2/gcc/ -fno-diagnostics-show-caret -fdiagnostics-color=never -w -I/projects/.../src/gcc/gcc/testsuite/gcc.dg/compat -Wno-abi -DSKIP_DECIMAL_FLOAT -c -specs=aem-validation.specs -o c_compat_x_tst.o /.../obj/gcc2/gcc/testsuite/gcc10/gcc.dg-struct-layout-1//t028_x.c In file included from /.../obj/gcc2/gcc/testsuite/gcc10/gcc.dg-struct-layout-1//t028_x.c:10:0: /.../obj/gcc2/gcc/testsuite/gcc10/gcc.dg-struct-layout-1//t028_test.h: In function 'checkx2823': /projects/.../src/gcc/gcc/testsuite/gcc.dg/compat/struct-layout-1_x2.h:11:22: internal compiler error: Segmentation fault /projects/.../src/gcc/gcc/testsuite/gcc.dg/compat/struct-layout-1.h:777:27: note: in expansion of macro 'TX' /.../obj/gcc2/gcc/testsuite/gcc10/gcc.dg-struct-layout-1//t028_test.h:24:1: note: in expansion of macro 'T' Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. compiler exited with status 1 output is: In file included from /.../obj/gcc2/gcc/testsuite/gcc10/gcc.dg-struct-layout-1//t028_x.c:10:0: /.../obj/gcc2/gcc/testsuite/gcc10/gcc.dg-struct-layout-1//t028_test.h: In function 'checkx2823': /projects/.../src/gcc/gcc/testsuite/gcc.dg/compat/struct-layout-1_x2.h:11:22: internal compiler error: Segmentation fault /projects/.../src/gcc/gcc/testsuite/gcc.dg/compat/struct-layout-1.h:777:27: note: in expansion of macro 'TX' /.../obj/gcc2/gcc/testsuite/gcc10/gcc.dg-struct-layout-1//t028_test.h:24:1: note: in expansion of macro 'T' Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. FAIL: tmpdir-gcc.dg-struct-layout-1/t028 c_compat_x_tst.o compile, (internal compiler error)
The gcc-4_8-branch is being closed, re-targeting regressions to 4.9.3.
Update target milestone to nothing.
Assuming fixed then.
I checked https://gcc.gnu.org/ml/gcc-testresults/2015-04/msg01438.html and the failure is gone.