[Bug target/85345] New: Missing ENDBR in IFUNC resolver

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed Apr 11 12:40:00 GMT 2018


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

            Bug ID: 85345
           Summary: Missing ENDBR in IFUNC resolver
           Product: gcc
           Version: 8.0.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hjl.tools at gmail dot com
                CC: igor.v.tsimbalist at intel dot com
            Blocks: 81652
  Target Milestone: ---
            Target: x86_64-*-*, i?86-*-*

[hjl@gnu-cet-1 gcc]$ /export/build/gnu/gcc-cet/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc-cet/build-x86_64-linux/gcc/
/export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/pr81128.c
-fcf-protection -mcet
-B/export/build/gnu/gcc-cet/build-x86_64-linux/x86_64-pc-linux-gnu/./libmpx/
-B/export/build/gnu/gcc-cet/build-x86_64-linux/x86_64-pc-linux-gnu/./libmpx/mpxrt
-L/export/build/gnu/gcc-cet/build-x86_64-linux/x86_64-pc-linux-gnu/./libmpx/mpxrt/.libs
-B/export/build/gnu/gcc-cet/build-x86_64-linux/x86_64-pc-linux-gnu/./libmpx/
-B/export/build/gnu/gcc-cet/build-x86_64-linux/x86_64-pc-linux-gnu/./libmpx/mpxwrap
-L/export/build/gnu/gcc-cet/build-x86_64-linux/x86_64-pc-linux-gnu/./libmpx/mpxwrap/.libs
-fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -g
[hjl@gnu-cet-1 gcc]$ gdb a.out 
GNU gdb (GDB) Fedora 8.1-11.fc28
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from a.out...done.
(gdb) r
Starting program:
/export/build/gnu/gcc-cet/build-x86_64-linux/gcc/testsuite/gcc/a.out 
Missing separate debuginfos, use: dnf debuginfo-install
glibc-2.27-8.4.fc28.x86_64

Program received signal SIGSEGV, Segmentation fault.
resolve_do_it_right_at_runtime ()
    at
/export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/pr81128.c:33
33        srand (time (NULL));
(gdb) bt
#0  resolve_do_it_right_at_runtime ()
    at
/export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/pr81128.c:33
#1  0x00007ffff7ea01c8 in _dl_relocate_object ()
   from /lib64/ld-linux-x86-64.so.2
#2  0x00007ffff7e9848f in dl_main () from /lib64/ld-linux-x86-64.so.2
#3  0x00007ffff7eada2f in _dl_sysdep_start () from /lib64/ld-linux-x86-64.so.2
#4  0x00007ffff7e961b8 in _dl_start () from /lib64/ld-linux-x86-64.so.2
#5  0x00007ffff7e95108 in _start () from /lib64/ld-linux-x86-64.so.2
#6  0x0000000000000001 in ?? ()
#7  0x00007fffffffda3c in ?? ()
#8  0x0000000000000000 in ?? ()
(gdb) disass
Dump of assembler code for function resolve_do_it_right_at_runtime:
=> 0x0000000000401220 <+0>:     sub    $0x8,%rsp   <<< Missing ENDBR
   0x0000000000401224 <+4>:     xor    %edi,%edi
   0x0000000000401226 <+6>:     callq  0x4010a0 <time@plt>
   0x000000000040122b <+11>:    mov    %eax,%edi
   0x000000000040122d <+13>:    callq  0x401090 <srand@plt>
   0x0000000000401232 <+18>:    callq  0x4010b0 <rand@plt>
   0x0000000000401237 <+23>:    addl   $0x1,0x2e1a(%rip)        # 0x404058
<resolver_fn>
   0x000000000040123e <+30>:    mov    $0x401260,%edx
   0x0000000000401243 <+35>:    test   $0x1,%al
   0x0000000000401245 <+37>:    mov    $0x401210,%eax
   0x000000000040124a <+42>:    cmove  %rdx,%rax
   0x000000000040124e <+46>:    add    $0x8,%rsp
   0x0000000000401252 <+50>:    retq   
End of assembler dump.
(gdb)


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81652
[Bug 81652] [meta-bug] -fcf-protection=full -mcet bugs


More information about the Gcc-bugs mailing list