[Bug target/89592] New: FAIL: tmpdir-g++.dg-struct-layout-1/t025 cp_compat_x_alt.o-cp_compat_y_tst.o execute against GCC4.8

amker at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Mar 5 10:07:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89592

            Bug ID: 89592
           Summary: FAIL: tmpdir-g++.dg-struct-layout-1/t025
                    cp_compat_x_alt.o-cp_compat_y_tst.o execute against
                    GCC4.8
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: amker at gcc dot gnu.org
  Target Milestone: ---

Created attachment 45892
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45892&action=edit
t025_y.E

With X86_64 host GCC4.8 configured as below:
../configure --prefix=/usr --enable-bootstrap --enable-shared
--enable-threads=posix --enable-checking=release --with-system-zlib
--enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object
--enable-linker-build-id --with-linker-hash-style=gnu
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin
--enable-initfini-array --disable-libgcj --with-isl=... --with-cloog=...
--enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64
--build=x86_64-redhat-linux

Configuring/building GCC6.5 as below:
../configure --enable-bootstrap
--enable-languages=c,c++,objc,obj-c++,fortran,go,lto --prefix=/usr
--enable-shared --enable-threads=posix --enable-checking=release
--enable-multilib --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-linker-build-id --with-linker-hash-style=gnu --enable-plugin
--enable-initfini-array --disable-libgcj --without-isl --disable-libmpx
--enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 

We have below test case failure:
FAIL: tmpdir-g++.dg-struct-layout-1/t025 cp_compat_x_alt.o-cp_compat_y_tst.o
execute

Attachment is reduced callee site code, compiling with following command line:

$ g++  -w  -mno-mmx -Wno-abi   -S   -o 48.S -xc++ t025_y.E -g

with GCC4.8, we have:
        movl    $0, -4(%rbp)
        movl    $0, -8(%rbp)
        .loc 1 26 0
        movl    -64(%rbp), %edx
        movl    s2227(%rip), %eax
        cmpl    %eax, %edx
        je      .L2

while with GCC6.5/GCC9, we have:
        movl    $0, -4(%rbp)
        movl    $0, -8(%rbp)
        .loc 1 26 0
        movl    16(%rbp), %edx
        movl    s2227(%rip), %eax
        cmpl    %eax, %edx

Given it checks compatibility between this GCC against old(4.8) one, there must
be change in layout the structure from 4.8 to 6.5.  Or I am missing something?


More information about the Gcc-bugs mailing list