public inbox for glibc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug libc/29749] New: clarify usage of .cfi_label in riscv start.S
@ 2022-11-04 11:20 alex.fan.q at gmail dot com
2022-11-04 11:23 ` [Bug libc/29749] " alex.fan.q at gmail dot com
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: alex.fan.q at gmail dot com @ 2022-11-04 11:20 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=29749
Bug ID: 29749
Summary: clarify usage of .cfi_label in riscv start.S
Product: glibc
Version: unspecified
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: libc
Assignee: unassigned at sourceware dot org
Reporter: alex.fan.q at gmail dot com
CC: drepper.fsp at gmail dot com
Target Milestone: ---
riscv's start.S includes a `.cfi_label dummy` directive in [1]. The comment
above it says
> use a dummy .cfi_label to force starting the FDE.`
but as I understand it, `ENTRY (ENTRY_POINT)` macro includes a
`.cfi_startproc`, which should already do the same thing as comment suggests.
This directive was introduced in
https://sourceware.org/bugzilla/show_bug.cgi?id=23125 , but the original patch
in the first comment didn't include cfi_label and works as reported.
Zig compilation gets stuck on this directive as clang doesn't support it [2].
Can I get some help to clarify this directive and whether it is okay to remove
it?
[1]
https://github.com/bminor/glibc/blob/8c77e26ba8b360c851b2b9485bb4431aacc51ad1/sysdeps/riscv/start.S#L48
[2] https://github.com/ziglang/zig/issues/3340
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/29749] clarify usage of .cfi_label in riscv start.S 2022-11-04 11:20 [Bug libc/29749] New: clarify usage of .cfi_label in riscv start.S alex.fan.q at gmail dot com @ 2022-11-04 11:23 ` alex.fan.q at gmail dot com 2022-11-04 11:31 ` alex.fan.q at gmail dot com ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: alex.fan.q at gmail dot com @ 2022-11-04 11:23 UTC (permalink / raw) To: glibc-bugs https://sourceware.org/bugzilla/show_bug.cgi?id=29749 --- Comment #1 from Alex Fan <alex.fan.q at gmail dot com> --- btw, this issue originally opened at https://github.com/riscv-collab/riscv-gnu-toolchain/issues/1149 and I was suggested to report it here. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/29749] clarify usage of .cfi_label in riscv start.S 2022-11-04 11:20 [Bug libc/29749] New: clarify usage of .cfi_label in riscv start.S alex.fan.q at gmail dot com 2022-11-04 11:23 ` [Bug libc/29749] " alex.fan.q at gmail dot com @ 2022-11-04 11:31 ` alex.fan.q at gmail dot com 2022-11-05 5:15 ` alex.fan.q at gmail dot com ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: alex.fan.q at gmail dot com @ 2022-11-04 11:31 UTC (permalink / raw) To: glibc-bugs https://sourceware.org/bugzilla/show_bug.cgi?id=29749 Alex Fan <alex.fan.q at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |schwab@linux-m68k.org -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/29749] clarify usage of .cfi_label in riscv start.S 2022-11-04 11:20 [Bug libc/29749] New: clarify usage of .cfi_label in riscv start.S alex.fan.q at gmail dot com 2022-11-04 11:23 ` [Bug libc/29749] " alex.fan.q at gmail dot com 2022-11-04 11:31 ` alex.fan.q at gmail dot com @ 2022-11-05 5:15 ` alex.fan.q at gmail dot com 2022-11-08 15:38 ` schwab@linux-m68k.org 2022-11-11 13:16 ` alex.fan.q at gmail dot com 4 siblings, 0 replies; 6+ messages in thread From: alex.fan.q at gmail dot com @ 2022-11-05 5:15 UTC (permalink / raw) To: glibc-bugs https://sourceware.org/bugzilla/show_bug.cgi?id=29749 Alex Fan <alex.fan.q at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph at codesourcery dot com -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/29749] clarify usage of .cfi_label in riscv start.S 2022-11-04 11:20 [Bug libc/29749] New: clarify usage of .cfi_label in riscv start.S alex.fan.q at gmail dot com ` (2 preceding siblings ...) 2022-11-05 5:15 ` alex.fan.q at gmail dot com @ 2022-11-08 15:38 ` schwab@linux-m68k.org 2022-11-11 13:16 ` alex.fan.q at gmail dot com 4 siblings, 0 replies; 6+ messages in thread From: schwab@linux-m68k.org @ 2022-11-08 15:38 UTC (permalink / raw) To: glibc-bugs https://sourceware.org/bugzilla/show_bug.cgi?id=29749 --- Comment #2 from Andreas Schwab <schwab@linux-m68k.org> --- .cfi_startproc does *not* start the FDE. Without .cfi_label, the DW_CFA_undefined directive is part of the CIE. $ readelf -wf csu/start.o Contents of the .eh_frame section: 00000000 0000000000000014 00000000 CIE Version: 3 Augmentation: "zR" Code alignment factor: 1 Data alignment factor: -4 Return address column: 1 Augmentation data: 1b DW_CFA_def_cfa_register: r2 (sp) DW_CFA_undefined: r1 (ra) DW_CFA_nop DW_CFA_nop DW_CFA_nop 00000018 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000002..000000000000002c DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/29749] clarify usage of .cfi_label in riscv start.S 2022-11-04 11:20 [Bug libc/29749] New: clarify usage of .cfi_label in riscv start.S alex.fan.q at gmail dot com ` (3 preceding siblings ...) 2022-11-08 15:38 ` schwab@linux-m68k.org @ 2022-11-11 13:16 ` alex.fan.q at gmail dot com 4 siblings, 0 replies; 6+ messages in thread From: alex.fan.q at gmail dot com @ 2022-11-11 13:16 UTC (permalink / raw) To: glibc-bugs https://sourceware.org/bugzilla/show_bug.cgi?id=29749 --- Comment #3 from Alex Fan <alex.fan.q at gmail dot com> --- (In reply to Andreas Schwab from comment #2) > .cfi_startproc does *not* start the FDE. Without .cfi_label, the > DW_CFA_undefined directive is part of the CIE. I find llvm assembler puts it into fde without needing .cfi_label. Is cfi_startproc meant to mark start of a function frame and fde is per function? rv64d-dev0 /tmp # llvm-mc --filetype=obj -o=test.o test.s rv64d-dev0 /tmp # objdump --dwarf test.o test.o: file format elf64-littleriscv Contents of the .eh_frame section: 00000000 0000000000000010 00000000 CIE Version: 1 Augmentation: "zR" Code alignment factor: 1 Data alignment factor: -8 Return address column: 1 Augmentation data: 1b DW_CFA_def_cfa: r2 (sp) ofs 0 00000014 0000000000000010 00000018 FDE cie=00000000 pc=000000000000001c..0000000000000020 DW_CFA_undefined: r1 (ra) DW_CFA_nop -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-11-11 13:16 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-11-04 11:20 [Bug libc/29749] New: clarify usage of .cfi_label in riscv start.S alex.fan.q at gmail dot com 2022-11-04 11:23 ` [Bug libc/29749] " alex.fan.q at gmail dot com 2022-11-04 11:31 ` alex.fan.q at gmail dot com 2022-11-05 5:15 ` alex.fan.q at gmail dot com 2022-11-08 15:38 ` schwab@linux-m68k.org 2022-11-11 13:16 ` alex.fan.q at gmail dot com
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).