Gentoo Archives: gentoo-commits

From: Sergei Trofimovich <slyfox@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/mono/files/, dev-lang/mono/
Date: Thu, 01 Dec 2016 22:05:33
Message-Id: 1480629920.7a0e31adf6af28adf3c8709e542ecf7039cb5942.slyfox@gentoo
1 commit: 7a0e31adf6af28adf3c8709e542ecf7039cb5942
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Thu Dec 1 21:53:42 2016 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Thu Dec 1 22:05:20 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a0e31ad
7
8 dev-lang/mono: fix ABI_X86=32 build case for amd64 host, bug #600664
9
10 The patch passes flags to adjust target ABI
11 of a multiarch assembler and linker.
12
13 Reported-by: Ivan Dorna
14 Reported-by: Toralf Förster
15 Bug: https://github.com/gentoo/dotnet/issues/270
16 Bug: https://bugs.gentoo.org/600664
17
18 Package-Manager: portage-2.3.2
19
20 dev-lang/mono/files/mono-4.8.0.371-x86_32.patch | 27 +++++++++++++++++++++++++
21 dev-lang/mono/mono-4.8.0.371.ebuild | 5 ++++-
22 2 files changed, 31 insertions(+), 1 deletion(-)
23
24 diff --git a/dev-lang/mono/files/mono-4.8.0.371-x86_32.patch b/dev-lang/mono/files/mono-4.8.0.371-x86_32.patch
25 new file mode 100644
26 index 00000000..063ea63
27 --- /dev/null
28 +++ b/dev-lang/mono/files/mono-4.8.0.371-x86_32.patch
29 @@ -0,0 +1,27 @@
30 +Native toolchain can default to different ABI (amd64 in bug case).
31 +Set target to i386.
32 +https://bugs.gentoo.org/600664
33 +diff --git a/mono/mini/aot-compiler.c b/mono/mini/aot-compiler.c
34 +index a1c359f..beaaf76 100644
35 +--- a/mono/mini/aot-compiler.c
36 ++++ b/mono/mini/aot-compiler.c
37 +@@ -9842,7 +9842,9 @@ compile_asm (MonoAotCompile *acfg)
38 + const char *tool_prefix = acfg->aot_opts.tool_prefix ? acfg->aot_opts.tool_prefix : "";
39 + char *ld_flags = acfg->aot_opts.ld_flags ? acfg->aot_opts.ld_flags : g_strdup("");
40 +
41 +-#if defined(TARGET_AMD64) && !defined(TARGET_MACH)
42 ++#if defined(TARGET_X86) && !defined(TARGET_MACH)
43 ++#define AS_OPTIONS "--32"
44 ++#elif defined(TARGET_AMD64) && !defined(TARGET_MACH)
45 + #define AS_OPTIONS "--64"
46 + #elif defined(TARGET_POWERPC64)
47 + #define AS_OPTIONS "-a64 -mppc64"
48 +@@ -9886,6 +9888,8 @@ compile_asm (MonoAotCompile *acfg)
49 + #define LD_OPTIONS "--shared"
50 + #elif defined(TARGET_POWERPC64)
51 + #define LD_OPTIONS "-m elf64ppc"
52 ++#elif defined(TARGET_X86)
53 ++#define LD_OPTIONS "-m elf_i386"
54 + #endif
55 +
56 + #ifndef LD_OPTIONS
57
58 diff --git a/dev-lang/mono/mono-4.8.0.371.ebuild b/dev-lang/mono/mono-4.8.0.371.ebuild
59 index 4a4e512..1995170 100644
60 --- a/dev-lang/mono/mono-4.8.0.371.ebuild
61 +++ b/dev-lang/mono/mono-4.8.0.371.ebuild
62 @@ -33,7 +33,10 @@ DEPEND="${COMMONDEPEND}
63 !dev-lang/mono-basic
64 "
65
66 -PATCHES=("${FILESDIR}"/${PN}-4.8.0.371-makedev.patch)
67 +PATCHES=(
68 + "${FILESDIR}"/${PN}-4.8.0.371-makedev.patch
69 + "${FILESDIR}"/${PN}-4.8.0.371-x86_32.patch
70 +)
71
72 S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)"