David Edelsohn wrote: > > > To avoid having a partial ABI implementation in tree, it seems best > > to commit this whole patch series as a single commit. > > > Is the series OK for mainline? > > The 8 patch series implementing and enabling ELFv2 is okay, including > the implementation of command line switches.
Thanks for the review, David! > There appear to be a few new regressions on AIX for > compat/struct-layout that need to be analyzed and addressed. I've looked into these a bit more. I'm seeing new failures: FAIL: tmpdir-g++.dg-struct-layout-1/t029 cp_compat_x_tst.o-cp_compat_y_tst.o execute FAIL: tmpdir-g++.dg-struct-layout-1/t030 cp_compat_x_tst.o-cp_compat_y_tst.o execute and looking into these, there are a total of 7 sub-tests that fail: t029: test2852 t029: test2865 t030: test2915 t030: test2961 t030: test2962 t030: test2966 t030: test2984 Now, every single one of them fails not on any ABI test, but already on the preliminary check that the structure is properly aligned: in g++.dg/compat/struct-layout-1_x1.h: void test##n (void) \ { \ int i, j; \ memset (&s##n, '\0', sizeof (s##n)); \ memset (a##n, '\0', sizeof (a##n)); \ memset (&info, '\0', sizeof (info)); \ info.sp = &s##n; \ info.a0p = &a##n[0]; \ info.a3p = &a##n[3]; \ info.sz = sizeof (s##n); \ info.als = __alignof__ (s##n); \ info.ala0 = __alignof__ (a##n[0]); \ info.ala3 = __alignof__ (a##n[3]); \ if (((long) (__SIZE_TYPE__) &a##n[3]) & (info.als - 1)) \ FAIL (n, 1); \ In all seven cases, info.als is 64, so for some reason the structure is supposed to be 64-byte aligned, but the actual location of the struct in memory does not respect that, so the FAIL is invoked here. Interestingly, I've seen the same test fail with the 4.6.0 baseline compiler installed on the system. My assumption would be that this is simply a pre-existing bug (either the alignment is computed incorrectly, or it is not being respected properly throughout the toolchain), and you were seeing successful runs in the past simply because the structs just happened to end up at aligned addresses ... Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com