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.