Date: Thu, 23 Mar 2017 08:43:20 +0100 From: Ed Schouten <ed@nuxi.nl> To: Konstantin Belousov <kostikbel@gmail.com> Cc: Ed Schouten <ed@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r315701 - in head/sys: amd64/cloudabi32 amd64/cloudabi64 arm/cloudabi32 arm64/cloudabi64 i386/cloudabi32 Message-ID: <CABh_MK=Gge1oSJ9ERvvNCeEW2F6omLiLAVqEYQ1sdG5oVoVZVg@mail.gmail.com> In-Reply-To: <20170322230026.GV43712@kib.kiev.ua> References: <201703220705.v2M75RHE066483@repo.freebsd.org> <20170322090258.GR43712@kib.kiev.ua> <CABh_MKmEMidUHFXw1fpwb8TP7qEktnFPgXH4UUvmu2bmhdgiqA@mail.gmail.com> <20170322230026.GV43712@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Hi Kostik,
2017-03-23 0:00 GMT+01:00 Konstantin Belousov <kostikbel@gmail.com>:
> On Wed, Mar 22, 2017 at 03:16:24PM +0100, Ed Schouten wrote:
>> Similarly, I seem to remember CloudABI's brandinfos set compat_3_brand
>> for a similar reason: it seems to be required by imgact_elf.c. Would
>> we also want to change that?
>
> Could you please try this ?
Thanks! I just gave the patch a try, but the comparison added to
imgact_elf.c now causes the brandinfo to be skipped entirely. Attached
is a patch that does work for me.
--
Ed Schouten <ed@nuxi.nl>
Nuxi, 's-Hertogenbosch, the Netherlands
KvK-nr.: 62051717
[-- Attachment #2 --]
Index: sys/amd64/cloudabi32/cloudabi32_sysvec.c
===================================================================
--- sys/amd64/cloudabi32/cloudabi32_sysvec.c (revision 315828)
+++ sys/amd64/cloudabi32/cloudabi32_sysvec.c (working copy)
@@ -227,6 +227,5 @@
.brand = ELFOSABI_CLOUDABI,
.machine = EM_386,
.sysvec = &cloudabi32_elf_sysvec,
- .compat_3_brand = "CloudABI",
.flags = BI_BRAND_ONLY_STATIC,
};
Index: sys/amd64/cloudabi64/cloudabi64_sysvec.c
===================================================================
--- sys/amd64/cloudabi64/cloudabi64_sysvec.c (revision 315828)
+++ sys/amd64/cloudabi64/cloudabi64_sysvec.c (working copy)
@@ -213,5 +213,4 @@
.machine = EM_X86_64,
.sysvec = &cloudabi64_elf_sysvec,
.flags = BI_CAN_EXEC_DYN | BI_BRAND_ONLY_STATIC,
- .compat_3_brand = "CloudABI",
};
Index: sys/arm/cloudabi32/cloudabi32_sysvec.c
===================================================================
--- sys/arm/cloudabi32/cloudabi32_sysvec.c (revision 315828)
+++ sys/arm/cloudabi32/cloudabi32_sysvec.c (working copy)
@@ -189,6 +189,5 @@
.brand = ELFOSABI_CLOUDABI,
.machine = EM_ARM,
.sysvec = &cloudabi32_elf_sysvec,
- .compat_3_brand = "CloudABI",
.flags = BI_BRAND_ONLY_STATIC,
};
Index: sys/arm64/cloudabi64/cloudabi64_sysvec.c
===================================================================
--- sys/arm64/cloudabi64/cloudabi64_sysvec.c (revision 315828)
+++ sys/arm64/cloudabi64/cloudabi64_sysvec.c (working copy)
@@ -182,5 +182,4 @@
.machine = EM_AARCH64,
.sysvec = &cloudabi64_elf_sysvec,
.flags = BI_CAN_EXEC_DYN | BI_BRAND_ONLY_STATIC,
- .compat_3_brand = "CloudABI",
};
Index: sys/i386/cloudabi32/cloudabi32_sysvec.c
===================================================================
--- sys/i386/cloudabi32/cloudabi32_sysvec.c (revision 315828)
+++ sys/i386/cloudabi32/cloudabi32_sysvec.c (working copy)
@@ -200,6 +200,5 @@
.brand = ELFOSABI_CLOUDABI,
.machine = EM_386,
.sysvec = &cloudabi32_elf_sysvec,
- .compat_3_brand = "CloudABI",
.flags = BI_BRAND_ONLY_STATIC,
};
Index: sys/kern/imgact_elf.c
===================================================================
--- sys/kern/imgact_elf.c (revision 315828)
+++ sys/kern/imgact_elf.c (working copy)
@@ -312,8 +312,9 @@
continue;
if (hdr->e_machine == bi->machine &&
(hdr->e_ident[EI_OSABI] == bi->brand ||
+ (bi->compat_3_brand != NULL &&
strcmp((const char *)&hdr->e_ident[OLD_EI_BRAND],
- bi->compat_3_brand) == 0)) {
+ bi->compat_3_brand) == 0))) {
/* Looks good, but give brand a chance to veto */
if (!bi->header_supported ||
bi->header_supported(imgp)) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABh_MK=Gge1oSJ9ERvvNCeEW2F6omLiLAVqEYQ1sdG5oVoVZVg>
