diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2024-12-21 20:01:40 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2024-12-21 20:15:00 +0300 |
commit | 74dcea6282bb71b306ade23fcba1ca3ad8fca224 (patch) | |
tree | a3632fbc325ebf07fe5f9cd1fe7c9ad0e150a233 | |
parent | 13408ecdc4c6a6f32aa53066716a601a47f145ff (diff) | |
download | ydb-74dcea6282bb71b306ade23fcba1ca3ad8fca224.tar.gz |
Intermediate changes
commit_hash:b52e8dee6a03da41307e354b6bfd1d8bb13a77c8
22 files changed, 16 insertions, 2552 deletions
diff --git a/contrib/restricted/boost/context/.yandex_meta/devtools.copyrights.report b/contrib/restricted/boost/context/.yandex_meta/devtools.copyrights.report index 22163ccb84..5ab98d2b00 100644 --- a/contrib/restricted/boost/context/.yandex_meta/devtools.copyrights.report +++ b/contrib/restricted/boost/context/.yandex_meta/devtools.copyrights.report @@ -47,15 +47,12 @@ BELONGS ya.make src/asm/jump_arm64_aapcs_elf_gas.S [2:4] src/asm/jump_arm64_aapcs_macho_gas.S [2:4] src/asm/jump_arm64_aapcs_pe_armasm.masm [1:3] - src/asm/jump_arm64_aapcs_pe_armclang.S [2:4] src/asm/make_arm64_aapcs_elf_gas.S [2:4] src/asm/make_arm64_aapcs_macho_gas.S [2:4] src/asm/make_arm64_aapcs_pe_armasm.masm [1:3] - src/asm/make_arm64_aapcs_pe_armclang.S [2:4] src/asm/ontop_arm64_aapcs_elf_gas.S [2:4] src/asm/ontop_arm64_aapcs_macho_gas.S [2:4] src/asm/ontop_arm64_aapcs_pe_armasm.masm [1:3] - src/asm/ontop_arm64_aapcs_pe_armclang.S [2:4] KEEP COPYRIGHT_SERVICE_LABEL 768f987faaed0adc6222ab24c7bd02e6 BELONGS ya.make @@ -72,39 +69,27 @@ BELONGS ya.make src/asm/jump_arm_aapcs_elf_gas.S [2:4] src/asm/jump_arm_aapcs_macho_gas.S [2:4] src/asm/jump_arm_aapcs_pe_armasm.masm [2:4] - src/asm/jump_i386_ms_pe_clang_gas.S [2:5] - src/asm/jump_i386_ms_pe_gas.asm [2:5] src/asm/jump_i386_ms_pe_masm.masm [2:4] src/asm/jump_i386_sysv_elf_gas.S [2:4] src/asm/jump_i386_sysv_macho_gas.S [2:4] - src/asm/jump_x86_64_ms_pe_clang_gas.S [2:5] - src/asm/jump_x86_64_ms_pe_gas.asm [2:5] src/asm/jump_x86_64_ms_pe_masm.masm [2:4] src/asm/jump_x86_64_sysv_elf_gas.S [2:4] src/asm/jump_x86_64_sysv_macho_gas.S [2:4] src/asm/make_arm_aapcs_elf_gas.S [2:4] src/asm/make_arm_aapcs_macho_gas.S [2:4] src/asm/make_arm_aapcs_pe_armasm.masm [2:4] - src/asm/make_i386_ms_pe_clang_gas.S [2:5] - src/asm/make_i386_ms_pe_gas.asm [2:5] src/asm/make_i386_ms_pe_masm.masm [2:4] src/asm/make_i386_sysv_elf_gas.S [2:4] src/asm/make_i386_sysv_macho_gas.S [2:4] - src/asm/make_x86_64_ms_pe_clang_gas.S [2:5] - src/asm/make_x86_64_ms_pe_gas.asm [2:5] src/asm/make_x86_64_ms_pe_masm.masm [2:4] src/asm/make_x86_64_sysv_elf_gas.S [2:4] src/asm/make_x86_64_sysv_macho_gas.S [2:4] src/asm/ontop_arm_aapcs_elf_gas.S [2:4] src/asm/ontop_arm_aapcs_macho_gas.S [2:4] src/asm/ontop_arm_aapcs_pe_armasm.masm [2:4] - src/asm/ontop_i386_ms_pe_clang_gas.S [2:5] - src/asm/ontop_i386_ms_pe_gas.asm [2:5] src/asm/ontop_i386_ms_pe_masm.masm [2:4] src/asm/ontop_i386_sysv_elf_gas.S [2:4] src/asm/ontop_i386_sysv_macho_gas.S [2:4] - src/asm/ontop_x86_64_ms_pe_clang_gas.S [2:5] - src/asm/ontop_x86_64_ms_pe_gas.asm [2:5] src/asm/ontop_x86_64_ms_pe_masm.masm [2:4] src/asm/ontop_x86_64_sysv_elf_gas.S [2:4] src/asm/ontop_x86_64_sysv_macho_gas.S [2:4] @@ -120,21 +105,6 @@ BELONGS ya.make Files with this license: src/fcontext.cpp [1:3] -KEEP COPYRIGHT_SERVICE_LABEL bdb654e3fbbec678064a117bc379b41b -BELONGS ya.make - License text: - Copyright Sergue E. Leontiev 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - src/asm/jump_i386_x86_64_sysv_macho_gas.S [2:4] - src/asm/make_i386_x86_64_sysv_macho_gas.S [2:4] - src/asm/ontop_i386_x86_64_sysv_macho_gas.S [2:4] - KEEP COPYRIGHT_SERVICE_LABEL c3ce9643507aa0942a28211fe8f95eff BELONGS ya.make License text: @@ -191,24 +161,3 @@ BELONGS ya.make include/boost/context/windows/protected_fixedsize_stack.hpp [2:4] src/posix/stack_traits.cpp [2:4] src/windows/stack_traits.cpp [2:4] - -KEEP COPYRIGHT_SERVICE_LABEL d1eeae51f362a32140f64b39499ca9bf -BELONGS ya.make - Note: matched license text is too long. Read it in the source files. - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - src/asm/jump_i386_ms_pe_clang_gas.S [2:5] - src/asm/jump_i386_ms_pe_gas.asm [2:5] - src/asm/jump_x86_64_ms_pe_clang_gas.S [2:5] - src/asm/jump_x86_64_ms_pe_gas.asm [2:5] - src/asm/make_i386_ms_pe_clang_gas.S [2:5] - src/asm/make_i386_ms_pe_gas.asm [2:5] - src/asm/make_x86_64_ms_pe_clang_gas.S [2:5] - src/asm/make_x86_64_ms_pe_gas.asm [2:5] - src/asm/ontop_i386_ms_pe_clang_gas.S [2:5] - src/asm/ontop_i386_ms_pe_gas.asm [2:5] - src/asm/ontop_x86_64_ms_pe_clang_gas.S [2:5] - src/asm/ontop_x86_64_ms_pe_gas.asm [2:5] diff --git a/contrib/restricted/boost/context/.yandex_meta/devtools.licenses.report b/contrib/restricted/boost/context/.yandex_meta/devtools.licenses.report index 2ab1092541..2259eba708 100644 --- a/contrib/restricted/boost/context/.yandex_meta/devtools.licenses.report +++ b/contrib/restricted/boost/context/.yandex_meta/devtools.licenses.report @@ -68,22 +68,6 @@ BELONGS ya.make src/asm/make_arm_aapcs_pe_armasm.masm [3:5] src/asm/ontop_arm_aapcs_pe_armasm.masm [3:5] -KEEP BSL-1.0 321a164a9126e96f909fc36bc3ae6dda -BELONGS ya.make - License text: - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) - Scancode info: - Original SPDX id: BSL-1.0 - Score : 100.00 - Match type : NOTICE - Links : http://www.boost.org/LICENSE_1_0.txt, http://www.boost.org/users/license.html, https://spdx.org/licenses/BSL-1.0 - Files with this license: - src/asm/jump_arm64_aapcs_pe_armclang.S [3:5] - src/asm/make_arm64_aapcs_pe_armclang.S [3:5] - src/asm/ontop_arm64_aapcs_pe_armclang.S [3:5] - KEEP BSL-1.0 45dafc5af311668ee8f059b952891651 BELONGS ya.make License text: @@ -161,22 +145,10 @@ BELONGS ya.make Match type : NOTICE Links : http://www.boost.org/LICENSE_1_0.txt, http://www.boost.org/users/license.html, https://spdx.org/licenses/BSL-1.0 Files with this license: - src/asm/jump_i386_ms_pe_clang_gas.S [4:6] - src/asm/jump_i386_ms_pe_gas.asm [4:6] - src/asm/jump_x86_64_ms_pe_clang_gas.S [4:6] - src/asm/jump_x86_64_ms_pe_gas.asm [4:6] src/asm/jump_x86_64_sysv_elf_gas.S [3:5] src/asm/jump_x86_64_sysv_macho_gas.S [3:5] - src/asm/make_i386_ms_pe_clang_gas.S [4:6] - src/asm/make_i386_ms_pe_gas.asm [4:6] - src/asm/make_x86_64_ms_pe_clang_gas.S [4:6] - src/asm/make_x86_64_ms_pe_gas.asm [4:6] src/asm/make_x86_64_sysv_elf_gas.S [3:5] src/asm/make_x86_64_sysv_macho_gas.S [3:5] - src/asm/ontop_i386_ms_pe_clang_gas.S [4:6] - src/asm/ontop_i386_ms_pe_gas.asm [4:6] - src/asm/ontop_x86_64_ms_pe_clang_gas.S [4:6] - src/asm/ontop_x86_64_ms_pe_gas.asm [4:6] src/asm/ontop_x86_64_sysv_elf_gas.S [3:5] src/asm/ontop_x86_64_sysv_macho_gas.S [3:5] @@ -198,18 +170,15 @@ BELONGS ya.make src/asm/jump_arm_aapcs_macho_gas.S [3:5] src/asm/jump_i386_sysv_elf_gas.S [3:5] src/asm/jump_i386_sysv_macho_gas.S [3:5] - src/asm/jump_i386_x86_64_sysv_macho_gas.S [3:5] src/asm/make_arm64_aapcs_elf_gas.S [3:5] src/asm/make_arm64_aapcs_macho_gas.S [3:5] src/asm/make_arm_aapcs_elf_gas.S [3:5] src/asm/make_arm_aapcs_macho_gas.S [3:5] src/asm/make_i386_sysv_elf_gas.S [3:5] src/asm/make_i386_sysv_macho_gas.S [3:5] - src/asm/make_i386_x86_64_sysv_macho_gas.S [3:5] src/asm/ontop_arm64_aapcs_elf_gas.S [3:5] src/asm/ontop_arm64_aapcs_macho_gas.S [3:5] src/asm/ontop_arm_aapcs_elf_gas.S [3:5] src/asm/ontop_arm_aapcs_macho_gas.S [3:5] src/asm/ontop_i386_sysv_elf_gas.S [3:5] src/asm/ontop_i386_sysv_macho_gas.S [3:5] - src/asm/ontop_i386_x86_64_sysv_macho_gas.S [3:5] diff --git a/contrib/restricted/boost/context/.yandex_meta/licenses.list.txt b/contrib/restricted/boost/context/.yandex_meta/licenses.list.txt index abc7fe5d55..dbd9323671 100644 --- a/contrib/restricted/boost/context/.yandex_meta/licenses.list.txt +++ b/contrib/restricted/boost/context/.yandex_meta/licenses.list.txt @@ -11,12 +11,6 @@ ====================BSL-1.0==================== - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) - - -====================BSL-1.0==================== // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) @@ -41,19 +35,6 @@ ====================COPYRIGHT==================== - Copyright Oliver Kowalke 2009. - Copyright Thomas Sailer 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - - -====================COPYRIGHT==================== - Copyright Sergue E. Leontiev 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - - -====================COPYRIGHT==================== Copyright Edward Nevill + Oliver Kowalke 2015 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at diff --git a/contrib/restricted/boost/context/src/asm/jump_arm64_aapcs_pe_armclang.S b/contrib/restricted/boost/context/src/asm/jump_arm64_aapcs_pe_armclang.S deleted file mode 100644 index 0ad7ac1f8f..0000000000 --- a/contrib/restricted/boost/context/src/asm/jump_arm64_aapcs_pe_armclang.S +++ /dev/null @@ -1,141 +0,0 @@ -/* - Copyright Edward Nevill + Oliver Kowalke 2015 - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/****************************************************** -* * -* ------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* ------------------------------------------------- * -* | 0x0 | 0x4 | 0x8 | 0xc | 0x10| 0x14| 0x18| 0x1c| * -* ------------------------------------------------- * -* | d8 | d9 | d10 | d11 | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* ------------------------------------------------- * -* | 0x20| 0x24| 0x28| 0x2c| 0x30| 0x34| 0x38| 0x3c| * -* ------------------------------------------------- * -* | d12 | d13 | d14 | d15 | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | * -* ------------------------------------------------- * -* | 0x40| 0x44| 0x48| 0x4c| 0x50| 0x54| 0x58| 0x5c| * -* ------------------------------------------------- * -* | x19 | x20 | x21 | x22 | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | * -* ------------------------------------------------- * -* | 0x60| 0x64| 0x68| 0x6c| 0x70| 0x74| 0x78| 0x7c| * -* ------------------------------------------------- * -* | x23 | x24 | x25 | x26 | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | * -* ------------------------------------------------- * -* | 0x80| 0x84| 0x88| 0x8c| 0x90| 0x94| 0x98| 0x9c| * -* ------------------------------------------------- * -* | x27 | x28 | FP | LR | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | * -* ------------------------------------------------- * -* | 0xa0| 0xa4| 0xa8| 0xac| 0xb0| 0xb4| 0xb8| 0xbc| * -* ------------------------------------------------- * -* | fiber data| base | limit | dealloc | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 48 | 49 | 50 | 51 | | | * -* ------------------------------------------------- * -* | 0xc0| 0xc4| 0xc8| 0xcc| | | * -* ------------------------------------------------- * -* | PC | align | | | * -* ------------------------------------------------- * -* * -*******************************************************/ - -.file "jump_arm64_aapcs_pe_armclang.S" -.text -.balign 4 - -.def jump_fcontext; .scl 2; .type 32; .endef -.seh_proc jump_fcontext -jump_fcontext: -.seh_endprologue - // prepare stack for GP + FPU - sub sp, sp, #0xd0 - - // save d8 - d15 - stp d8, d9, [sp, #0x00] - stp d10, d11, [sp, #0x10] - stp d12, d13, [sp, #0x20] - stp d14, d15, [sp, #0x30] - - // save x19-x30 - stp x19, x20, [sp, #0x40] - stp x21, x22, [sp, #0x50] - stp x23, x24, [sp, #0x60] - stp x25, x26, [sp, #0x70] - stp x27, x28, [sp, #0x80] - stp x29, x30, [sp, #0x90] - - // save LR as PC - str x30, [sp, #0xc0] - - // save current stack base and limit - ldp x5, x6, [x18, #0x08] // TeStackBase and TeStackLimit at ksarm64.h - stp x5, x6, [sp, #0xa0] - // save current fiber data and deallocation stack - ldr x5, [x18, #0x1478] // TeDeallocationStack at ksarm64.h - ldr x6, [x18, #0x20] // TeFiberData at ksarm64.h - stp x5, x6, [sp, #0xb0] - - // store RSP (pointing to context-data) in X0 - mov x4, sp - - // restore RSP (pointing to context-data) from X1 - mov sp, x0 - - // restore stack base and limit - ldp x5, x6, [sp, #0xa0] - stp x5, x6, [x18, #0x08] // TeStackBase and TeStackLimit at ksarm64.h - // restore fiber data and deallocation stack - ldp x5, x6, [sp, #0xb0] - str x5, [x18, #0x1478] // TeDeallocationStack at ksarm64.h - str x6, [x18, #0x20] // TeFiberData at ksarm64.h - - // load d8 - d15 - ldp d8, d9, [sp, #0x00] - ldp d10, d11, [sp, #0x10] - ldp d12, d13, [sp, #0x20] - ldp d14, d15, [sp, #0x30] - - // load x19-x30 - ldp x19, x20, [sp, #0x40] - ldp x21, x22, [sp, #0x50] - ldp x23, x24, [sp, #0x60] - ldp x25, x26, [sp, #0x70] - ldp x27, x28, [sp, #0x80] - ldp x29, x30, [sp, #0x90] - - // return transfer_t from jump - // pass transfer_t as first arg in context function - // X0 == FCTX, X1 == DATA - mov x0, x4 - - // load pc - ldr x4, [sp, #0xc0] - - // restore stack from GP + FPU - add sp, sp, #0xd0 - - ret x4 -.seh_endproc - -.section .drectve -.ascii " -export:\"jump_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/jump_i386_ms_pe_clang_gas.S b/contrib/restricted/boost/context/src/asm/jump_i386_ms_pe_clang_gas.S deleted file mode 100644 index cad2c1361f..0000000000 --- a/contrib/restricted/boost/context/src/asm/jump_i386_ms_pe_clang_gas.S +++ /dev/null @@ -1,123 +0,0 @@ -/* - Copyright Oliver Kowalke 2009. - Copyright Thomas Sailer 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/************************************************************************************* -* --------------------------------------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* --------------------------------------------------------------------------------- * -* | 0h | 04h | 08h | 0ch | 010h | 014h | 018h | 01ch | * -* --------------------------------------------------------------------------------- * -* | fc_mxcsr|fc_x87_cw| fc_strg |fc_deallo| limit | base | fc_seh | EDI | * -* --------------------------------------------------------------------------------- * -* --------------------------------------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* --------------------------------------------------------------------------------- * -* | 020h | 024h | 028h | 02ch | 030h | 034h | 038h | 03ch | * -* --------------------------------------------------------------------------------- * -* | ESI | EBX | EBP | EIP | to | data | EH NXT |SEH HNDLR| * -* --------------------------------------------------------------------------------- * -**************************************************************************************/ - -.file "jump_i386_ms_pe_clang_gas.S" -.text -.p2align 4,,15 - -/* mark as using no unregistered SEH handlers */ -.globl @feat.00 -.def @feat.00; .scl 3; .type 0; .endef -.set @feat.00, 1 - -.globl _jump_fcontext -.def _jump_fcontext; .scl 2; .type 32; .endef -_jump_fcontext: - /* prepare stack */ - leal -0x2c(%esp), %esp - -#if !defined(BOOST_USE_TSX) - /* save MMX control- and status-word */ - stmxcsr (%esp) - /* save x87 control-word */ - fnstcw 0x4(%esp) -#endif - - /* load NT_TIB */ - movl %fs:(0x18), %edx - /* load fiber local storage */ - movl 0x10(%edx), %eax - movl %eax, 0x8(%esp) - /* load current dealloction stack */ - movl 0xe0c(%edx), %eax - movl %eax, 0xc(%esp) - /* load current stack limit */ - movl 0x8(%edx), %eax - movl %eax, 0x10(%esp) - /* load current stack base */ - movl 0x4(%edx), %eax - movl %eax, 0x14(%esp) - /* load current SEH exception list */ - movl (%edx), %eax - movl %eax, 0x18(%esp) - - movl %edi, 0x1c(%esp) /* save EDI */ - movl %esi, 0x20(%esp) /* save ESI */ - movl %ebx, 0x24(%esp) /* save EBX */ - movl %ebp, 0x28(%esp) /* save EBP */ - - /* store ESP (pointing to context-data) in EAX */ - movl %esp, %eax - - /* firstarg of jump_fcontext() == fcontext to jump to */ - movl 0x30(%esp), %ecx - - /* restore ESP (pointing to context-data) from ECX */ - movl %ecx, %esp - -#if !defined(BOOST_USE_TSX) - /* restore MMX control- and status-word */ - ldmxcsr (%esp) - /* restore x87 control-word */ - fldcw 0x4(%esp) -#endif - - /* restore NT_TIB into EDX */ - movl %fs:(0x18), %edx - /* restore fiber local storage */ - movl 0x8(%esp), %ecx - movl %ecx, 0x10(%edx) - /* restore current deallocation stack */ - movl 0xc(%esp), %ecx - movl %ecx, 0xe0c(%edx) - /* restore current stack limit */ - movl 0x10(%esp), %ecx - movl %ecx, 0x8(%edx) - /* restore current stack base */ - movl 0x14(%esp), %ecx - movl %ecx, 0x4(%edx) - /* restore current SEH exception list */ - movl 0x18(%esp), %ecx - movl %ecx, (%edx) - - movl 0x2c(%esp), %ecx /* restore EIP */ - - movl 0x1c(%esp), %edi /* restore EDI */ - movl 0x20(%esp), %esi /* restore ESI */ - movl 0x24(%esp), %ebx /* restore EBX */ - movl 0x28(%esp), %ebp /* restore EBP */ - - /* prepare stack */ - leal 0x30(%esp), %esp - - /* return transfer_t */ - /* FCTX == EAX, DATA == EDX */ - movl 0x34(%eax), %edx - - /* jump to context */ - jmp *%ecx - -.section .drectve -.ascii " -export:\"_jump_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/jump_i386_ms_pe_gas.asm b/contrib/restricted/boost/context/src/asm/jump_i386_ms_pe_gas.asm deleted file mode 100644 index 6eb45326ce..0000000000 --- a/contrib/restricted/boost/context/src/asm/jump_i386_ms_pe_gas.asm +++ /dev/null @@ -1,123 +0,0 @@ -/* - Copyright Oliver Kowalke 2009. - Copyright Thomas Sailer 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/************************************************************************************* -* --------------------------------------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* --------------------------------------------------------------------------------- * -* | 0h | 04h | 08h | 0ch | 010h | 014h | 018h | 01ch | * -* --------------------------------------------------------------------------------- * -* | fc_mxcsr|fc_x87_cw| fc_strg |fc_deallo| limit | base | fc_seh | EDI | * -* --------------------------------------------------------------------------------- * -* --------------------------------------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* --------------------------------------------------------------------------------- * -* | 020h | 024h | 028h | 02ch | 030h | 034h | 038h | 03ch | * -* --------------------------------------------------------------------------------- * -* | ESI | EBX | EBP | EIP | to | data | EH NXT |SEH HNDLR| * -* --------------------------------------------------------------------------------- * -**************************************************************************************/ - -.file "jump_i386_ms_pe_gas.asm" -.text -.p2align 4,,15 - -/* mark as using no unregistered SEH handlers */ -.globl @feat.00 -.def @feat.00; .scl 3; .type 0; .endef -.set @feat.00, 1 - -.globl _jump_fcontext -.def _jump_fcontext; .scl 2; .type 32; .endef -_jump_fcontext: - /* prepare stack */ - leal -0x2c(%esp), %esp - -#if !defined(BOOST_USE_TSX) - /* save MMX control- and status-word */ - stmxcsr (%esp) - /* save x87 control-word */ - fnstcw 0x4(%esp) -#endif - - /* load NT_TIB */ - movl %fs:(0x18), %edx - /* load fiber local storage */ - movl 0x10(%edx), %eax - movl %eax, 0x8(%esp) - /* load current dealloction stack */ - movl 0xe0c(%edx), %eax - movl %eax, 0xc(%esp) - /* load current stack limit */ - movl 0x8(%edx), %eax - movl %eax, 0x10(%esp) - /* load current stack base */ - movl 0x4(%edx), %eax - movl %eax, 0x14(%esp) - /* load current SEH exception list */ - movl (%edx), %eax - movl %eax, 0x18(%esp) - - movl %edi, 0x1c(%esp) /* save EDI */ - movl %esi, 0x20(%esp) /* save ESI */ - movl %ebx, 0x24(%esp) /* save EBX */ - movl %ebp, 0x28(%esp) /* save EBP */ - - /* store ESP (pointing to context-data) in EAX */ - movl %esp, %eax - - /* firstarg of jump_fcontext() == fcontext to jump to */ - movl 0x30(%esp), %ecx - - /* restore ESP (pointing to context-data) from ECX */ - movl %ecx, %esp - -#if !defined(BOOST_USE_TSX) - /* restore MMX control- and status-word */ - ldmxcsr (%esp) - /* restore x87 control-word */ - fldcw 0x4(%esp) -#endif - - /* restore NT_TIB into EDX */ - movl %fs:(0x18), %edx - /* restore fiber local storage */ - movl 0x8(%esp), %ecx - movl %ecx, 0x10(%edx) - /* restore current deallocation stack */ - movl 0xc(%esp), %ecx - movl %ecx, 0xe0c(%edx) - /* restore current stack limit */ - movl 0x10(%esp), %ecx - movl %ecx, 0x8(%edx) - /* restore current stack base */ - movl 0x14(%esp), %ecx - movl %ecx, 0x4(%edx) - /* restore current SEH exception list */ - movl 0x18(%esp), %ecx - movl %ecx, (%edx) - - movl 0x2c(%esp), %ecx /* restore EIP */ - - movl 0x1c(%esp), %edi /* restore EDI */ - movl 0x20(%esp), %esi /* restore ESI */ - movl 0x24(%esp), %ebx /* restore EBX */ - movl 0x28(%esp), %ebp /* restore EBP */ - - /* prepare stack */ - leal 0x30(%esp), %esp - - /* return transfer_t */ - /* FCTX == EAX, DATA == EDX */ - movl 0x34(%eax), %edx - - /* jump to context */ - jmp *%ecx - -.section .drectve -.ascii " -export:\"jump_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/jump_i386_x86_64_sysv_macho_gas.S b/contrib/restricted/boost/context/src/asm/jump_i386_x86_64_sysv_macho_gas.S deleted file mode 100644 index 959ddac16f..0000000000 --- a/contrib/restricted/boost/context/src/asm/jump_i386_x86_64_sysv_macho_gas.S +++ /dev/null @@ -1,16 +0,0 @@ -/* - Copyright Sergue E. Leontiev 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -// Stub file for universal binary - -#if defined(__i386__) - #include "jump_i386_sysv_macho_gas.S" -#elif defined(__x86_64__) - #include "jump_x86_64_sysv_macho_gas.S" -#else - #error "No arch's" -#endif diff --git a/contrib/restricted/boost/context/src/asm/jump_x86_64_ms_pe_clang_gas.S b/contrib/restricted/boost/context/src/asm/jump_x86_64_ms_pe_clang_gas.S deleted file mode 100644 index 1f633f7562..0000000000 --- a/contrib/restricted/boost/context/src/asm/jump_x86_64_ms_pe_clang_gas.S +++ /dev/null @@ -1,209 +0,0 @@ -/* - Copyright Oliver Kowalke 2009. - Copyright Thomas Sailer 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/************************************************************************************* -* ---------------------------------------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* ---------------------------------------------------------------------------------- * -* | 0x0 | 0x4 | 0x8 | 0xc | 0x10 | 0x14 | 0x18 | 0x1c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* ---------------------------------------------------------------------------------- * -* | 0x20 | 0x24 | 0x28 | 0x2c | 0x30 | 0x34 | 0x38 | 0x3c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | * -* ---------------------------------------------------------------------------------- * -* | 0xe40 | 0x44 | 0x48 | 0x4c | 0x50 | 0x54 | 0x58 | 0x5c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | * -* ---------------------------------------------------------------------------------- * -* | 0x60 | 0x64 | 0x68 | 0x6c | 0x70 | 0x74 | 0x78 | 0x7c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 32 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | * -* ---------------------------------------------------------------------------------- * -* | 0x80 | 0x84 | 0x88 | 0x8c | 0x90 | 0x94 | 0x98 | 0x9c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | * -* ---------------------------------------------------------------------------------- * -* | 0xa0 | 0xa4 | 0xa8 | 0xac | 0xb0 | 0xb4 | 0xb8 | 0xbc | * -* ---------------------------------------------------------------------------------- * -* | fc_mxcsr|fc_x87_cw| <alignment> | fbr_strg | fc_dealloc | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | * -* ---------------------------------------------------------------------------------- * -* | 0xc0 | 0xc4 | 0xc8 | 0xcc | 0xd0 | 0xd4 | 0xd8 | 0xdc | * -* ---------------------------------------------------------------------------------- * -* | limit | base | R12 | R13 | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | * -* ---------------------------------------------------------------------------------- * -* | 0xe0 | 0xe4 | 0xe8 | 0xec | 0xf0 | 0xf4 | 0xf8 | 0xfc | * -* ---------------------------------------------------------------------------------- * -* | R14 | R15 | RDI | RSI | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | * -* ---------------------------------------------------------------------------------- * -* | 0x100 | 0x104 | 0x108 | 0x10c | 0x110 | 0x114 | 0x118 | 0x11c | * -* ---------------------------------------------------------------------------------- * -* | RBX | RBP | hidden | RIP | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | * -* ---------------------------------------------------------------------------------- * -* | 0x120 | 0x124 | 0x128 | 0x12c | 0x130 | 0x134 | 0x138 | 0x13c | * -* ---------------------------------------------------------------------------------- * -* | parameter area | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | * -* ---------------------------------------------------------------------------------- * -* | 0x140 | 0x144 | 0x148 | 0x14c | 0x150 | 0x154 | 0x158 | 0x15c | * -* ---------------------------------------------------------------------------------- * -* | FCTX | DATA | | * -* ---------------------------------------------------------------------------------- * -**************************************************************************************/ - -.file "jump_x86_64_ms_pe_clang_gas.S" -.text -.p2align 4,,15 -.globl jump_fcontext -.def jump_fcontext; .scl 2; .type 32; .endef -.seh_proc jump_fcontext -jump_fcontext: -.seh_endprologue - - leaq -0x118(%rsp), %rsp /* prepare stack */ - -#if !defined(BOOST_USE_TSX) - /* save XMM storage */ - movaps %xmm6, 0x0(%rsp) - movaps %xmm7, 0x10(%rsp) - movaps %xmm8, 0x20(%rsp) - movaps %xmm9, 0x30(%rsp) - movaps %xmm10, 0x40(%rsp) - movaps %xmm11, 0x50(%rsp) - movaps %xmm12, 0x60(%rsp) - movaps %xmm13, 0x70(%rsp) - movaps %xmm14, 0x80(%rsp) - movaps %xmm15, 0x90(%rsp) - stmxcsr 0xa0(%rsp) /* save MMX control- and status-word */ - fnstcw 0xa4(%rsp) /* save x87 control-word */ -#endif - - /* load NT_TIB */ - movq %gs:(0x30), %r10 - /* save fiber local storage */ - movq 0x20(%r10), %rax - movq %rax, 0xb0(%rsp) - /* save current deallocation stack */ - movq 0x1478(%r10), %rax - movq %rax, 0xb8(%rsp) - /* save current stack limit */ - movq 0x10(%r10), %rax - movq %rax, 0xc0(%rsp) - /* save current stack base */ - movq 0x08(%r10), %rax - movq %rax, 0xc8(%rsp) - - movq %r12, 0xd0(%rsp) /* save R12 */ - movq %r13, 0xd8(%rsp) /* save R13 */ - movq %r14, 0xe0(%rsp) /* save R14 */ - movq %r15, 0xe8(%rsp) /* save R15 */ - movq %rdi, 0xf0(%rsp) /* save RDI */ - movq %rsi, 0xf8(%rsp) /* save RSI */ - movq %rbx, 0x100(%rsp) /* save RBX */ - movq %rbp, 0x108(%rsp) /* save RBP */ - - movq %rcx, 0x110(%rsp) /* save hidden address of transport_t */ - - /* preserve RSP (pointing to context-data) in R9 */ - movq %rsp, %r9 - - /* restore RSP (pointing to context-data) from RDX */ - movq %rdx, %rsp - -#if !defined(BOOST_USE_TSX) - /* restore XMM storage */ - movaps 0x0(%rsp), %xmm6 - movaps 0x10(%rsp), %xmm7 - movaps 0x20(%rsp), %xmm8 - movaps 0x30(%rsp), %xmm9 - movaps 0x40(%rsp), %xmm10 - movaps 0x50(%rsp), %xmm11 - movaps 0x60(%rsp), %xmm12 - movaps 0x70(%rsp), %xmm13 - movaps 0x80(%rsp), %xmm14 - movaps 0x90(%rsp), %xmm15 - ldmxcsr 0xa0(%rsp) /* restore MMX control- and status-word */ - fldcw 0xa4(%rsp) /* restore x87 control-word */ -#endif - - /* load NT_TIB */ - movq %gs:(0x30), %r10 - /* restore fiber local storage */ - movq 0xb0(%rsp), %rax - movq %rax, 0x20(%r10) - /* restore current deallocation stack */ - movq 0xb8(%rsp), %rax - movq %rax, 0x1478(%r10) - /* restore current stack limit */ - movq 0xc0(%rsp), %rax - movq %rax, 0x10(%r10) - /* restore current stack base */ - movq 0xc8(%rsp), %rax - movq %rax, 0x08(%r10) - - movq 0xd0(%rsp), %r12 /* restore R12 */ - movq 0xd8(%rsp), %r13 /* restore R13 */ - movq 0xe0(%rsp), %r14 /* restore R14 */ - movq 0xe8(%rsp), %r15 /* restore R15 */ - movq 0xf0(%rsp), %rdi /* restore RDI */ - movq 0xf8(%rsp), %rsi /* restore RSI */ - movq 0x100(%rsp), %rbx /* restore RBX */ - movq 0x108(%rsp), %rbp /* restore RBP */ - - movq 0x110(%rsp), %rax /* restore hidden address of transport_t */ - - leaq 0x118(%rsp), %rsp /* prepare stack */ - - /* restore return-address */ - popq %r10 - - /* transport_t returned in RAX */ - /* return parent fcontext_t */ - movq %r9, 0x0(%rax) - /* return data */ - movq %r8, 0x8(%rax) - - /* transport_t as 1.arg of context-function */ - movq %rax, %rcx - - /* indirect jump to context */ - jmp *%r10 -.seh_endproc - -.section .drectve -.ascii " -export:\"jump_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/jump_x86_64_ms_pe_gas.asm b/contrib/restricted/boost/context/src/asm/jump_x86_64_ms_pe_gas.asm deleted file mode 100644 index ec4ecfe946..0000000000 --- a/contrib/restricted/boost/context/src/asm/jump_x86_64_ms_pe_gas.asm +++ /dev/null @@ -1,209 +0,0 @@ -/* - Copyright Oliver Kowalke 2009. - Copyright Thomas Sailer 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/************************************************************************************* -* ---------------------------------------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* ---------------------------------------------------------------------------------- * -* | 0x0 | 0x4 | 0x8 | 0xc | 0x10 | 0x14 | 0x18 | 0x1c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* ---------------------------------------------------------------------------------- * -* | 0x20 | 0x24 | 0x28 | 0x2c | 0x30 | 0x34 | 0x38 | 0x3c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | * -* ---------------------------------------------------------------------------------- * -* | 0xe40 | 0x44 | 0x48 | 0x4c | 0x50 | 0x54 | 0x58 | 0x5c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | * -* ---------------------------------------------------------------------------------- * -* | 0x60 | 0x64 | 0x68 | 0x6c | 0x70 | 0x74 | 0x78 | 0x7c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 32 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | * -* ---------------------------------------------------------------------------------- * -* | 0x80 | 0x84 | 0x88 | 0x8c | 0x90 | 0x94 | 0x98 | 0x9c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | * -* ---------------------------------------------------------------------------------- * -* | 0xa0 | 0xa4 | 0xa8 | 0xac | 0xb0 | 0xb4 | 0xb8 | 0xbc | * -* ---------------------------------------------------------------------------------- * -* | fc_mxcsr|fc_x87_cw| <alignment> | fbr_strg | fc_dealloc | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | * -* ---------------------------------------------------------------------------------- * -* | 0xc0 | 0xc4 | 0xc8 | 0xcc | 0xd0 | 0xd4 | 0xd8 | 0xdc | * -* ---------------------------------------------------------------------------------- * -* | limit | base | R12 | R13 | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | * -* ---------------------------------------------------------------------------------- * -* | 0xe0 | 0xe4 | 0xe8 | 0xec | 0xf0 | 0xf4 | 0xf8 | 0xfc | * -* ---------------------------------------------------------------------------------- * -* | R14 | R15 | RDI | RSI | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | * -* ---------------------------------------------------------------------------------- * -* | 0x100 | 0x104 | 0x108 | 0x10c | 0x110 | 0x114 | 0x118 | 0x11c | * -* ---------------------------------------------------------------------------------- * -* | RBX | RBP | hidden | RIP | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | * -* ---------------------------------------------------------------------------------- * -* | 0x120 | 0x124 | 0x128 | 0x12c | 0x130 | 0x134 | 0x138 | 0x13c | * -* ---------------------------------------------------------------------------------- * -* | parameter area | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | * -* ---------------------------------------------------------------------------------- * -* | 0x140 | 0x144 | 0x148 | 0x14c | 0x150 | 0x154 | 0x158 | 0x15c | * -* ---------------------------------------------------------------------------------- * -* | FCTX | DATA | | * -* ---------------------------------------------------------------------------------- * -**************************************************************************************/ - -.file "jump_x86_64_ms_pe_gas.asm" -.text -.p2align 4,,15 -.globl jump_fcontext -.def jump_fcontext; .scl 2; .type 32; .endef -.seh_proc jump_fcontext -jump_fcontext: -.seh_endprologue - - leaq -0x118(%rsp), %rsp /* prepare stack */ - -#if !defined(BOOST_USE_TSX) - /* save XMM storage */ - movaps %xmm6, 0x0(%rsp) - movaps %xmm7, 0x10(%rsp) - movaps %xmm8, 0x20(%rsp) - movaps %xmm9, 0x30(%rsp) - movaps %xmm10, 0x40(%rsp) - movaps %xmm11, 0x50(%rsp) - movaps %xmm12, 0x60(%rsp) - movaps %xmm13, 0x70(%rsp) - movaps %xmm14, 0x80(%rsp) - movaps %xmm15, 0x90(%rsp) - stmxcsr 0xa0(%rsp) /* save MMX control- and status-word */ - fnstcw 0xa4(%rsp) /* save x87 control-word */ -#endif - - /* load NT_TIB */ - movq %gs:(0x30), %r10 - /* save fiber local storage */ - movq 0x20(%r10), %rax - movq %rax, 0xb0(%rsp) - /* save current deallocation stack */ - movq 0x1478(%r10), %rax - movq %rax, 0xb8(%rsp) - /* save current stack limit */ - movq 0x10(%r10), %rax - movq %rax, 0xc0(%rsp) - /* save current stack base */ - movq 0x08(%r10), %rax - movq %rax, 0xc8(%rsp) - - movq %r12, 0xd0(%rsp) /* save R12 */ - movq %r13, 0xd8(%rsp) /* save R13 */ - movq %r14, 0xe0(%rsp) /* save R14 */ - movq %r15, 0xe8(%rsp) /* save R15 */ - movq %rdi, 0xf0(%rsp) /* save RDI */ - movq %rsi, 0xf8(%rsp) /* save RSI */ - movq %rbx, 0x100(%rsp) /* save RBX */ - movq %rbp, 0x108(%rsp) /* save RBP */ - - movq %rcx, 0x110(%rsp) /* save hidden address of transport_t */ - - /* preserve RSP (pointing to context-data) in R9 */ - movq %rsp, %r9 - - /* restore RSP (pointing to context-data) from RDX */ - movq %rdx, %rsp - -#if !defined(BOOST_USE_TSX) - /* restore XMM storage */ - movaps 0x0(%rsp), %xmm6 - movaps 0x10(%rsp), %xmm7 - movaps 0x20(%rsp), %xmm8 - movaps 0x30(%rsp), %xmm9 - movaps 0x40(%rsp), %xmm10 - movaps 0x50(%rsp), %xmm11 - movaps 0x60(%rsp), %xmm12 - movaps 0x70(%rsp), %xmm13 - movaps 0x80(%rsp), %xmm14 - movaps 0x90(%rsp), %xmm15 - ldmxcsr 0xa0(%rsp) /* restore MMX control- and status-word */ - fldcw 0xa4(%rsp) /* restore x87 control-word */ -#endif - - /* load NT_TIB */ - movq %gs:(0x30), %r10 - /* restore fiber local storage */ - movq 0xb0(%rsp), %rax - movq %rax, 0x20(%r10) - /* restore current deallocation stack */ - movq 0xb8(%rsp), %rax - movq %rax, 0x1478(%r10) - /* restore current stack limit */ - movq 0xc0(%rsp), %rax - movq %rax, 0x10(%r10) - /* restore current stack base */ - movq 0xc8(%rsp), %rax - movq %rax, 0x08(%r10) - - movq 0xd0(%rsp), %r12 /* restore R12 */ - movq 0xd8(%rsp), %r13 /* restore R13 */ - movq 0xe0(%rsp), %r14 /* restore R14 */ - movq 0xe8(%rsp), %r15 /* restore R15 */ - movq 0xf0(%rsp), %rdi /* restore RDI */ - movq 0xf8(%rsp), %rsi /* restore RSI */ - movq 0x100(%rsp), %rbx /* restore RBX */ - movq 0x108(%rsp), %rbp /* restore RBP */ - - movq 0x110(%rsp), %rax /* restore hidden address of transport_t */ - - leaq 0x118(%rsp), %rsp /* prepare stack */ - - /* restore return-address */ - popq %r10 - - /* transport_t returned in RAX */ - /* return parent fcontext_t */ - movq %r9, 0x0(%rax) - /* return data */ - movq %r8, 0x8(%rax) - - /* transport_t as 1.arg of context-function */ - movq %rax, %rcx - - /* indirect jump to context */ - jmp *%r10 -.seh_endproc - -.section .drectve -.ascii " -export:\"jump_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/make_arm64_aapcs_pe_armclang.S b/contrib/restricted/boost/context/src/asm/make_arm64_aapcs_pe_armclang.S deleted file mode 100644 index cab00e922b..0000000000 --- a/contrib/restricted/boost/context/src/asm/make_arm64_aapcs_pe_armclang.S +++ /dev/null @@ -1,118 +0,0 @@ -/* - Copyright Edward Nevill + Oliver Kowalke 2015 - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/****************************************************** -* * -* ------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* ------------------------------------------------- * -* | 0x0 | 0x4 | 0x8 | 0xc | 0x10| 0x14| 0x18| 0x1c| * -* ------------------------------------------------- * -* | d8 | d9 | d10 | d11 | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* ------------------------------------------------- * -* | 0x20| 0x24| 0x28| 0x2c| 0x30| 0x34| 0x38| 0x3c| * -* ------------------------------------------------- * -* | d12 | d13 | d14 | d15 | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | * -* ------------------------------------------------- * -* | 0x40| 0x44| 0x48| 0x4c| 0x50| 0x54| 0x58| 0x5c| * -* ------------------------------------------------- * -* | x19 | x20 | x21 | x22 | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | * -* ------------------------------------------------- * -* | 0x60| 0x64| 0x68| 0x6c| 0x70| 0x74| 0x78| 0x7c| * -* ------------------------------------------------- * -* | x23 | x24 | x25 | x26 | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | * -* ------------------------------------------------- * -* | 0x80| 0x84| 0x88| 0x8c| 0x90| 0x94| 0x98| 0x9c| * -* ------------------------------------------------- * -* | x27 | x28 | FP | LR | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | * -* ------------------------------------------------- * -* | 0xa0| 0xa4| 0xa8| 0xac| 0xb0| 0xb4| 0xb8| 0xbc| * -* ------------------------------------------------- * -* | base | limit | dealloc | fiber data| * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 48 | 49 | 50 | 51 | | | * -* ------------------------------------------------- * -* | 0xc0| 0xc4| 0xc8| 0xcc| | | * -* ------------------------------------------------- * -* | PC | align | | | * -* ------------------------------------------------- * -* * -*******************************************************/ - -.file "make_arm64_aapcs_pe_armclang.S" -.text -.balign 4 - -.globl make_fcontext -.def make_fcontext; .scl 2; .type 32; .endef -.seh_proc make_fcontext -make_fcontext: -.seh_endprologue - // save stack top address to x3 - mov x3, x0 - - // shift address in x0 (allocated stack) to lower 16 byte boundary - and x0, x0, ~0xF - - // reserve space for context-data on context-stack - sub x0, x0, #0xd0 - - // save top address of context_stack as 'base' - str x3, [x0, #0xa0] - // save bottom address of context-stack as 'limit' and 'dealloction stack' - sub x3, x3, x1 - stp x3, x3, [x0, #0xa8] - // save 0 as 'fiber data' - str xzr, [x0, #0xb8] - - // third arg of make_fcontext() == address of context-function - // store address as x19 for trampoline - str x2, [x0, #0x40] - // store trampoline address as pc - adr x2, trampoline - str x2, [x0, #0xc0] - - // save address of finish as return-address for context-function - // will be entered after context-function returns (LR register) - adr x1, finish - str x1, [x0, #0x98] - - ret x30 // return pointer to context-data (x0) - -trampoline: - stp fp, lr, [sp, #-0x10]! - mov fp, sp - blr x19 - -finish: - // exit code is zero - mov x0, #0 - // exit application - bl _exit - -.seh_endproc - -.def _exit; .scl 2; .type 32; .endef /* standard C library function */ - -.section .drectve -.ascii " -export:\"make_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/make_i386_ms_pe_clang_gas.S b/contrib/restricted/boost/context/src/asm/make_i386_ms_pe_clang_gas.S deleted file mode 100644 index 79f5024602..0000000000 --- a/contrib/restricted/boost/context/src/asm/make_i386_ms_pe_clang_gas.S +++ /dev/null @@ -1,153 +0,0 @@ -/* - Copyright Oliver Kowalke 2009. - Copyright Thomas Sailer 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/************************************************************************************* -* --------------------------------------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* --------------------------------------------------------------------------------- * -* | 0h | 04h | 08h | 0ch | 010h | 014h | 018h | 01ch | * -* --------------------------------------------------------------------------------- * -* | fc_mxcsr|fc_x87_cw| fc_strg |fc_deallo| limit | base | fc_seh | EDI | * -* --------------------------------------------------------------------------------- * -* --------------------------------------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* --------------------------------------------------------------------------------- * -* | 020h | 024h | 028h | 02ch | 030h | 034h | 038h | 03ch | * -* --------------------------------------------------------------------------------- * -* | ESI | EBX | EBP | EIP | to | data | EH NXT |SEH HNDLR| * -* --------------------------------------------------------------------------------- * -**************************************************************************************/ - -.file "make_i386_ms_pe_clang_gas.S" -.text -.p2align 4,,15 - -/* mark as using no unregistered SEH handlers */ -.globl @feat.00 -.def @feat.00; .scl 3; .type 0; .endef -.set @feat.00, 1 - -.globl _make_fcontext -.def _make_fcontext; .scl 2; .type 32; .endef -_make_fcontext: - /* first arg of make_fcontext() == top of context-stack */ - movl 0x04(%esp), %eax - - /* reserve space for first argument of context-function */ - /* EAX might already point to a 16byte border */ - leal -0x8(%eax), %eax - - /* shift address in EAX to lower 16 byte boundary */ - andl $-16, %eax - - /* reserve space for context-data on context-stack */ - /* size for fc_mxcsr .. EIP + return-address for context-function */ - /* on context-function entry: (ESP -0x4) % 8 == 0 */ - /* additional space is required for SEH */ - leal -0x40(%eax), %eax - - /* save MMX control- and status-word */ - stmxcsr (%eax) - /* save x87 control-word */ - fnstcw 0x4(%eax) - - /* first arg of make_fcontext() == top of context-stack */ - movl 0x4(%esp), %ecx - /* save top address of context stack as 'base' */ - movl %ecx, 0x14(%eax) - /* second arg of make_fcontext() == size of context-stack */ - movl 0x8(%esp), %edx - /* negate stack size for LEA instruction (== substraction) */ - negl %edx - /* compute bottom address of context stack (limit) */ - leal (%ecx,%edx), %ecx - /* save bottom address of context-stack as 'limit' */ - movl %ecx, 0x10(%eax) - /* save bottom address of context-stack as 'dealloction stack' */ - movl %ecx, 0xc(%eax) - /* set fiber-storage to zero */ - xorl %ecx, %ecx - movl %ecx, 0x8(%eax) - - /* third arg of make_fcontext() == address of context-function */ - /* stored in EBX */ - movl 0xc(%esp), %ecx - movl %ecx, 0x24(%eax) - - /* compute abs address of label trampoline */ - movl $trampoline, %ecx - /* save address of trampoline as return-address for context-function */ - /* will be entered after calling jump_fcontext() first time */ - movl %ecx, 0x2c(%eax) - - /* compute abs address of label finish */ - movl $finish, %ecx - /* save address of finish as return-address for context-function */ - /* will be entered after context-function returns */ - movl %ecx, 0x28(%eax) - - /* traverse current seh chain to get the last exception handler installed by Windows */ - /* note that on Windows Server 2008 and 2008 R2, SEHOP is activated by default */ - /* the exception handler chain is tested for the presence of ntdll.dll!FinalExceptionHandler */ - /* at its end by RaiseException all seh andlers are disregarded if not present and the */ - /* program is aborted */ - /* load NT_TIB into ECX */ - movl %fs:(0x0), %ecx - -walk: - /* load 'next' member of current SEH into EDX */ - movl (%ecx), %edx - /* test if 'next' of current SEH is last (== 0xffffffff) */ - incl %edx - jz found - decl %edx - /* exchange content; ECX contains address of next SEH */ - xchgl %ecx, %edx - /* inspect next SEH */ - jmp walk - -found: - /* load 'handler' member of SEH == address of last SEH handler installed by Windows */ - movl 0x04(%ecx), %ecx - /* save address in ECX as SEH handler for context */ - movl %ecx, 0x3c(%eax) - /* set ECX to -1 */ - movl $0xffffffff, %ecx - /* save ECX as next SEH item */ - movl %ecx, 0x38(%eax) - /* load address of next SEH item */ - leal 0x38(%eax), %ecx - /* save next SEH */ - movl %ecx, 0x18(%eax) - - /* return pointer to context-data */ - ret - -trampoline: - /* move transport_t for entering context-function */ - /* FCTX == EAX, DATA == EDX */ - movl %eax, (%esp) - movl %edx, 0x4(%esp) - /* label finish as return-address */ - pushl %ebp - /* jump to context-function */ - jmp *%ebx - -finish: - /* ESP points to same address as ESP on entry of context function + 0x4 */ - xorl %eax, %eax - /* exit code is zero */ - movl %eax, (%esp) - /* exit application */ - call __exit - hlt - -.def __exit; .scl 2; .type 32; .endef /* standard C library function */ - -.section .drectve -.ascii " -export:\"_make_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/make_i386_ms_pe_gas.asm b/contrib/restricted/boost/context/src/asm/make_i386_ms_pe_gas.asm deleted file mode 100644 index 608ddf3af0..0000000000 --- a/contrib/restricted/boost/context/src/asm/make_i386_ms_pe_gas.asm +++ /dev/null @@ -1,153 +0,0 @@ -/* - Copyright Oliver Kowalke 2009. - Copyright Thomas Sailer 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/************************************************************************************* -* --------------------------------------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* --------------------------------------------------------------------------------- * -* | 0h | 04h | 08h | 0ch | 010h | 014h | 018h | 01ch | * -* --------------------------------------------------------------------------------- * -* | fc_mxcsr|fc_x87_cw| fc_strg |fc_deallo| limit | base | fc_seh | EDI | * -* --------------------------------------------------------------------------------- * -* --------------------------------------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* --------------------------------------------------------------------------------- * -* | 020h | 024h | 028h | 02ch | 030h | 034h | 038h | 03ch | * -* --------------------------------------------------------------------------------- * -* | ESI | EBX | EBP | EIP | to | data | EH NXT |SEH HNDLR| * -* --------------------------------------------------------------------------------- * -**************************************************************************************/ - -.file "make_i386_ms_pe_gas.asm" -.text -.p2align 4,,15 - -/* mark as using no unregistered SEH handlers */ -.globl @feat.00 -.def @feat.00; .scl 3; .type 0; .endef -.set @feat.00, 1 - -.globl _make_fcontext -.def _make_fcontext; .scl 2; .type 32; .endef -_make_fcontext: - /* first arg of make_fcontext() == top of context-stack */ - movl 0x04(%esp), %eax - - /* reserve space for first argument of context-function */ - /* EAX might already point to a 16byte border */ - leal -0x8(%eax), %eax - - /* shift address in EAX to lower 16 byte boundary */ - andl $-16, %eax - - /* reserve space for context-data on context-stack */ - /* size for fc_mxcsr .. EIP + return-address for context-function */ - /* on context-function entry: (ESP -0x4) % 8 == 0 */ - /* additional space is required for SEH */ - leal -0x40(%eax), %eax - - /* save MMX control- and status-word */ - stmxcsr (%eax) - /* save x87 control-word */ - fnstcw 0x4(%eax) - - /* first arg of make_fcontext() == top of context-stack */ - movl 0x4(%esp), %ecx - /* save top address of context stack as 'base' */ - movl %ecx, 0x14(%eax) - /* second arg of make_fcontext() == size of context-stack */ - movl 0x8(%esp), %edx - /* negate stack size for LEA instruction (== substraction) */ - negl %edx - /* compute bottom address of context stack (limit) */ - leal (%ecx,%edx), %ecx - /* save bottom address of context-stack as 'limit' */ - movl %ecx, 0x10(%eax) - /* save bottom address of context-stack as 'dealloction stack' */ - movl %ecx, 0xc(%eax) - /* set fiber-storage to zero */ - xorl %ecx, %ecx - movl %ecx, 0x8(%eax) - - /* third arg of make_fcontext() == address of context-function */ - /* stored in EBX */ - movl 0xc(%esp), %ecx - movl %ecx, 0x24(%eax) - - /* compute abs address of label trampoline */ - movl $trampoline, %ecx - /* save address of trampoline as return-address for context-function */ - /* will be entered after calling jump_fcontext() first time */ - movl %ecx, 0x2c(%eax) - - /* compute abs address of label finish */ - movl $finish, %ecx - /* save address of finish as return-address for context-function */ - /* will be entered after context-function returns */ - movl %ecx, 0x28(%eax) - - /* traverse current seh chain to get the last exception handler installed by Windows */ - /* note that on Windows Server 2008 and 2008 R2, SEHOP is activated by default */ - /* the exception handler chain is tested for the presence of ntdll.dll!FinalExceptionHandler */ - /* at its end by RaiseException all seh andlers are disregarded if not present and the */ - /* program is aborted */ - /* load NT_TIB into ECX */ - movl %fs:(0x0), %ecx - -walk: - /* load 'next' member of current SEH into EDX */ - movl (%ecx), %edx - /* test if 'next' of current SEH is last (== 0xffffffff) */ - incl %edx - jz found - decl %edx - /* exchange content; ECX contains address of next SEH */ - xchgl %ecx, %edx - /* inspect next SEH */ - jmp walk - -found: - /* load 'handler' member of SEH == address of last SEH handler installed by Windows */ - movl 0x04(%ecx), %ecx - /* save address in ECX as SEH handler for context */ - movl %ecx, 0x3c(%eax) - /* set ECX to -1 */ - movl $0xffffffff, %ecx - /* save ECX as next SEH item */ - movl %ecx, 0x38(%eax) - /* load address of next SEH item */ - leal 0x38(%eax), %ecx - /* save next SEH */ - movl %ecx, 0x18(%eax) - - /* return pointer to context-data */ - ret - -trampoline: - /* move transport_t for entering context-function */ - /* FCTX == EAX, DATA == EDX */ - movl %eax, (%esp) - movl %edx, 0x4(%esp) - /* label finish as return-address */ - pushl %ebp - /* jump to context-function */ - jmp *%ebx - -finish: - /* ESP points to same address as ESP on entry of context function + 0x4 */ - xorl %eax, %eax - /* exit code is zero */ - movl %eax, (%esp) - /* exit application */ - call __exit - hlt - -.def __exit; .scl 2; .type 32; .endef /* standard C library function */ - -.section .drectve -.ascii " -export:\"make_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/make_i386_x86_64_sysv_macho_gas.S b/contrib/restricted/boost/context/src/asm/make_i386_x86_64_sysv_macho_gas.S deleted file mode 100644 index e364b2db62..0000000000 --- a/contrib/restricted/boost/context/src/asm/make_i386_x86_64_sysv_macho_gas.S +++ /dev/null @@ -1,16 +0,0 @@ -/* - Copyright Sergue E. Leontiev 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -// Stub file for universal binary - -#if defined(__i386__) - #include "make_i386_sysv_macho_gas.S" -#elif defined(__x86_64__) - #include "make_x86_64_sysv_macho_gas.S" -#else - #error "No arch's" -#endif diff --git a/contrib/restricted/boost/context/src/asm/make_x86_64_ms_pe_clang_gas.S b/contrib/restricted/boost/context/src/asm/make_x86_64_ms_pe_clang_gas.S deleted file mode 100644 index 9b3a6fccf7..0000000000 --- a/contrib/restricted/boost/context/src/asm/make_x86_64_ms_pe_clang_gas.S +++ /dev/null @@ -1,174 +0,0 @@ -/* - Copyright Oliver Kowalke 2009. - Copyright Thomas Sailer 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/************************************************************************************* -* ---------------------------------------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* ---------------------------------------------------------------------------------- * -* | 0x0 | 0x4 | 0x8 | 0xc | 0x10 | 0x14 | 0x18 | 0x1c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* ---------------------------------------------------------------------------------- * -* | 0x20 | 0x24 | 0x28 | 0x2c | 0x30 | 0x34 | 0x38 | 0x3c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | * -* ---------------------------------------------------------------------------------- * -* | 0xe40 | 0x44 | 0x48 | 0x4c | 0x50 | 0x54 | 0x58 | 0x5c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | * -* ---------------------------------------------------------------------------------- * -* | 0x60 | 0x64 | 0x68 | 0x6c | 0x70 | 0x74 | 0x78 | 0x7c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 32 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | * -* ---------------------------------------------------------------------------------- * -* | 0x80 | 0x84 | 0x88 | 0x8c | 0x90 | 0x94 | 0x98 | 0x9c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | * -* ---------------------------------------------------------------------------------- * -* | 0xa0 | 0xa4 | 0xa8 | 0xac | 0xb0 | 0xb4 | 0xb8 | 0xbc | * -* ---------------------------------------------------------------------------------- * -* | fc_mxcsr|fc_x87_cw| <alignment> | fbr_strg | fc_dealloc | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | * -* ---------------------------------------------------------------------------------- * -* | 0xc0 | 0xc4 | 0xc8 | 0xcc | 0xd0 | 0xd4 | 0xd8 | 0xdc | * -* ---------------------------------------------------------------------------------- * -* | limit | base | R12 | R13 | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | * -* ---------------------------------------------------------------------------------- * -* | 0xe0 | 0xe4 | 0xe8 | 0xec | 0xf0 | 0xf4 | 0xf8 | 0xfc | * -* ---------------------------------------------------------------------------------- * -* | R14 | R15 | RDI | RSI | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | * -* ---------------------------------------------------------------------------------- * -* | 0x100 | 0x104 | 0x108 | 0x10c | 0x110 | 0x114 | 0x118 | 0x11c | * -* ---------------------------------------------------------------------------------- * -* | RBX | RBP | hidden | RIP | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | * -* ---------------------------------------------------------------------------------- * -* | 0x120 | 0x124 | 0x128 | 0x12c | 0x130 | 0x134 | 0x138 | 0x13c | * -* ---------------------------------------------------------------------------------- * -* | parameter area | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | * -* ---------------------------------------------------------------------------------- * -* | 0x140 | 0x144 | 0x148 | 0x14c | 0x150 | 0x154 | 0x158 | 0x15c | * -* ---------------------------------------------------------------------------------- * -* | FCTX | DATA | | * -* ---------------------------------------------------------------------------------- * -**************************************************************************************/ - -.file "make_x86_64_ms_pe_clang_gas.S" -.text -.p2align 4,,15 -.globl make_fcontext -.def make_fcontext; .scl 2; .type 32; .endef -.seh_proc make_fcontext -make_fcontext: -.seh_endprologue - - /* first arg of make_fcontext() == top of context-stack */ - movq %rcx, %rax - - /* shift address in RAX to lower 16 byte boundary */ - /* == pointer to fcontext_t and address of context stack */ - andq $-16, %rax - - /* reserve space for context-data on context-stack */ - /* on context-function entry: (RSP -0x8) % 16 == 0 */ - leaq -0x150(%rax), %rax - - /* third arg of make_fcontext() == address of context-function */ - movq %r8, 0x100(%rax) - - /* first arg of make_fcontext() == top of context-stack */ - /* save top address of context stack as 'base' */ - movq %rcx, 0xc8(%rax) - /* second arg of make_fcontext() == size of context-stack */ - /* negate stack size for LEA instruction (== substraction) */ - negq %rdx - /* compute bottom address of context stack (limit) */ - leaq (%rcx,%rdx), %rcx - /* save bottom address of context stack as 'limit' */ - movq %rcx, 0xc0(%rax) - /* save address of context stack limit as 'dealloction stack' */ - movq %rcx, 0xb8(%rax) - /* set fiber-storage to zero */ - xorq %rcx, %rcx - movq %rcx, 0xb0(%rax) - - /* save MMX control- and status-word */ - stmxcsr 0xa0(%rax) - /* save x87 control-word */ - fnstcw 0xa4(%rax) - - /* compute address of transport_t */ - leaq 0x140(%rax), %rcx - /* store address of transport_t in hidden field */ - movq %rcx, 0x110(%rax) - - /* compute abs address of label trampoline */ - leaq trampoline(%rip), %rcx - /* save address of finish as return-address for context-function */ - /* will be entered after jump_fcontext() first time */ - movq %rcx, 0x118(%rax) - - /* compute abs address of label finish */ - leaq finish(%rip), %rcx - /* save address of finish as return-address for context-function */ - /* will be entered after context-function returns */ - movq %rcx, 0x108(%rax) - - ret /* return pointer to context-data */ - -trampoline: - /* store return address on stack */ - /* fix stack alignment */ - pushq %rbp - /* jump to context-function */ - jmp *%rbx - -finish: - /* 32byte shadow-space for _exit() */ - andq $-32, %rsp - /* 32byte shadow-space for _exit() are */ - /* already reserved by make_fcontext() */ - /* exit code is zero */ - xorq %rcx, %rcx - /* exit application */ - call _exit - hlt -.seh_endproc - -.def _exit; .scl 2; .type 32; .endef /* standard C library function */ - -.section .drectve -.ascii " -export:\"make_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/make_x86_64_ms_pe_gas.asm b/contrib/restricted/boost/context/src/asm/make_x86_64_ms_pe_gas.asm deleted file mode 100644 index 958a2a7b6d..0000000000 --- a/contrib/restricted/boost/context/src/asm/make_x86_64_ms_pe_gas.asm +++ /dev/null @@ -1,174 +0,0 @@ -/* - Copyright Oliver Kowalke 2009. - Copyright Thomas Sailer 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/************************************************************************************* -* ---------------------------------------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* ---------------------------------------------------------------------------------- * -* | 0x0 | 0x4 | 0x8 | 0xc | 0x10 | 0x14 | 0x18 | 0x1c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* ---------------------------------------------------------------------------------- * -* | 0x20 | 0x24 | 0x28 | 0x2c | 0x30 | 0x34 | 0x38 | 0x3c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | * -* ---------------------------------------------------------------------------------- * -* | 0xe40 | 0x44 | 0x48 | 0x4c | 0x50 | 0x54 | 0x58 | 0x5c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | * -* ---------------------------------------------------------------------------------- * -* | 0x60 | 0x64 | 0x68 | 0x6c | 0x70 | 0x74 | 0x78 | 0x7c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 32 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | * -* ---------------------------------------------------------------------------------- * -* | 0x80 | 0x84 | 0x88 | 0x8c | 0x90 | 0x94 | 0x98 | 0x9c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | * -* ---------------------------------------------------------------------------------- * -* | 0xa0 | 0xa4 | 0xa8 | 0xac | 0xb0 | 0xb4 | 0xb8 | 0xbc | * -* ---------------------------------------------------------------------------------- * -* | fc_mxcsr|fc_x87_cw| <alignment> | fbr_strg | fc_dealloc | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | * -* ---------------------------------------------------------------------------------- * -* | 0xc0 | 0xc4 | 0xc8 | 0xcc | 0xd0 | 0xd4 | 0xd8 | 0xdc | * -* ---------------------------------------------------------------------------------- * -* | limit | base | R12 | R13 | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | * -* ---------------------------------------------------------------------------------- * -* | 0xe0 | 0xe4 | 0xe8 | 0xec | 0xf0 | 0xf4 | 0xf8 | 0xfc | * -* ---------------------------------------------------------------------------------- * -* | R14 | R15 | RDI | RSI | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | * -* ---------------------------------------------------------------------------------- * -* | 0x100 | 0x104 | 0x108 | 0x10c | 0x110 | 0x114 | 0x118 | 0x11c | * -* ---------------------------------------------------------------------------------- * -* | RBX | RBP | hidden | RIP | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | * -* ---------------------------------------------------------------------------------- * -* | 0x120 | 0x124 | 0x128 | 0x12c | 0x130 | 0x134 | 0x138 | 0x13c | * -* ---------------------------------------------------------------------------------- * -* | parameter area | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | * -* ---------------------------------------------------------------------------------- * -* | 0x140 | 0x144 | 0x148 | 0x14c | 0x150 | 0x154 | 0x158 | 0x15c | * -* ---------------------------------------------------------------------------------- * -* | FCTX | DATA | | * -* ---------------------------------------------------------------------------------- * -**************************************************************************************/ - -.file "make_x86_64_ms_pe_gas.asm" -.text -.p2align 4,,15 -.globl make_fcontext -.def make_fcontext; .scl 2; .type 32; .endef -.seh_proc make_fcontext -make_fcontext: -.seh_endprologue - - /* first arg of make_fcontext() == top of context-stack */ - movq %rcx, %rax - - /* shift address in RAX to lower 16 byte boundary */ - /* == pointer to fcontext_t and address of context stack */ - andq $-16, %rax - - /* reserve space for context-data on context-stack */ - /* on context-function entry: (RSP -0x8) % 16 == 0 */ - leaq -0x150(%rax), %rax - - /* third arg of make_fcontext() == address of context-function */ - movq %r8, 0x100(%rax) - - /* first arg of make_fcontext() == top of context-stack */ - /* save top address of context stack as 'base' */ - movq %rcx, 0xc8(%rax) - /* second arg of make_fcontext() == size of context-stack */ - /* negate stack size for LEA instruction (== substraction) */ - negq %rdx - /* compute bottom address of context stack (limit) */ - leaq (%rcx,%rdx), %rcx - /* save bottom address of context stack as 'limit' */ - movq %rcx, 0xc0(%rax) - /* save address of context stack limit as 'dealloction stack' */ - movq %rcx, 0xb8(%rax) - /* set fiber-storage to zero */ - xorq %rcx, %rcx - movq %rcx, 0xb0(%rax) - - /* save MMX control- and status-word */ - stmxcsr 0xa0(%rax) - /* save x87 control-word */ - fnstcw 0xa4(%rax) - - /* compute address of transport_t */ - leaq 0x140(%rax), %rcx - /* store address of transport_t in hidden field */ - movq %rcx, 0x110(%rax) - - /* compute abs address of label trampoline */ - leaq trampoline(%rip), %rcx - /* save address of finish as return-address for context-function */ - /* will be entered after jump_fcontext() first time */ - movq %rcx, 0x118(%rax) - - /* compute abs address of label finish */ - leaq finish(%rip), %rcx - /* save address of finish as return-address for context-function */ - /* will be entered after context-function returns */ - movq %rcx, 0x108(%rax) - - ret /* return pointer to context-data */ - -trampoline: - /* store return address on stack */ - /* fix stack alignment */ - pushq %rbp - /* jump to context-function */ - jmp *%rbx - -finish: - /* 32byte shadow-space for _exit() */ - andq $-32, %rsp - /* 32byte shadow-space for _exit() are */ - /* already reserved by make_fcontext() */ - /* exit code is zero */ - xorq %rcx, %rcx - /* exit application */ - call _exit - hlt -.seh_endproc - -.def _exit; .scl 2; .type 32; .endef /* standard C library function */ - -.section .drectve -.ascii " -export:\"make_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/ontop_arm64_aapcs_pe_armclang.S b/contrib/restricted/boost/context/src/asm/ontop_arm64_aapcs_pe_armclang.S deleted file mode 100644 index bdf097b71c..0000000000 --- a/contrib/restricted/boost/context/src/asm/ontop_arm64_aapcs_pe_armclang.S +++ /dev/null @@ -1,140 +0,0 @@ -/* - Copyright Edward Nevill + Oliver Kowalke 2015 - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/****************************************************** -* * -* ------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* ------------------------------------------------- * -* | 0x0 | 0x4 | 0x8 | 0xc | 0x10| 0x14| 0x18| 0x1c| * -* ------------------------------------------------- * -* | d8 | d9 | d10 | d11 | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* ------------------------------------------------- * -* | 0x20| 0x24| 0x28| 0x2c| 0x30| 0x34| 0x38| 0x3c| * -* ------------------------------------------------- * -* | d12 | d13 | d14 | d15 | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | * -* ------------------------------------------------- * -* | 0x40| 0x44| 0x48| 0x4c| 0x50| 0x54| 0x58| 0x5c| * -* ------------------------------------------------- * -* | x19 | x20 | x21 | x22 | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | * -* ------------------------------------------------- * -* | 0x60| 0x64| 0x68| 0x6c| 0x70| 0x74| 0x78| 0x7c| * -* ------------------------------------------------- * -* | x23 | x24 | x25 | x26 | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | * -* ------------------------------------------------- * -* | 0x80| 0x84| 0x88| 0x8c| 0x90| 0x94| 0x98| 0x9c| * -* ------------------------------------------------- * -* | x27 | x28 | FP | LR | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | * -* ------------------------------------------------- * -* | 0xa0| 0xa4| 0xa8| 0xac| 0xb0| 0xb4| 0xb8| 0xbc| * -* ------------------------------------------------- * -* | fiber data| base | limit | dealloc | * -* ------------------------------------------------- * -* ------------------------------------------------- * -* | 48 | 49 | 50 | 51 | | | * -* ------------------------------------------------- * -* | 0xc0| 0xc4| 0xc8| 0xcc| | | * -* ------------------------------------------------- * -* | PC | align | | | * -* ------------------------------------------------- * -* * -*******************************************************/ - -.file "ontop_arm64_aapcs_pe_armclang.S" -.text -.balign 4 - -.def ontop_fcontext; .scl 2; .type 32; .endef -.seh_proc ontop_fcontext -ontop_fcontext: -.seh_endprologue - // prepare stack for GP + FPU - sub sp, sp, #0xd0 - - // save d8 - d15 - stp d8, d9, [sp, #0x00] - stp d10, d11, [sp, #0x10] - stp d12, d13, [sp, #0x20] - stp d14, d15, [sp, #0x30] - - // save x19-x30 - stp x19, x20, [sp, #0x40] - stp x21, x22, [sp, #0x50] - stp x23, x24, [sp, #0x60] - stp x25, x26, [sp, #0x70] - stp x27, x28, [sp, #0x80] - stp x29, x30, [sp, #0x90] - - // save LR as PC - str x30, [sp, #0xc0] - - // save current stack base and limit - ldp x5, x6, [x18, #0x08] // TeStackBase and TeStackLimit at ksarm64.h - stp x5, x6, [sp, #0xa0] - // save current fiber data and deallocation stack - ldr x5, [x18, #0x1478] // TeDeallocationStack at ksarm64.h - ldr x6, [x18, #0x20] // TeFiberData at ksarm64.h - stp x5, x6, [sp, #0xb0] - - // store RSP (pointing to context-data) in X5 - mov x4, sp - - // restore RSP (pointing to context-data) from X1 - mov sp, x0 - - // restore stack base and limit - ldp x5, x6, [sp, #0xa0] - stp x5, x6, [x18, #0x08] // TeStackBase and TeStackLimit at ksarm64.h - // restore fiber data and deallocation stack - ldp x5, x6, [sp, #0xb0] - str x5, [x18, #0x1478] // TeDeallocationStack at ksarm64.h - str x6, [x18, #0x20] // TeFiberData at ksarm64.h - - // load d8 - d15 - ldp d8, d9, [sp, #0x00] - ldp d10, d11, [sp, #0x10] - ldp d12, d13, [sp, #0x20] - ldp d14, d15, [sp, #0x30] - - // load x19-x30 - ldp x19, x20, [sp, #0x40] - ldp x21, x22, [sp, #0x50] - ldp x23, x24, [sp, #0x60] - ldp x25, x26, [sp, #0x70] - ldp x27, x28, [sp, #0x80] - ldp x29, x30, [sp, #0x90] - - // return transfer_t from jump - // pass transfer_t as first arg in context function - // X0 == FCTX, X1 == DATA - mov x0, x4 - - // skip pc - // restore stack from GP + FPU - add sp, sp, #0xc0 - - // jump to ontop-function - ret x2 -.seh_endproc - -.section .drectve -.ascii " -export:\"ontop_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/ontop_i386_ms_pe_clang_gas.S b/contrib/restricted/boost/context/src/asm/ontop_i386_ms_pe_clang_gas.S deleted file mode 100644 index 16eb33e1a7..0000000000 --- a/contrib/restricted/boost/context/src/asm/ontop_i386_ms_pe_clang_gas.S +++ /dev/null @@ -1,131 +0,0 @@ -/* - Copyright Oliver Kowalke 2009. - Copyright Thomas Sailer 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/************************************************************************************* -* --------------------------------------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* --------------------------------------------------------------------------------- * -* | 0h | 04h | 08h | 0ch | 010h | 014h | 018h | 01ch | * -* --------------------------------------------------------------------------------- * -* | fc_mxcsr|fc_x87_cw| fc_strg |fc_deallo| limit | base | fc_seh | EDI | * -* --------------------------------------------------------------------------------- * -* --------------------------------------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* --------------------------------------------------------------------------------- * -* | 020h | 024h | 028h | 02ch | 030h | 034h | 038h | 03ch | * -* --------------------------------------------------------------------------------- * -* | ESI | EBX | EBP | EIP | to | data | EH NXT |SEH HNDLR| * -* --------------------------------------------------------------------------------- * -**************************************************************************************/ - -.file "ontop_i386_ms_pe_clang_gas.S" -.text -.p2align 4,,15 - -/* mark as using no unregistered SEH handlers */ -.globl @feat.00 -.def @feat.00; .scl 3; .type 0; .endef -.set @feat.00, 1 - -.globl _ontop_fcontext -.def _ontop_fcontext; .scl 2; .type 32; .endef -_ontop_fcontext: - /* prepare stack */ - leal -0x2c(%esp), %esp - -#if !defined(BOOST_USE_TSX) - /* save MMX control- and status-word */ - stmxcsr (%esp) - /* save x87 control-word */ - fnstcw 0x4(%esp) -#endif - - /* load NT_TIB */ - movl %fs:(0x18), %edx - /* load fiber local storage */ - movl 0x10(%edx), %eax - movl %eax, 0x8(%esp) - /* load current dealloction stack */ - movl 0xe0c(%edx), %eax - movl %eax, 0xc(%esp) - /* load current stack limit */ - movl 0x8(%edx), %eax - movl %eax, 0x10(%esp) - /* load current stack base */ - movl 0x4(%edx), %eax - movl %eax, 0x14(%esp) - /* load current SEH exception list */ - movl (%edx), %eax - movl %eax, 0x18(%esp) - - movl %edi, 0x1c(%esp) /* save EDI */ - movl %esi, 0x20(%esp) /* save ESI */ - movl %ebx, 0x24(%esp) /* save EBX */ - movl %ebp, 0x28(%esp) /* save EBP */ - - /* store ESP (pointing to context-data) in ECX */ - movl %esp, %ecx - - /* first arg of ontop_fcontext() == fcontext to jump to */ - movl 0x30(%esp), %eax - - /* pass parent fcontext_t */ - movl %ecx, 0x30(%eax) - - /* second arg of ontop_fcontext() == data to be transferred */ - movl 0x34(%esp), %ecx - - /* pass data */ - movl %ecx, 0x34(%eax) - - /* third arg of ontop_fcontext() == ontop-function */ - movl 0x38(%esp), %ecx - - /* restore ESP (pointing to context-data) from EDX */ - movl %eax, %esp - -#if !defined(BOOST_USE_TSX) - /* restore MMX control- and status-word */ - ldmxcsr (%esp) - /* restore x87 control-word */ - fldcw 0x4(%esp) -#endif - - /* restore NT_TIB into EDX */ - movl %fs:(0x18), %edx - /* restore fiber local storage */ - movl 0x8(%esp), %eax - movl %eax, 0x10(%edx) - /* restore current deallocation stack */ - movl 0xc(%esp), %eax - movl %eax, 0xe0c(%edx) - /* restore current stack limit */ - movl 0x10(%esp), %eax - movl %eax, 0x08(%edx) - /* restore current stack base */ - movl 0x14(%esp), %eax - movl %eax, 0x04(%edx) - /* restore current SEH exception list */ - movl 0x18(%esp), %eax - movl %eax, (%edx) - - movl 0x1c(%esp), %edi /* restore EDI */ - movl 0x20(%esp), %esi /* restore ESI */ - movl 0x24(%esp), %ebx /* restore EBX */ - movl 0x28(%esp), %ebp /* restore EBP */ - - /* prepare stack */ - leal 0x2c(%esp), %esp - - /* keep return-address on stack */ - - /* jump to context */ - jmp *%ecx - -.section .drectve -.ascii " -export:\"_ontop_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/ontop_i386_ms_pe_gas.asm b/contrib/restricted/boost/context/src/asm/ontop_i386_ms_pe_gas.asm deleted file mode 100644 index abe9002a4b..0000000000 --- a/contrib/restricted/boost/context/src/asm/ontop_i386_ms_pe_gas.asm +++ /dev/null @@ -1,131 +0,0 @@ -/* - Copyright Oliver Kowalke 2009. - Copyright Thomas Sailer 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/************************************************************************************* -* --------------------------------------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* --------------------------------------------------------------------------------- * -* | 0h | 04h | 08h | 0ch | 010h | 014h | 018h | 01ch | * -* --------------------------------------------------------------------------------- * -* | fc_mxcsr|fc_x87_cw| fc_strg |fc_deallo| limit | base | fc_seh | EDI | * -* --------------------------------------------------------------------------------- * -* --------------------------------------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* --------------------------------------------------------------------------------- * -* | 020h | 024h | 028h | 02ch | 030h | 034h | 038h | 03ch | * -* --------------------------------------------------------------------------------- * -* | ESI | EBX | EBP | EIP | to | data | EH NXT |SEH HNDLR| * -* --------------------------------------------------------------------------------- * -**************************************************************************************/ - -.file "ontop_i386_ms_pe_gas.asm" -.text -.p2align 4,,15 - -/* mark as using no unregistered SEH handlers */ -.globl @feat.00 -.def @feat.00; .scl 3; .type 0; .endef -.set @feat.00, 1 - -.globl _ontop_fcontext -.def _ontop_fcontext; .scl 2; .type 32; .endef -_ontop_fcontext: - /* prepare stack */ - leal -0x2c(%esp), %esp - -#if !defined(BOOST_USE_TSX) - /* save MMX control- and status-word */ - stmxcsr (%esp) - /* save x87 control-word */ - fnstcw 0x4(%esp) -#endif - - /* load NT_TIB */ - movl %fs:(0x18), %edx - /* load fiber local storage */ - movl 0x10(%edx), %eax - movl %eax, 0x8(%esp) - /* load current dealloction stack */ - movl 0xe0c(%edx), %eax - movl %eax, 0xc(%esp) - /* load current stack limit */ - movl 0x8(%edx), %eax - movl %eax, 0x10(%esp) - /* load current stack base */ - movl 0x4(%edx), %eax - movl %eax, 0x14(%esp) - /* load current SEH exception list */ - movl (%edx), %eax - movl %eax, 0x18(%esp) - - movl %edi, 0x1c(%esp) /* save EDI */ - movl %esi, 0x20(%esp) /* save ESI */ - movl %ebx, 0x24(%esp) /* save EBX */ - movl %ebp, 0x28(%esp) /* save EBP */ - - /* store ESP (pointing to context-data) in ECX */ - movl %esp, %ecx - - /* first arg of ontop_fcontext() == fcontext to jump to */ - movl 0x30(%esp), %eax - - /* pass parent fcontext_t */ - movl %ecx, 0x30(%eax) - - /* second arg of ontop_fcontext() == data to be transferred */ - movl 0x34(%esp), %ecx - - /* pass data */ - movl %ecx, 0x34(%eax) - - /* third arg of ontop_fcontext() == ontop-function */ - movl 0x38(%esp), %ecx - - /* restore ESP (pointing to context-data) from EDX */ - movl %eax, %esp - -#if !defined(BOOST_USE_TSX) - /* restore MMX control- and status-word */ - ldmxcsr (%esp) - /* restore x87 control-word */ - fldcw 0x4(%esp) -#endif - - /* restore NT_TIB into EDX */ - movl %fs:(0x18), %edx - /* restore fiber local storage */ - movl 0x8(%esp), %eax - movl %eax, 0x10(%edx) - /* restore current deallocation stack */ - movl 0xc(%esp), %eax - movl %eax, 0xe0c(%edx) - /* restore current stack limit */ - movl 0x10(%esp), %eax - movl %eax, 0x08(%edx) - /* restore current stack base */ - movl 0x14(%esp), %eax - movl %eax, 0x04(%edx) - /* restore current SEH exception list */ - movl 0x18(%esp), %eax - movl %eax, (%edx) - - movl 0x1c(%esp), %edi /* restore EDI */ - movl 0x20(%esp), %esi /* restore ESI */ - movl 0x24(%esp), %ebx /* restore EBX */ - movl 0x28(%esp), %ebp /* restore EBP */ - - /* prepare stack */ - leal 0x2c(%esp), %esp - - /* keep return-address on stack */ - - /* jump to context */ - jmp *%ecx - -.section .drectve -.ascii " -export:\"ontop_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/ontop_i386_x86_64_sysv_macho_gas.S b/contrib/restricted/boost/context/src/asm/ontop_i386_x86_64_sysv_macho_gas.S deleted file mode 100644 index 393c5fe43e..0000000000 --- a/contrib/restricted/boost/context/src/asm/ontop_i386_x86_64_sysv_macho_gas.S +++ /dev/null @@ -1,16 +0,0 @@ -/* - Copyright Sergue E. Leontiev 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -// Stub file for universal binary - -#if defined(__i386__) - #include "ontop_i386_sysv_macho_gas.S" -#elif defined(__x86_64__) - #include "ontop_x86_64_sysv_macho_gas.S" -#else - #error "No arch's" -#endif diff --git a/contrib/restricted/boost/context/src/asm/ontop_x86_64_ms_pe_clang_gas.S b/contrib/restricted/boost/context/src/asm/ontop_x86_64_ms_pe_clang_gas.S deleted file mode 100644 index 162c1f4ea0..0000000000 --- a/contrib/restricted/boost/context/src/asm/ontop_x86_64_ms_pe_clang_gas.S +++ /dev/null @@ -1,211 +0,0 @@ -/* - Copyright Oliver Kowalke 2009. - Copyright Thomas Sailer 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/************************************************************************************* -* ---------------------------------------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* ---------------------------------------------------------------------------------- * -* | 0x0 | 0x4 | 0x8 | 0xc | 0x10 | 0x14 | 0x18 | 0x1c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* ---------------------------------------------------------------------------------- * -* | 0x20 | 0x24 | 0x28 | 0x2c | 0x30 | 0x34 | 0x38 | 0x3c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | * -* ---------------------------------------------------------------------------------- * -* | 0xe40 | 0x44 | 0x48 | 0x4c | 0x50 | 0x54 | 0x58 | 0x5c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | * -* ---------------------------------------------------------------------------------- * -* | 0x60 | 0x64 | 0x68 | 0x6c | 0x70 | 0x74 | 0x78 | 0x7c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 32 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | * -* ---------------------------------------------------------------------------------- * -* | 0x80 | 0x84 | 0x88 | 0x8c | 0x90 | 0x94 | 0x98 | 0x9c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | * -* ---------------------------------------------------------------------------------- * -* | 0xa0 | 0xa4 | 0xa8 | 0xac | 0xb0 | 0xb4 | 0xb8 | 0xbc | * -* ---------------------------------------------------------------------------------- * -* | fc_mxcsr|fc_x87_cw| <alignment> | fbr_strg | fc_dealloc | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | * -* ---------------------------------------------------------------------------------- * -* | 0xc0 | 0xc4 | 0xc8 | 0xcc | 0xd0 | 0xd4 | 0xd8 | 0xdc | * -* ---------------------------------------------------------------------------------- * -* | limit | base | R12 | R13 | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | * -* ---------------------------------------------------------------------------------- * -* | 0xe0 | 0xe4 | 0xe8 | 0xec | 0xf0 | 0xf4 | 0xf8 | 0xfc | * -* ---------------------------------------------------------------------------------- * -* | R14 | R15 | RDI | RSI | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | * -* ---------------------------------------------------------------------------------- * -* | 0x100 | 0x104 | 0x108 | 0x10c | 0x110 | 0x114 | 0x118 | 0x11c | * -* ---------------------------------------------------------------------------------- * -* | RBX | RBP | hidden | RIP | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | * -* ---------------------------------------------------------------------------------- * -* | 0x120 | 0x124 | 0x128 | 0x12c | 0x130 | 0x134 | 0x138 | 0x13c | * -* ---------------------------------------------------------------------------------- * -* | parameter area | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | * -* ---------------------------------------------------------------------------------- * -* | 0x140 | 0x144 | 0x148 | 0x14c | 0x150 | 0x154 | 0x158 | 0x15c | * -* ---------------------------------------------------------------------------------- * -* | FCTX | DATA | | * -* ---------------------------------------------------------------------------------- * -**************************************************************************************/ - -.file "ontop_x86_64_ms_pe_clang_gas.S" -.text -.p2align 4,,15 -.globl ontop_fcontext -.def ontop_fcontext; .scl 2; .type 32; .endef -.seh_proc ontop_fcontext -ontop_fcontext: -.seh_endprologue - - leaq -0x118(%rsp), %rsp /* prepare stack */ - -#if !defined(BOOST_USE_TSX) - /* save XMM storage */ - movaps %xmm6, 0x0(%rsp) - movaps %xmm7, 0x10(%rsp) - movaps %xmm8, 0x20(%rsp) - movaps %xmm9, 0x30(%rsp) - movaps %xmm10, 0x40(%rsp) - movaps %xmm11, 0x50(%rsp) - movaps %xmm12, 0x60(%rsp) - movaps %xmm13, 0x70(%rsp) - movaps %xmm14, 0x80(%rsp) - movaps %xmm15, 0x90(%rsp) - stmxcsr 0xa0(%rsp) /* save MMX control- and status-word */ - fnstcw 0xa4(%rsp) /* save x87 control-word */ -#endif - - /* load NT_TIB */ - movq %gs:(0x30), %r10 - /* save fiber local storage */ - movq 0x20(%r10), %rax - movq %rax, 0xb0(%rsp) - /* save current deallocation stack */ - movq 0x1478(%r10), %rax - movq %rax, 0xb8(%rsp) - /* save current stack limit */ - movq 0x10(%r10), %rax - movq %rax, 0xc0(%rsp) - /* save current stack base */ - movq 0x08(%r10), %rax - movq %rax, 0xc8(%rsp) - - movq %r12, 0xd0(%rsp) /* save R12 */ - movq %r13, 0xd8(%rsp) /* save R13 */ - movq %r14, 0xe0(%rsp) /* save R14 */ - movq %r15, 0xe8(%rsp) /* save R15 */ - movq %rdi, 0xf0(%rsp) /* save RDI */ - movq %rsi, 0xf8(%rsp) /* save RSI */ - movq %rbx, 0x100(%rsp) /* save RBX */ - movq %rbp, 0x108(%rsp) /* save RBP */ - - movq %rcx, 0x110(%rsp) /* save hidden address of transport_t */ - - /* preserve RSP (pointing to context-data) in RCX */ - movq %rsp, %rcx - - /* restore RSP (pointing to context-data) from RDX */ - movq %rdx, %rsp - -#if !defined(BOOST_USE_TSX) - /* restore XMM storage */ - movaps 0x0(%rsp), %xmm6 - movaps 0x10(%rsp), %xmm7 - movaps 0x20(%rsp), %xmm8 - movaps 0x30(%rsp), %xmm9 - movaps 0x40(%rsp), %xmm10 - movaps 0x50(%rsp), %xmm11 - movaps 0x60(%rsp), %xmm12 - movaps 0x70(%rsp), %xmm13 - movaps 0x80(%rsp), %xmm14 - movaps 0x90(%rsp), %xmm15 - ldmxcsr 0xa0(%rsp) /* restore MMX control- and status-word */ - fldcw 0xa4(%rsp) /* restore x87 control-word */ -#endif - - /* load NT_TIB */ - movq %gs:(0x30), %r10 - /* restore fiber local storage */ - movq 0xb0(%rsp), %rax - movq %rax, 0x20(%r10) - /* restore current deallocation stack */ - movq 0xb8(%rsp), %rax - movq %rax, 0x1478(%r10) - /* restore current stack limit */ - movq 0xc0(%rsp), %rax - movq %rax, 0x10(%r10) - /* restore current stack base */ - movq 0xc8(%rsp), %rax - movq %rax, 0x08(%r10) - - movq 0xd0(%rsp), %r12 /* restore R12 */ - movq 0xd8(%rsp), %r13 /* restore R13 */ - movq 0xe0(%rsp), %r14 /* restore R14 */ - movq 0xe8(%rsp), %r15 /* restore R15 */ - movq 0xf0(%rsp), %rdi /* restore RDI */ - movq 0xf8(%rsp), %rsi /* restore RSI */ - movq 0x100(%rsp), %rbx /* restore RBX */ - movq 0x108(%rsp), %rbp /* restore RBP */ - - movq 0x110(%rsp), %rax /* restore hidden address of transport_t */ - - leaq 0x118(%rsp), %rsp /* prepare stack */ - - /* keep return-address on stack */ - - /* transport_t returned in RAX */ - /* return parent fcontext_t */ - movq %rcx, 0x0(%rax) - /* return data */ - movq %r8, 0x8(%rax) - - /* transport_t as 1.arg of context-function */ - /* RCX contains address of returned (hidden) transfer_t */ - movq %rax, %rcx - /* RDX contains address of passed transfer_t */ - movq %rax, %rdx - - /* indirect jump to context */ - jmp *%r9 -.seh_endproc - -.section .drectve -.ascii " -export:\"ontop_fcontext\"" diff --git a/contrib/restricted/boost/context/src/asm/ontop_x86_64_ms_pe_gas.asm b/contrib/restricted/boost/context/src/asm/ontop_x86_64_ms_pe_gas.asm deleted file mode 100644 index 02e040c9dc..0000000000 --- a/contrib/restricted/boost/context/src/asm/ontop_x86_64_ms_pe_gas.asm +++ /dev/null @@ -1,211 +0,0 @@ -/* - Copyright Oliver Kowalke 2009. - Copyright Thomas Sailer 2013. - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -*/ - -/************************************************************************************* -* ---------------------------------------------------------------------------------- * -* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * -* ---------------------------------------------------------------------------------- * -* | 0x0 | 0x4 | 0x8 | 0xc | 0x10 | 0x14 | 0x18 | 0x1c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * -* ---------------------------------------------------------------------------------- * -* | 0x20 | 0x24 | 0x28 | 0x2c | 0x30 | 0x34 | 0x38 | 0x3c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | * -* ---------------------------------------------------------------------------------- * -* | 0xe40 | 0x44 | 0x48 | 0x4c | 0x50 | 0x54 | 0x58 | 0x5c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | * -* ---------------------------------------------------------------------------------- * -* | 0x60 | 0x64 | 0x68 | 0x6c | 0x70 | 0x74 | 0x78 | 0x7c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 32 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | * -* ---------------------------------------------------------------------------------- * -* | 0x80 | 0x84 | 0x88 | 0x8c | 0x90 | 0x94 | 0x98 | 0x9c | * -* ---------------------------------------------------------------------------------- * -* | SEE registers (XMM6-XMM15) | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | * -* ---------------------------------------------------------------------------------- * -* | 0xa0 | 0xa4 | 0xa8 | 0xac | 0xb0 | 0xb4 | 0xb8 | 0xbc | * -* ---------------------------------------------------------------------------------- * -* | fc_mxcsr|fc_x87_cw| <alignment> | fbr_strg | fc_dealloc | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | * -* ---------------------------------------------------------------------------------- * -* | 0xc0 | 0xc4 | 0xc8 | 0xcc | 0xd0 | 0xd4 | 0xd8 | 0xdc | * -* ---------------------------------------------------------------------------------- * -* | limit | base | R12 | R13 | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | * -* ---------------------------------------------------------------------------------- * -* | 0xe0 | 0xe4 | 0xe8 | 0xec | 0xf0 | 0xf4 | 0xf8 | 0xfc | * -* ---------------------------------------------------------------------------------- * -* | R14 | R15 | RDI | RSI | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | * -* ---------------------------------------------------------------------------------- * -* | 0x100 | 0x104 | 0x108 | 0x10c | 0x110 | 0x114 | 0x118 | 0x11c | * -* ---------------------------------------------------------------------------------- * -* | RBX | RBP | hidden | RIP | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | * -* ---------------------------------------------------------------------------------- * -* | 0x120 | 0x124 | 0x128 | 0x12c | 0x130 | 0x134 | 0x138 | 0x13c | * -* ---------------------------------------------------------------------------------- * -* | parameter area | * -* ---------------------------------------------------------------------------------- * -* ---------------------------------------------------------------------------------- * -* | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | * -* ---------------------------------------------------------------------------------- * -* | 0x140 | 0x144 | 0x148 | 0x14c | 0x150 | 0x154 | 0x158 | 0x15c | * -* ---------------------------------------------------------------------------------- * -* | FCTX | DATA | | * -* ---------------------------------------------------------------------------------- * -**************************************************************************************/ - -.file "ontop_x86_64_ms_pe_gas.asm" -.text -.p2align 4,,15 -.globl ontop_fcontext -.def ontop_fcontext; .scl 2; .type 32; .endef -.seh_proc ontop_fcontext -ontop_fcontext: -.seh_endprologue - - leaq -0x118(%rsp), %rsp /* prepare stack */ - -#if !defined(BOOST_USE_TSX) - /* save XMM storage */ - movaps %xmm6, 0x0(%rsp) - movaps %xmm7, 0x10(%rsp) - movaps %xmm8, 0x20(%rsp) - movaps %xmm9, 0x30(%rsp) - movaps %xmm10, 0x40(%rsp) - movaps %xmm11, 0x50(%rsp) - movaps %xmm12, 0x60(%rsp) - movaps %xmm13, 0x70(%rsp) - movaps %xmm14, 0x80(%rsp) - movaps %xmm15, 0x90(%rsp) - stmxcsr 0xa0(%rsp) /* save MMX control- and status-word */ - fnstcw 0xa4(%rsp) /* save x87 control-word */ -#endif - - /* load NT_TIB */ - movq %gs:(0x30), %r10 - /* save fiber local storage */ - movq 0x20(%r10), %rax - movq %rax, 0xb0(%rsp) - /* save current deallocation stack */ - movq 0x1478(%r10), %rax - movq %rax, 0xb8(%rsp) - /* save current stack limit */ - movq 0x10(%r10), %rax - movq %rax, 0xc0(%rsp) - /* save current stack base */ - movq 0x08(%r10), %rax - movq %rax, 0xc8(%rsp) - - movq %r12, 0xd0(%rsp) /* save R12 */ - movq %r13, 0xd8(%rsp) /* save R13 */ - movq %r14, 0xe0(%rsp) /* save R14 */ - movq %r15, 0xe8(%rsp) /* save R15 */ - movq %rdi, 0xf0(%rsp) /* save RDI */ - movq %rsi, 0xf8(%rsp) /* save RSI */ - movq %rbx, 0x100(%rsp) /* save RBX */ - movq %rbp, 0x108(%rsp) /* save RBP */ - - movq %rcx, 0x110(%rsp) /* save hidden address of transport_t */ - - /* preserve RSP (pointing to context-data) in RCX */ - movq %rsp, %rcx - - /* restore RSP (pointing to context-data) from RDX */ - movq %rdx, %rsp - -#if !defined(BOOST_USE_TSX) - /* restore XMM storage */ - movaps 0x0(%rsp), %xmm6 - movaps 0x10(%rsp), %xmm7 - movaps 0x20(%rsp), %xmm8 - movaps 0x30(%rsp), %xmm9 - movaps 0x40(%rsp), %xmm10 - movaps 0x50(%rsp), %xmm11 - movaps 0x60(%rsp), %xmm12 - movaps 0x70(%rsp), %xmm13 - movaps 0x80(%rsp), %xmm14 - movaps 0x90(%rsp), %xmm15 - ldmxcsr 0xa0(%rsp) /* restore MMX control- and status-word */ - fldcw 0xa4(%rsp) /* restore x87 control-word */ -#endif - - /* load NT_TIB */ - movq %gs:(0x30), %r10 - /* restore fiber local storage */ - movq 0xb0(%rsp), %rax - movq %rax, 0x20(%r10) - /* restore current deallocation stack */ - movq 0xb8(%rsp), %rax - movq %rax, 0x1478(%r10) - /* restore current stack limit */ - movq 0xc0(%rsp), %rax - movq %rax, 0x10(%r10) - /* restore current stack base */ - movq 0xc8(%rsp), %rax - movq %rax, 0x08(%r10) - - movq 0xd0(%rsp), %r12 /* restore R12 */ - movq 0xd8(%rsp), %r13 /* restore R13 */ - movq 0xe0(%rsp), %r14 /* restore R14 */ - movq 0xe8(%rsp), %r15 /* restore R15 */ - movq 0xf0(%rsp), %rdi /* restore RDI */ - movq 0xf8(%rsp), %rsi /* restore RSI */ - movq 0x100(%rsp), %rbx /* restore RBX */ - movq 0x108(%rsp), %rbp /* restore RBP */ - - movq 0x110(%rsp), %rax /* restore hidden address of transport_t */ - - leaq 0x118(%rsp), %rsp /* prepare stack */ - - /* keep return-address on stack */ - - /* transport_t returned in RAX */ - /* return parent fcontext_t */ - movq %rcx, 0x0(%rax) - /* return data */ - movq %r8, 0x8(%rax) - - /* transport_t as 1.arg of context-function */ - /* RCX contains address of returned (hidden) transfer_t */ - movq %rax, %rcx - /* RDX contains address of passed transfer_t */ - movq %rax, %rdx - - /* indirect jump to context */ - jmp *%r9 -.seh_endproc - -.section .drectve -.ascii " -export:\"ontop_fcontext\"" diff --git a/yt/yt/client/driver/proxy_discovery_cache.cpp b/yt/yt/client/driver/proxy_discovery_cache.cpp index a17894a93e..a9612bb359 100644 --- a/yt/yt/client/driver/proxy_discovery_cache.cpp +++ b/yt/yt/client/driver/proxy_discovery_cache.cpp @@ -70,6 +70,8 @@ public: private: const IClientPtr Client_; + const NLogging::TLogger Logger = DriverLogger(); + TFuture<TProxyDiscoveryResponse> DoGet( const TProxyDiscoveryRequest& request, bool /*isPeriodicUpdate*/) noexcept override @@ -93,7 +95,13 @@ private: options.ReadFrom = EMasterChannelKind::LocalCache; options.Attributes = {BalancersAttributeName}; - auto path = GetProxyRegistryPath(request.Type) + "/@"; + TYPath path; + try { + path = GetProxyRegistryPath(request.Type) + "/@"; + } catch (const std::exception& ex) { + YT_LOG_ERROR(ex, "Failed to get proxy registry path"); + return MakeFuture<std::optional<TProxyDiscoveryResponse>>(ex); + } return Client_->GetNode(path, options).Apply( BIND([=] (const TYsonString& yson) -> std::optional<TProxyDiscoveryResponse> { auto attributes = ConvertTo<IMapNodePtr>(yson); @@ -120,7 +128,13 @@ private: options.SuppressTransactionCoordinatorSync = true; options.Attributes = {BannedAttributeName, RoleAttributeName, AddressesAttributeName}; - auto path = GetProxyRegistryPath(request.Type); + TYPath path; + try { + path = GetProxyRegistryPath(request.Type); + } catch (const std::exception& ex) { + YT_LOG_ERROR(ex, "Failed to get proxy registry path"); + return MakeFuture<TProxyDiscoveryResponse>(ex); + } return Client_->GetNode(path, options).Apply(BIND([=] (const TYsonString& yson) { TProxyDiscoveryResponse response; |