Hi Kostik, 2017-03-23 0:00 GMT+01:00 Konstantin Belousov <kostik...@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 <e...@nuxi.nl> Nuxi, 's-Hertogenbosch, the Netherlands KvK-nr.: 62051717
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)) {
_______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"