OLD | NEW |
| (Empty) |
1 #include "pthread_impl.h" | |
2 | |
3 void __unmapself_sh_mmu(void *, size_t); | |
4 void __unmapself_sh_nommu(void *, size_t); | |
5 | |
6 #if !defined(__SH3__) && !defined(__SH4__) | |
7 #define __unmapself __unmapself_sh_nommu | |
8 #include "dynlink.h" | |
9 #undef CRTJMP | |
10 #define CRTJMP(pc,sp) __asm__ __volatile__( \ | |
11 "mov.l @%0+,r0 ; mov.l @%0,r12 ; jmp @r0 ; mov %1,r15" \ | |
12 : : "r"(pc), "r"(sp) : "r0", "memory" ) | |
13 #include "../../../src/thread/__unmapself.c" | |
14 #undef __unmapself | |
15 extern __attribute__((__visibility__("hidden"))) unsigned __sh_nommu; | |
16 #else | |
17 #define __sh_nommu 0 | |
18 #endif | |
19 | |
20 void __unmapself(void *base, size_t size) | |
21 { | |
22 if (__sh_nommu) __unmapself_sh_nommu(base, size); | |
23 else __unmapself_sh_mmu(base, size); | |
24 } | |
OLD | NEW |