[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