svn commit: r320595 - in head/sys: amd64/linux amd64/linux32 i386/linux
Dmitry Chagin
dchagin at FreeBSD.org
Mon Jul 3 10:24:50 UTC 2017
Author: dchagin
Date: Mon Jul 3 10:24:49 2017
New Revision: 320595
URL: https://svnweb.freebsd.org/changeset/base/320595
Log:
Add support for musl consumers to the Linuxulator.
PR: 213809
Submitted by: Yonas Yanfa
Reported by: Yonas Yanfa
MFC after: 1 week
Relnotes: yes
Modified:
head/sys/amd64/linux/linux_sysvec.c
head/sys/amd64/linux32/linux32_sysvec.c
head/sys/i386/linux/linux_sysvec.c
Modified: head/sys/amd64/linux/linux_sysvec.c
==============================================================================
--- head/sys/amd64/linux/linux_sysvec.c Mon Jul 3 10:10:04 2017 (r320594)
+++ head/sys/amd64/linux/linux_sysvec.c Mon Jul 3 10:24:49 2017 (r320595)
@@ -923,9 +923,22 @@ static Elf64_Brandinfo linux_glibc2brandshort = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
+static Elf64_Brandinfo linux_muslbrand = {
+ .brand = ELFOSABI_LINUX,
+ .machine = EM_X86_64,
+ .compat_3_brand = "Linux",
+ .emul_path = "/compat/linux",
+ .interp_path = "/lib/ld-musl-x86_64.so.1",
+ .sysvec = &elf_linux_sysvec,
+ .interp_newpath = NULL,
+ .brand_note = &linux64_brandnote,
+ .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
+};
+
Elf64_Brandinfo *linux_brandlist[] = {
&linux_glibc2brand,
&linux_glibc2brandshort,
+ &linux_muslbrand,
NULL
};
Modified: head/sys/amd64/linux32/linux32_sysvec.c
==============================================================================
--- head/sys/amd64/linux32/linux32_sysvec.c Mon Jul 3 10:10:04 2017 (r320594)
+++ head/sys/amd64/linux32/linux32_sysvec.c Mon Jul 3 10:24:49 2017 (r320595)
@@ -1141,9 +1141,22 @@ static Elf32_Brandinfo linux_glibc2brand = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
+static Elf32_Brandinfo linux_muslbrand = {
+ .brand = ELFOSABI_LINUX,
+ .machine = EM_386,
+ .compat_3_brand = "Linux",
+ .emul_path = "/compat/linux",
+ .interp_path = "/lib/ld-musl-i386.so.1",
+ .sysvec = &elf_linux_sysvec,
+ .interp_newpath = NULL,
+ .brand_note = &linux32_brandnote,
+ .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
+};
+
Elf32_Brandinfo *linux_brandlist[] = {
&linux_brand,
&linux_glibc2brand,
+ &linux_muslbrand,
NULL
};
Modified: head/sys/i386/linux/linux_sysvec.c
==============================================================================
--- head/sys/i386/linux/linux_sysvec.c Mon Jul 3 10:10:04 2017 (r320594)
+++ head/sys/i386/linux/linux_sysvec.c Mon Jul 3 10:24:49 2017 (r320595)
@@ -1120,9 +1120,22 @@ static Elf32_Brandinfo linux_glibc2brand = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
+static Elf32_Brandinfo linux_muslbrand = {
+ .brand = ELFOSABI_LINUX,
+ .machine = EM_386,
+ .compat_3_brand = "Linux",
+ .emul_path = "/compat/linux",
+ .interp_path = "/lib/ld-musl-i386.so.1",
+ .sysvec = &elf_linux_sysvec,
+ .interp_newpath = NULL,
+ .brand_note = &linux_brandnote,
+ .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
+};
+
Elf32_Brandinfo *linux_brandlist[] = {
&linux_brand,
&linux_glibc2brand,
+ &linux_muslbrand,
NULL
};
More information about the svn-src-head
mailing list