mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2025-01-22 08:10:30 +01:00
[ARM] This patch add some missing bits on ARM platform.
* src/arm/unwind_i (arm_lock, arm_local_resume): Define. * src/ptrace/_UPT_find_proc_info.c: Handle ARM like X86 etc. * tests/flush-cache.S (flush_cache): Add (dummy) ARM-version. ARM does need executable stack, even on Linux... Signed-off-by: Anderson Lizardo <anderson.lizardo@indt.org.br> Signed-off-by: Bruna Moreira <bruna.moreira@indt.org.br>
This commit is contained in:
parent
6f282a00f5
commit
1eddefc371
3 changed files with 11 additions and 2 deletions
|
@ -32,6 +32,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||||
|
|
||||||
#include "libunwind_i.h"
|
#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)
|
#define arm_local_addr_space_init UNW_OBJ(local_addr_space_init)
|
||||||
|
|
||||||
extern void arm_local_addr_space_init (void);
|
extern void arm_local_addr_space_init (void);
|
||||||
|
|
|
@ -145,7 +145,8 @@ _UPTi_find_unwind_table (struct UPT_info *ui, unw_addr_space_t as,
|
||||||
return &ui->di_cache;
|
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-eh.h"
|
||||||
#include "dwarf_i.h"
|
#include "dwarf_i.h"
|
||||||
|
|
|
@ -66,11 +66,17 @@ flush_cache:
|
||||||
lwz 31, -4(11) ;
|
lwz 31, -4(11) ;
|
||||||
mr 1, 11 ;
|
mr 1, 11 ;
|
||||||
blr
|
blr
|
||||||
|
#elif defined(__arm__)
|
||||||
|
.text
|
||||||
|
.globl flush_cache
|
||||||
|
flush_cache:
|
||||||
|
bx lr
|
||||||
|
|
||||||
#else
|
#else
|
||||||
# error Need flush_cache code for this architecture.
|
# error Need flush_cache code for this architecture.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined ( __linux__) && !defined (__arm__)
|
||||||
/* We do not need executable stack. */
|
/* We do not need executable stack. */
|
||||||
.section .note.GNU-stack,"",@progbits
|
.section .note.GNU-stack,"",@progbits
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue