[Bug debug/100383] New: cfi sections directive detection fails with binutils 2.36

ssbssa at yahoo dot de gcc-bugzilla@gcc.gnu.org
Sun May 2 14:57:24 GMT 2021


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

            Bug ID: 100383
           Summary: cfi sections directive detection fails with binutils
                    2.36
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ssbssa at yahoo dot de
  Target Milestone: ---

Since binutils 2.36 [1], the objdump output [2] of the cfi sections directive
detection command (objdump -j .debug_frame -r conftest.o) changed from:

    conftest.o:     file format pe-x86-64

    RELOCATION RECORDS FOR [.debug_frame]:
    OFFSET           TYPE              VALUE
    000000000000001c secrel32          .debug_frame
    0000000000000020 R_X86_64_64       .text

to:

    conftest.o:     file format pe-x86-64

    RELOCATION RECORDS FOR [.debug_frame]:
    OFFSET           TYPE              VALUE
    000000000000001c IMAGE_REL_AMD64_SECREL  .debug_frame
    0000000000000020 IMAGE_REL_AMD64_ADDR64  .text

So because it's now uppercase SECREL, the `grep secrel` fails.

I haven't finished my build yet, but it should work like this:

    --- a/gcc/configure.ac
    +++ b/gcc/configure.ac
    @@ -3115,7 +3115,7 @@ gcc_GAS_CHECK_FEATURE([cfi sections directive],
         gcc_cv_as_cfi_sections_directive=no
         if test "x$gcc_cv_objdump" != x; then
          if $gcc_cv_objdump -j .debug_frame -r conftest.o 2>/dev/null | \
    -       grep secrel > /dev/null; then
    +       grep -i secrel > /dev/null; then
           gcc_cv_as_cfi_sections_directive=yes
          fi
         fi



[1]
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ec6653d824fef41298fdb384ba74bcbc7be0dc22
[2]
https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/configure.ac;h=84dceb8074ab4615316e09f1f339ed93eca6d6e9;hb=refs/heads/releases/gcc-10#l3117


More information about the Gcc-bugs mailing list