Fix for incorrect breakpoint set in case of flang compiled binary
authorAlok Kumar Sharma <AlokKumar.Sharma@amd.com>
Thu, 20 Aug 2020 05:05:27 +0000 (10:35 +0530)
committerAlok Kumar Sharma <AlokKumar.Sharma@amd.com>
Thu, 20 Aug 2020 05:08:59 +0000 (10:38 +0530)
commitc2fd7faea8f2c3a267f276ceb6a95f9f537ea7c1
tree13ba6ecf6e6cb212269d5d01a0b97ea0112b307f
parenta0522545b6ef4dd43f976d6acb4fd2b0aa964b27
Fix for incorrect breakpoint set in case of flang compiled binary

  Currently, GDB is not able to set a breakpoint at subprogram post
prologue for flang generated binaries. This is due to clang having
two line notes one before and another after the prologue.
  Now the end of prologue is determined using symbol table, which was
the way for clang generated binaries already. Since clang and flang
both share same back-end it is true for flang as well.

gdb/ChangeLog

      * amd64-tdep.c (amd64_skip_prologue): Using symbol table
      to find the end of prologue for flang compiled binaries.
      * arm-tdep.c (arm_skip_prologue): Likewise.
      * i386-tdep.c (i386_skip_prologue): Likewise.
      * producer.c (producer_is_llvm): New function.
      (producer_parsing_tests): Added new tests for clang/flang.
      * producer.h (producer_is_llvm): New declaration.

gdb/testsuite/ChangeLog

      * gdb.fortran/vla-type.exp: Skip commands not required for
      the Flang compiled binaries after prologue fix.
gdb/ChangeLog
gdb/amd64-tdep.c
gdb/arm-tdep.c
gdb/i386-tdep.c
gdb/producer.c
gdb/producer.h
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.fortran/vla-type.exp