This patch add some missing bits on ARM platform. Signed-off-by: Anderson Lizardo Signed-off-by: Bruna Moreira diff --git a/src/arm/unwind_i.h b/src/arm/unwind_i.h index f0949fa..315aeb2 100644 --- a/src/arm/unwind_i.h +++ b/src/arm/unwind_i.h @@ -32,6 +32,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "libunwind_i.h" +#define arm_lock UNW_OBJ(lock) +#define arm_local_resume UNW_OBJ(local_resume) #define arm_local_addr_space_init UNW_OBJ(local_addr_space_init) extern void arm_local_addr_space_init (void); diff --git a/src/ptrace/_UPT_find_proc_info.c b/src/ptrace/_UPT_find_proc_info.c index 9f4ed38..1fd76b0 100644 --- a/src/ptrace/_UPT_find_proc_info.c +++ b/src/ptrace/_UPT_find_proc_info.c @@ -145,7 +145,8 @@ _UPTi_find_unwind_table (struct UPT_info *ui, unw_addr_space_t as, return &ui->di_cache; } -#elif UNW_TARGET_X86 || UNW_TARGET_X86_64 || UNW_TARGET_HPPA || UNW_TARGET_PPC64 +#elif UNW_TARGET_X86 || UNW_TARGET_X86_64 || UNW_TARGET_HPPA \ +|| UNW_TARGET_PPC64 || UNW_TARGET_ARM #include "dwarf-eh.h" #include "dwarf_i.h" diff --git a/tests/flush-cache.S b/tests/flush-cache.S index d996492..2a17165 100644 --- a/tests/flush-cache.S +++ b/tests/flush-cache.S @@ -66,11 +66,17 @@ flush_cache: lwz 31, -4(11) ; mr 1, 11 ; blr +#elif defined(__arm__) + .text + .globl flush_cache +flush_cache: + bx lr + #else # error Need flush_cache code for this architecture. #endif -#ifdef __linux__ +#if defined ( __linux__) && !defined (__arm__) /* We do not need executable stack. */ .section .note.GNU-stack,"",@progbits #endif