* [PATCH] LoongArch: implemented a basic machine flag check
@ 2023-03-20 14:45 Alexey Sheplyakov
2023-03-20 22:35 ` Mark Wielaard
0 siblings, 1 reply; 2+ messages in thread
From: Alexey Sheplyakov @ 2023-03-20 14:45 UTC (permalink / raw)
To: elfutils-devel; +Cc: Alexey Sheplyakov
With this patch I can use eu-elflint to verify LoongArch ELF
binaries. Previously eu-elflint was complaining about invalid
machine flags:
$ ./src/elflint --gnu-ld ./src/elflint
invalid machine flags: 0x43
$ echo $?
1
Signed-off-by: Alexey Sheplyakov <asheplyakov@basealt.ru>
---
backends/loongarch_init.c | 1 +
backends/loongarch_symbol.c | 7 +++++++
2 files changed, 8 insertions(+)
diff --git a/backends/loongarch_init.c b/backends/loongarch_init.c
index a8ed9e81..59d8cc3d 100644
--- a/backends/loongarch_init.c
+++ b/backends/loongarch_init.c
@@ -45,6 +45,7 @@ loongarch_init (Elf *elf __attribute__ ((unused)),
{
loongarch_init_reloc (eh);
HOOK (eh, reloc_simple_type);
+ HOOK (eh, machine_flag_check);
return eh;
}
diff --git a/backends/loongarch_symbol.c b/backends/loongarch_symbol.c
index 8ba66a09..43306ab8 100644
--- a/backends/loongarch_symbol.c
+++ b/backends/loongarch_symbol.c
@@ -72,3 +72,10 @@ loongarch_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
return ELF_T_NUM;
}
}
+
+bool
+loongarch_machine_flag_check (GElf_Word flags)
+{
+ return ((flags &~ (EF_LARCH_ABI_MODIFIER_MASK
+ | EF_LARCH_OBJABI_V1)) == 0);
+}
--
2.33.5
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] LoongArch: implemented a basic machine flag check
2023-03-20 14:45 [PATCH] LoongArch: implemented a basic machine flag check Alexey Sheplyakov
@ 2023-03-20 22:35 ` Mark Wielaard
0 siblings, 0 replies; 2+ messages in thread
From: Mark Wielaard @ 2023-03-20 22:35 UTC (permalink / raw)
To: Alexey Sheplyakov; +Cc: elfutils-devel
Hi Alexey,
On Mon, Mar 20, 2023 at 06:45:02PM +0400, Alexey Sheplyakov wrote:
> With this patch I can use eu-elflint to verify LoongArch ELF
> binaries. Previously eu-elflint was complaining about invalid
> machine flags:
>
> $ ./src/elflint --gnu-ld ./src/elflint
> invalid machine flags: 0x43
> $ echo $?
> 1
Thanks. I quickly peeked at the LoongArch ELF ABI specification and
this is precisely what needs to be checked.
Added a ChangeLog entry to the commit message, a reference to the
bug you filed and pushed.
Cheers,
Mark
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-03-20 22:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-20 14:45 [PATCH] LoongArch: implemented a basic machine flag check Alexey Sheplyakov
2023-03-20 22:35 ` 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).