From ab9b6a42512d5d4848b69a1b52c2b3d1808603be Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 5 Jul 2014 19:17:16 +0000 Subject: [PATCH] [PSEH/RTL/CRT] Some ARM related compilation fixes, plus remove a useless define svn path=/trunk/; revision=63689 --- reactos/lib/pseh/CMakeLists.txt | 4 ++++ reactos/lib/rtl/exception.c | 8 +++++++- reactos/lib/sdk/crt/CMakeLists.txt | 5 +++++ reactos/lib/sdk/crt/string/winesup.c | 1 - 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/reactos/lib/pseh/CMakeLists.txt b/reactos/lib/pseh/CMakeLists.txt index 84ea2a2758f..e0e44f42709 100644 --- a/reactos/lib/pseh/CMakeLists.txt +++ b/reactos/lib/pseh/CMakeLists.txt @@ -33,6 +33,10 @@ else() list(APPEND ASM_SOURCE amd64/seh.s amd64/seh_prolog.s) + elseif(ARCH STREQUAL "arm") + list(APPEND ASM_SOURCE + arm/seh_prolog.s) + list(APPEND SOURCE dummy.c) endif() list(APPEND SOURCE dummy.c) diff --git a/reactos/lib/rtl/exception.c b/reactos/lib/rtl/exception.c index 000365d7815..cc82c16b45f 100644 --- a/reactos/lib/rtl/exception.c +++ b/reactos/lib/rtl/exception.c @@ -221,8 +221,14 @@ static VOID DbgPrint("R8: %I64x R9: %I64x R10: %I64x R11: %I64x\n", pc->R8, pc->R9, pc->R10, pc->R11); DbgPrint("R12: %I64x R13: %I64x R14: %I64x R15: %I64x\n", pc->R12, pc->R13, pc->R14, pc->R15); DbgPrint("EFLAGS: %.8x\n", pc->EFlags); +#elif defined(_M_ARM) + DbgPrint("Pc: %lx Lr: %lx Sp: %lx Cpsr: %lx\n", pc->Pc, pc->Lr, pc->Sp, pc->Cpsr); + DbgPrint("R0: %lx R1: %lx R2: %lx R3: %lx\n", pc->R0, pc->R1, pc->R2, pc->R3); + DbgPrint("R4: %lx R5: %lx R6: %lx R7: %lx\n", pc->R4, pc->R5, pc->R6, pc->R7); + DbgPrint("R8: %lx R9: %lx R10: %lx R11: %lx\n", pc->R8, pc->R9, pc->R10, pc->R11); + DbgPrint("R12: %lx \n", pc->R12); #else -#warning Unknown architecture +#pragma message ("Unknown architecture") #endif } diff --git a/reactos/lib/sdk/crt/CMakeLists.txt b/reactos/lib/sdk/crt/CMakeLists.txt index 5df63e0ad96..53b496397e4 100644 --- a/reactos/lib/sdk/crt/CMakeLists.txt +++ b/reactos/lib/sdk/crt/CMakeLists.txt @@ -13,6 +13,11 @@ elseif(ARCH STREQUAL "amd64") if(NOT MSVC) list(APPEND CHKSTK_SOURCE except/amd64/chkstk_ms.s) endif() +elseif(ARCH STREQUAL "arm") + list(APPEND CHKSTK_ASM_SOURCE except/arm/chkstk_asm.s) + if(NOT MSVC) + list(APPEND CHKSTK_SOURCE except/arm/chkstk_ms.s) + endif() elseif(ARCH STREQUAL "powerpc") list(APPEND CHKSTK_ASM_SOURCE except/powerpc/chkstk_asm.s) endif() diff --git a/reactos/lib/sdk/crt/string/winesup.c b/reactos/lib/sdk/crt/string/winesup.c index 860fe85cdb4..b20691d8ffe 100644 --- a/reactos/lib/sdk/crt/string/winesup.c +++ b/reactos/lib/sdk/crt/string/winesup.c @@ -99,4 +99,3 @@ _internal_handle_float( else _SET_NUMBER_(float); } } -#undef _SET_NUMBER_ -- 2.17.1