* Subject: [PATCH] Make elflint and libebl understand .rela.eh_frame like other section type
@ 2020-11-13 14:47 Navin P
2020-11-17 14:14 ` Mark Wielaard
0 siblings, 1 reply; 4+ messages in thread
From: Navin P @ 2020-11-13 14:47 UTC (permalink / raw)
To: elfutils-devel
Hi,
elflint doesn't recognize .rela.eh_frame like it does for other .rela sections.
Signed-off-by: Navin P <navinp0304@gmail.com>
---
libebl/eblcheckreloctargettype.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libebl/eblcheckreloctargettype.c b/libebl/eblcheckreloctargettype.c
index 068ad8f1..9d814d27 100644
--- a/libebl/eblcheckreloctargettype.c
+++ b/libebl/eblcheckreloctargettype.c
@@ -47,6 +47,7 @@ ebl_check_reloc_target_type (Ebl *ebl, Elf64_Word sh_type)
case SHT_FINI_ARRAY:
case SHT_PREINIT_ARRAY:
case SHT_NOTE:
+ case SHT_X86_64_UNWIND: // required by .rela.eh_frame
return true;
default:
--
2.25.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Subject: [PATCH] Make elflint and libebl understand .rela.eh_frame like other section type
2020-11-13 14:47 Subject: [PATCH] Make elflint and libebl understand .rela.eh_frame like other section type Navin P
@ 2020-11-17 14:14 ` Mark Wielaard
2020-11-18 4:38 ` Navin P
0 siblings, 1 reply; 4+ messages in thread
From: Mark Wielaard @ 2020-11-17 14:14 UTC (permalink / raw)
To: Navin P, elfutils-devel
[-- Attachment #1: Type: text/plain, Size: 437 bytes --]
Hi Navin,
On Fri, 2020-11-13 at 20:17 +0530, Navin P via Elfutils-devel wrote:
> elflint doesn't recognize .rela.eh_frame like it does for other
> .rela sections.
Timm also noticed https://sourceware.org/bugzilla/show_bug.cgi?id=26878
I have an alternative patch that only recognizes SHT_X86_64_UNWIND for
x86_64, because it is an architecture specific section type.
Does the attached work for you?
Thanks,
Mark
[-- Attachment #2: 0001-backends-Handle-SHT_X86_64_UNWIND-as-valid-relocatio.patch --]
[-- Type: text/x-patch, Size: 1861 bytes --]
From 00a25cf38d56bacae6b82c79cf226c22d12295a5 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Tue, 17 Nov 2020 15:08:05 +0100
Subject: [PATCH] backends: Handle SHT_X86_64_UNWIND as valid relocation target
type.
The x86_64 abi defines a special section type for .eh_frame[_hdr],
SHT_X86_64_UNWIND, which is a valid relocation target type.
https://sourceware.org/bugzilla/show_bug.cgi?id=26878
Signed-off-by: Mark Wielaard <mark@klomp.org>
---
backends/ChangeLog | 5 +++++
backends/x86_64_init.c | 1 +
backends/x86_64_symbol.c | 8 ++++++++
3 files changed, 14 insertions(+)
diff --git a/backends/ChangeLog b/backends/ChangeLog
index 81d4127c..e88dedf9 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -1,3 +1,8 @@
+2020-11-17 Mark Wielard <mark@klomp.org>
+
+ * x86_64_symbol.c (x86_64_check_reloc_target_type): New function.
+ * x86_64_init.c (x86_64_init): Hook check_reloc_target_type.
+
2020-10-19 Mark Wielard <mark@klomp.org>
* Makefile.am (modules): Remove tilegx.
diff --git a/backends/x86_64_init.c b/backends/x86_64_init.c
index 8db9b643..be965fa6 100644
--- a/backends/x86_64_init.c
+++ b/backends/x86_64_init.c
@@ -63,6 +63,7 @@ x86_64_init (Elf *elf __attribute__ ((unused)),
eh->frame_nregs = 17;
HOOK (eh, set_initial_registers_tid);
HOOK (eh, unwind);
+ HOOK (eh, check_reloc_target_type);
return eh;
}
diff --git a/backends/x86_64_symbol.c b/backends/x86_64_symbol.c
index 98457bcb..d5f62e8f 100644
--- a/backends/x86_64_symbol.c
+++ b/backends/x86_64_symbol.c
@@ -71,3 +71,11 @@ x86_64_section_type_name (int type,
return NULL;
}
+
+/* The SHT_X86_64_UNWIND section type is a valid target for relocation. */
+bool
+x86_64_check_reloc_target_type (Ebl *ebl __attribute__ ((unused)),
+ Elf64_Word sh_type)
+{
+ return sh_type == SHT_X86_64_UNWIND;
+}
--
2.18.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Subject: [PATCH] Make elflint and libebl understand .rela.eh_frame like other section type
2020-11-17 14:14 ` Mark Wielaard
@ 2020-11-18 4:38 ` Navin P
2020-11-18 10:44 ` Mark Wielaard
0 siblings, 1 reply; 4+ messages in thread
From: Navin P @ 2020-11-18 4:38 UTC (permalink / raw)
To: Mark Wielaard; +Cc: elfutils-devel
with clang compiler build, before applying this patch 3 tests were
failing and after
applying the patch all tests pass.
your patch is much better as it fixes the backend.
On Tue, Nov 17, 2020 at 7:44 PM Mark Wielaard <mark@klomp.org> wrote:
>
> Hi Navin,
>
>
> On Fri, 2020-11-13 at 20:17 +0530, Navin P via Elfutils-devel wrote:
> > elflint doesn't recognize .rela.eh_frame like it does for other
> > .rela sections.
>
> Timm also noticed https://sourceware.org/bugzilla/show_bug.cgi?id=26878
>
> I have an alternative patch that only recognizes SHT_X86_64_UNWIND for
> x86_64, because it is an architecture specific section type.
>
> Does the attached work for you?
>
> Thanks,
>
> Mark
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Subject: [PATCH] Make elflint and libebl understand .rela.eh_frame like other section type
2020-11-18 4:38 ` Navin P
@ 2020-11-18 10:44 ` Mark Wielaard
0 siblings, 0 replies; 4+ messages in thread
From: Mark Wielaard @ 2020-11-18 10:44 UTC (permalink / raw)
To: Navin P; +Cc: elfutils-devel
Hi Navin,
On Wed, 2020-11-18 at 10:08 +0530, Navin P via Elfutils-devel wrote:
> with clang compiler build, before applying this patch 3 tests were
> failing and after
> applying the patch all tests pass.
> your patch is much better as it fixes the backend.
Great, thanks for testing. I pushed it now.
Cheers,
Mark
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-11-18 10:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-13 14:47 Subject: [PATCH] Make elflint and libebl understand .rela.eh_frame like other section type Navin P
2020-11-17 14:14 ` Mark Wielaard
2020-11-18 4:38 ` Navin P
2020-11-18 10:44 ` Mark Wielaard
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).