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

            Bug ID: 33962
           Summary: .cfi_sections directive with .sframe on unsupported
                    targets does not error
           Product: binutils
           Version: 2.46
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: indu.bhagat at oracle dot com
  Target Milestone: ---

(Creating bug based on a report from a user)

Starting with Binutils 2.46 (current release branch) the assembler directive
.cfi_sections .sframe changed in behavior.  It no longer triggers an error when
used with x86_64 assembler options --32 or --x32.  Instead .sframe is silently
not generated.  Assembler option --gsframe still triggers an error when used
with --32
or --x32.


Binutils < 2.46 (e.g. 2.45):

printf ".cfi_sections .sframe\n.cfi_startproc\n.cfi_endproc\n" | as ; echo $?
0
$ printf ".cfi_sections .sframe\n.cfi_startproc\n.cfi_endproc\n" | as --64 ;
echo $?
0
$ printf ".cfi_sections .sframe\n.cfi_startproc\n.cfi_endproc\n" | as --32 ;
echo $?
{standard input}: Assembler messages:
{standard input}: Error: .sframe not supported for target
1
$ printf ".cfi_sections .sframe\n.cfi_startproc\n.cfi_endproc\n" | as --x32 ;
echo $?
{standard input}: Assembler messages:
{standard input}: Error: .sframe not supported for target
1


Binutils 2.46+:

$ printf ".cfi_sections .sframe\n.cfi_startproc\n.cfi_endproc\n" | as ; echo $?
0
$ printf ".cfi_sections .sframe\n.cfi_startproc\n.cfi_endproc\n" | as --64 ;
echo $?
0
$ printf ".cfi_sections .sframe\n.cfi_startproc\n.cfi_endproc\n" | as --32 ;
echo $?
0
$ printf ".cfi_sections .sframe\n.cfi_startproc\n.cfi_endproc\n" | as --x32 ;
echo $?
0

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

Reply via email to