svn commit: r315701 - in head/sys: amd64/cloudabi32 amd64/cloudabi64 arm/cloudabi32 arm64/cloudabi64 i386/cloudabi32
Konstantin Belousov
kostikbel at gmail.com
Wed Mar 22 23:00:33 UTC 2017
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 ?
diff --git a/sys/amd64/cloudabi32/cloudabi32_sysvec.c b/sys/amd64/cloudabi32/cloudabi32_sysvec.c
index 9306dbc5dfb..abede1ac4ce 100644
--- a/sys/amd64/cloudabi32/cloudabi32_sysvec.c
+++ b/sys/amd64/cloudabi32/cloudabi32_sysvec.c
@@ -227,6 +227,5 @@ Elf32_Brandinfo cloudabi32_brand = {
.brand = ELFOSABI_CLOUDABI,
.machine = EM_386,
.sysvec = &cloudabi32_elf_sysvec,
- .compat_3_brand = "CloudABI",
.flags = BI_BRAND_ONLY_STATIC,
};
diff --git a/sys/amd64/cloudabi64/cloudabi64_sysvec.c b/sys/amd64/cloudabi64/cloudabi64_sysvec.c
index 3428bbf4909..84f0cb387de 100644
--- a/sys/amd64/cloudabi64/cloudabi64_sysvec.c
+++ b/sys/amd64/cloudabi64/cloudabi64_sysvec.c
@@ -213,5 +213,4 @@ Elf64_Brandinfo cloudabi64_brand = {
.machine = EM_X86_64,
.sysvec = &cloudabi64_elf_sysvec,
.flags = BI_CAN_EXEC_DYN | BI_BRAND_ONLY_STATIC,
- .compat_3_brand = "CloudABI",
};
diff --git a/sys/arm/cloudabi32/cloudabi32_sysvec.c b/sys/arm/cloudabi32/cloudabi32_sysvec.c
index d14129ec4c9..100fa479acd 100644
--- a/sys/arm/cloudabi32/cloudabi32_sysvec.c
+++ b/sys/arm/cloudabi32/cloudabi32_sysvec.c
@@ -189,6 +189,5 @@ Elf32_Brandinfo cloudabi32_brand = {
.brand = ELFOSABI_CLOUDABI,
.machine = EM_ARM,
.sysvec = &cloudabi32_elf_sysvec,
- .compat_3_brand = "CloudABI",
.flags = BI_BRAND_ONLY_STATIC,
};
diff --git a/sys/arm64/cloudabi64/cloudabi64_sysvec.c b/sys/arm64/cloudabi64/cloudabi64_sysvec.c
index 7f339fe3910..fbad0ba70db 100644
--- a/sys/arm64/cloudabi64/cloudabi64_sysvec.c
+++ b/sys/arm64/cloudabi64/cloudabi64_sysvec.c
@@ -182,5 +182,4 @@ Elf64_Brandinfo cloudabi64_brand = {
.machine = EM_AARCH64,
.sysvec = &cloudabi64_elf_sysvec,
.flags = BI_CAN_EXEC_DYN | BI_BRAND_ONLY_STATIC,
- .compat_3_brand = "CloudABI",
};
diff --git a/sys/i386/cloudabi32/cloudabi32_sysvec.c b/sys/i386/cloudabi32/cloudabi32_sysvec.c
index 1bd46cb99aa..c2a21fa9046 100644
--- a/sys/i386/cloudabi32/cloudabi32_sysvec.c
+++ b/sys/i386/cloudabi32/cloudabi32_sysvec.c
@@ -200,6 +200,5 @@ Elf32_Brandinfo cloudabi32_brand = {
.brand = ELFOSABI_CLOUDABI,
.machine = EM_386,
.sysvec = &cloudabi32_elf_sysvec,
- .compat_3_brand = "CloudABI",
.flags = BI_BRAND_ONLY_STATIC,
};
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c
index 42b02c1bd9e..7058a77854b 100644
--- a/sys/kern/imgact_elf.c
+++ b/sys/kern/imgact_elf.c
@@ -307,7 +307,8 @@ __elfN(get_brandinfo)(struct image_params *imgp, const char *interp,
/* If the executable has a brand, search for it in the brand list. */
for (i = 0; i < MAX_BRANDS; i++) {
bi = elf_brand_list[i];
- if (bi == NULL || (bi->flags & BI_BRAND_NOTE_MANDATORY) != 0 ||
+ if (bi == NULL || bi->compat_3_brand == NULL ||
+ (bi->flags & BI_BRAND_NOTE_MANDATORY) != 0 ||
(interp != NULL && (bi->flags & BI_BRAND_ONLY_STATIC) != 0))
continue;
if (hdr->e_machine == bi->machine &&
More information about the svn-src-all
mailing list