alloca is only defined for i386 and x86_64 arm has __aeabi_ prefixes for mem... calls
Unified · Split
| @@ -1919,8 +1919,10 @@ ST_FUNC void gbound_args(int nb_args) · 1918 unmodified lines | ||
| 1919 | 1919 | gfunc_call(1); |
| 1920 | 1920 | func_bound_add_epilog = 1; |
| 1921 | 1921 | } |
| 1922 | +#if defined TCC_TARGET_I386 || defined TCC_TARGET_X86_64 | |
| 1922 | 1923 | if (v == TOK_alloca) |
| 1923 | 1924 | func_bound_add_epilog = 1; |
| 1925 | +#endif | |
| 1924 | 1926 | } |
| 1925 | 1927 | } |
| 1926 | 1928 | |
| @@ -3706,6 +3706,13 @@ static void tcc_predefs(CString *cstr) · 3705 unmodified lines | ||
| 3706 | 3706 | "__MAYBE_REDIR(void,free,(void*))\n" |
| 3707 | 3707 | #if defined TCC_TARGET_I386 || defined TCC_TARGET_X86_64 |
| 3708 | 3708 | "__BOTH(void*,alloca,(__SIZE_TYPE__))\n" |
| 3709 | +#endif | |
| 3710 | +#if defined(TCC_TARGET_ARM) && defined(TCC_ARM_EABI) | |
| 3711 | + "__BOUND(void*,__aeabi_memcpy,(void*,const void*,__SIZE_TYPE__))\n" | |
| 3712 | + "__BOUND(void*,__aeabi_memmove,(void*,const void*,__SIZE_TYPE__))\n" | |
| 3713 | + "__BOUND(void*,__aeabi_memmove4,(void*,const void*,__SIZE_TYPE__))\n" | |
| 3714 | + "__BOUND(void*,__aeabi_memmove8,(void*,const void*,__SIZE_TYPE__))\n" | |
| 3715 | + "__BOUND(void*,__aeabi_memset,(void*,int,__SIZE_TYPE__))\n" | |
| 3709 | 3716 | #endif |
| 3710 | 3717 | "__BUILTIN(void,abort,(void))\n" |
| 3711 | 3718 | "__BOUND(int,longjmp,())\n" |