https://sourceware.org/bugzilla/show_bug.cgi?id=30853

            Bug ID: 30853
           Summary: strange 'return column' register in CIE
           Product: binutils
           Version: 2.39
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: eric.pouech at orange dot fr
  Target Milestone: ---

using this input:
<<<<<
        .text
        .globl func
func:
        .cfi_startproc
        ret
        .cfi_endproc
<<<<<

[eric]$ x86_64-w64-mingw32-as b.s && objdump -W a.out

a.out:     file format pe-x86-64

Contents of the .eh_frame section:


00000000 0000000000000014 00000000 CIE
  Version:               1
  Augmentation:          "zR"
  Code alignment factor: 1
  Data alignment factor: -8
  Return address column: 32
  Augmentation data:     1b
  DW_CFA_def_cfa: r7 (rsp) ofs 8
  DW_CFA_offset: r32 (xmm15) at cfa-8
  DW_CFA_nop
  DW_CFA_nop

the return address column of 32 (xmm15) looks rather strange

while running the same with as returns the expected values
00000000 0000000000000014 00000000 CIE
  Version:               1
  Augmentation:          "zR"
  Code alignment factor: 1
  Data alignment factor: -8
  Return address column: 16
  Augmentation data:     1b
  DW_CFA_def_cfa: r7 (rsp) ofs 8
  DW_CFA_offset: r16 (rip) at cfa-8
  DW_CFA_nop
  DW_CFA_nop

so it may have been fixed upstream, but a cursory look didn't point me at any
changes.
Also, any suggestion of a work around?

[eric]$ LANG=C x86_64-w64-mingw32-as --version
GNU assembler version 2.39-7.fc38
Copyright (C) 2022 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-w64-mingw32'.

[eric]$ LANG=C as --version
GNU assembler version 2.39-9.fc38
Copyright (C) 2022 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-redhat-linux'.

[eric]$ LANG=C uname -a
Linux fedora 6.4.15-200.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep  7 00:25:01
UTC 2023 x86_64 GNU/Linux

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to