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

            Bug ID: 82301
           Summary: [8 regression] Updated test case
                    g++.dg/ext/attr-ifunc-1.C (and others) in r253041
                    segfault on powerpc64
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: seurer at gcc dot gnu.org
  Target Milestone: ---

A bunch of test cases were updated at or just before r253041 and they fail on
powerpc64.  Just BE, LE works fine.

> FAIL: g++.dg/ext/attr-ifunc-1.C  -std=gnu++11 execution test
> FAIL: g++.dg/ext/attr-ifunc-1.C  -std=gnu++14 execution test
> FAIL: g++.dg/ext/attr-ifunc-1.C  -std=gnu++98 execution test
> FAIL: g++.dg/ext/attr-ifunc-2.C  -std=gnu++11 execution test
> FAIL: g++.dg/ext/attr-ifunc-2.C  -std=gnu++14 execution test
> FAIL: g++.dg/ext/attr-ifunc-2.C  -std=gnu++98 execution test
> FAIL: g++.dg/ext/attr-ifunc-3.C  -std=gnu++11 execution test
> FAIL: g++.dg/ext/attr-ifunc-3.C  -std=gnu++14 execution test
> FAIL: g++.dg/ext/attr-ifunc-3.C  -std=gnu++98 execution test
> FAIL: g++.dg/ext/attr-ifunc-4.C  -std=gnu++11 execution test
> FAIL: g++.dg/ext/attr-ifunc-4.C  -std=gnu++14 execution test
> FAIL: g++.dg/ext/attr-ifunc-4.C  -std=gnu++98 execution test

They seem to be segfaulting:

(gdb) run
Starting program: /home/seurer/gcc/build/gcc-test2/./attr-ifunc-1.exe 

Program received signal SIGSEGV, Segmentation fault.
0x0000000010000680 in Klass::resolver () at
/home/seurer/gcc/gcc-test2/gcc/testsuite/g++.dg/ext/attr-ifunc-1.C:26
26        return &Klass::implementation;
(gdb) where
#0  0x0000000010000680 in Klass::resolver () at
/home/seurer/gcc/gcc-test2/gcc/testsuite/g++.dg/ext/attr-ifunc-1.C:26
#1  0x00003fffb7fc2fb0 in resolve_ifunc (sym_map=0x3fffb7ff1ed0,
map=0x3fffb7ff1ed0, value=<optimized out>) at
../sysdeps/powerpc/powerpc64/dl-machine.h:630
#2  elf_machine_rela (skip_ifunc=<optimized out>, reloc_addr_arg=0x10010e88,
version=<optimized out>, sym=<optimized out>, reloc=0x100003c0,
map=0x3fffb7ff1ed0)
    at ../sysdeps/powerpc/powerpc64/dl-machine.h:691
#3  elf_dynamic_do_Rela (skip_ifunc=<optimized out>, lazy=<optimized out>,
nrelative=<optimized out>, relsize=<optimized out>, reladdr=<optimized out>, 
    map=0x3fffb7ff1ed0) at do-rel.h:137
#4  _dl_relocate_object (scope=0x3fffb7ff2248, reloc_mode=<optimized out>,
consider_profiling=<optimized out>) at dl-reloc.c:259
#5  0x00003fffb7fb73b8 in dl_main (phdr=<optimized out>, phnum=<optimized out>,
user_entry=0x3fffffffea70, auxv=<optimized out>) at rtld.c:2313
#6  0x00003fffb7fd2634 in _dl_sysdep_start (start_argptr=<optimized out>,
dl_main=@0x3fffb7ff0140: 0x3fffb7fb5400 <dl_main>) at ../elf/dl-sysdep.c:244
#7  0x00003fffb7fb3f48 in _dl_start_final (arg=arg@entry=0x3ffffffff150,
info=info@entry=0x3fffffffebd0) at rtld.c:412
#8  0x00003fffb7fb4c28 in _dl_start (arg=0x3ffffffff150) at rtld.c:640
#9  0x00003fffb7fb3c10 in ._start () from /lib64/ld64.so.1


Some of these at least used to be marked as unsupported.

Reply via email to