From db465c6895f75eea10609feeb82699e691e01899 Mon Sep 17 00:00:00 2001 From: bialasjaroslaw Date: Wed, 9 Sep 2020 21:17:16 +0200 Subject: [boost-context] Fixes error with linker for 32-bit GNU assembler files targeting Windows (#13422) * Patch from official boostorg/context. There is no official version with it yet. * Apply patch globaly It is better to check it now, for all triplets as [this script](https://github.com/microsoft/vcpkg/blob/master/scripts/boost/generate-ports.ps1) will regenerate portfile.cmake with patch for all of them not just for subset. --- ports/boost-context/CONTROL | 2 +- ...fix_exports_for_32bit_GNU_asm_for_windows.patch | 45 ++++++++++++++++++++++ ports/boost-context/portfile.cmake | 2 + 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 ports/boost-context/fix_exports_for_32bit_GNU_asm_for_windows.patch diff --git a/ports/boost-context/CONTROL b/ports/boost-context/CONTROL index a6ba3fa04..3effa3c95 100644 --- a/ports/boost-context/CONTROL +++ b/ports/boost-context/CONTROL @@ -1,7 +1,7 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-context Version: 1.73.0 -Port-Version: 1 +Port-Version: 2 Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-modular-build-helper, boost-pool, boost-predef, boost-smart-ptr, boost-thread, boost-vcpkg-helpers Homepage: https://github.com/boostorg/context Description: Boost context module diff --git a/ports/boost-context/fix_exports_for_32bit_GNU_asm_for_windows.patch b/ports/boost-context/fix_exports_for_32bit_GNU_asm_for_windows.patch new file mode 100644 index 000000000..30d38af1e --- /dev/null +++ b/ports/boost-context/fix_exports_for_32bit_GNU_asm_for_windows.patch @@ -0,0 +1,45 @@ +From d52ce8ca89674e31e689a7af3b0fc9304018be5a Mon Sep 17 00:00:00 2001 +From: Julien Schueller +Date: Thu, 20 Aug 2020 12:51:30 +0200 +Subject: [PATCH] Revert "Fix exports for 32-bit GNU assembler files targeting + Windows." + +This reverts 85783e8, as the wrong linker was used + +Closes #136 +--- + src/asm/jump_i386_ms_pe_gas.asm | 2 +- + src/asm/make_i386_ms_pe_gas.asm | 2 +- + src/asm/ontop_i386_ms_pe_gas.asm | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/asm/jump_i386_ms_pe_gas.asm b/src/asm/jump_i386_ms_pe_gas.asm +index bf5c75a4..6eb45326 100644 +--- a/src/asm/jump_i386_ms_pe_gas.asm ++++ b/src/asm/jump_i386_ms_pe_gas.asm +@@ -120,4 +120,4 @@ _jump_fcontext: + jmp *%ecx + + .section .drectve +-.ascii " -export:\"_jump_fcontext\"" ++.ascii " -export:\"jump_fcontext\"" +diff --git a/src/asm/make_i386_ms_pe_gas.asm b/src/asm/make_i386_ms_pe_gas.asm +index 10277bb5..608ddf3a 100644 +--- a/src/asm/make_i386_ms_pe_gas.asm ++++ b/src/asm/make_i386_ms_pe_gas.asm +@@ -150,4 +150,4 @@ finish: + .def __exit; .scl 2; .type 32; .endef /* standard C library function */ + + .section .drectve +-.ascii " -export:\"_make_fcontext\"" ++.ascii " -export:\"make_fcontext\"" +diff --git a/src/asm/ontop_i386_ms_pe_gas.asm b/src/asm/ontop_i386_ms_pe_gas.asm +index c23e18a2..abe9002a 100644 +--- a/src/asm/ontop_i386_ms_pe_gas.asm ++++ b/src/asm/ontop_i386_ms_pe_gas.asm +@@ -128,4 +128,4 @@ _ontop_fcontext: + jmp *%ecx + + .section .drectve +-.ascii " -export:\"_ontop_fcontext\"" ++.ascii " -export:\"ontop_fcontext\"" diff --git a/ports/boost-context/portfile.cmake b/ports/boost-context/portfile.cmake index 66ed9f50f..263b0c872 100644 --- a/ports/boost-context/portfile.cmake +++ b/ports/boost-context/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( REF boost-1.73.0 SHA512 cb460e9d7f5b2782164e49820b097402f6a443718d689b2f793f5ab7030012a80418dfc51154f299c9f987d6864d87f7536476ffa97da1089bf6b70f2990ebea HEAD_REF master + PATCHES + fix_exports_for_32bit_GNU_asm_for_windows.patch ) file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) -- cgit v1.2.3