mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-29 22:10:27 +00:00
Get --ftrace working on aarch64
This change implements a new approach to function call logging, that's based on the GCC flag: -fpatchable-function-entry. Read the commentary in build/config.mk to learn how it works.
This commit is contained in:
parent
5b908bc756
commit
eb40cb371d
934 changed files with 2259 additions and 1268 deletions
|
@ -1,5 +1,6 @@
|
|||
#ifndef COSMOPOLITAN_LIBC_INTRIN_AARCH64_ASMDEFS_H_
|
||||
#define COSMOPOLITAN_LIBC_INTRIN_AARCH64_ASMDEFS_H_
|
||||
#include "libc/macros.internal.h"
|
||||
#ifdef __ASSEMBLER__
|
||||
// clang-format off
|
||||
|
||||
|
@ -44,7 +45,9 @@ GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_PAC)
|
|||
.global name; \
|
||||
.type name,%function; \
|
||||
.align alignment; \
|
||||
.ftrace1; \
|
||||
name: \
|
||||
.ftrace2; \
|
||||
.cfi_startproc; \
|
||||
BTI_C;
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __memchr_aarch64 memchr
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __memcmp_aarch64 memcmp
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __memcpy_aarch64_simd memcpy
|
||||
#define __memmove_aarch64_simd memmove
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __memrchr_aarch64 memrchr
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __memset_aarch64 memset
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __stpcpy_aarch64 stpcpy
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __strchr_aarch64 strchr
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __strchrnul_aarch64 strchrnul
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __strcmp_aarch64 strcmp
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __strcpy_aarch64 strcpy
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __strlen_aarch64 strlen
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __strncmp_aarch64 strncmp
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __strnlen_aarch64 strnlen
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
│ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │
|
||||
│ │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/intrin/aarch64/asmdefs.h"
|
||||
#include "libc/intrin/aarch64/asmdefs.internal.h"
|
||||
|
||||
#define __strrchr_aarch64 strrchr
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue