aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/aarch64/sysdep.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/aarch64/sysdep.h')
-rw-r--r--sysdeps/aarch64/sysdep.h148
1 files changed, 0 insertions, 148 deletions
diff --git a/sysdeps/aarch64/sysdep.h b/sysdeps/aarch64/sysdep.h
deleted file mode 100644
index a749a707ec..0000000000
--- a/sysdeps/aarch64/sysdep.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
-
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _AARCH64_SYSDEP_H
-#define _AARCH64_SYSDEP_H
-
-#include <sysdeps/generic/sysdep.h>
-
-#ifdef __LP64__
-# define AARCH64_R(NAME) R_AARCH64_ ## NAME
-# define PTR_REG(n) x##n
-# define PTR_LOG_SIZE 3
-# define DELOUSE(n)
-#else
-# define AARCH64_R(NAME) R_AARCH64_P32_ ## NAME
-# define PTR_REG(n) w##n
-# define PTR_LOG_SIZE 2
-# define DELOUSE(n) mov w##n, w##n
-#endif
-
-#define PTR_SIZE (1<<PTR_LOG_SIZE)
-
-#ifdef __ASSEMBLER__
-
-/* Syntactic details of assembler. */
-
-#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
-
-/* Define an entry point visible from C. */
-#define ENTRY(name) \
- .globl C_SYMBOL_NAME(name); \
- .type C_SYMBOL_NAME(name),%function; \
- .align 4; \
- C_LABEL(name) \
- cfi_startproc; \
- CALL_MCOUNT
-
-/* Define an entry point visible from C. */
-#define ENTRY_ALIGN(name, align) \
- .globl C_SYMBOL_NAME(name); \
- .type C_SYMBOL_NAME(name),%function; \
- .p2align align; \
- C_LABEL(name) \
- cfi_startproc; \
- CALL_MCOUNT
-
-/* Define an entry point visible from C with a specified alignment and
- pre-padding with NOPs. This can be used to ensure that a critical
- loop within a function is cache line aligned. Note this version
- does not adjust the padding if CALL_MCOUNT is defined. */
-
-#define ENTRY_ALIGN_AND_PAD(name, align, padding) \
- .globl C_SYMBOL_NAME(name); \
- .type C_SYMBOL_NAME(name),%function; \
- .p2align align; \
- .rep padding; \
- nop; \
- .endr; \
- C_LABEL(name) \
- cfi_startproc; \
- CALL_MCOUNT
-
-#undef END
-#define END(name) \
- cfi_endproc; \
- ASM_SIZE_DIRECTIVE(name)
-
-/* If compiled for profiling, call `mcount' at the start of each function. */
-#ifdef PROF
-# define CALL_MCOUNT \
- str x30, [sp, #-80]!; \
- cfi_adjust_cfa_offset (80); \
- cfi_rel_offset (x30, 0); \
- stp x0, x1, [sp, #16]; \
- cfi_rel_offset (x0, 16); \
- cfi_rel_offset (x1, 24); \
- stp x2, x3, [sp, #32]; \
- cfi_rel_offset (x2, 32); \
- cfi_rel_offset (x3, 40); \
- stp x4, x5, [sp, #48]; \
- cfi_rel_offset (x4, 48); \
- cfi_rel_offset (x5, 56); \
- stp x6, x7, [sp, #64]; \
- cfi_rel_offset (x6, 64); \
- cfi_rel_offset (x7, 72); \
- mov x0, x30; \
- bl mcount; \
- ldp x0, x1, [sp, #16]; \
- cfi_restore (x0); \
- cfi_restore (x1); \
- ldp x2, x3, [sp, #32]; \
- cfi_restore (x2); \
- cfi_restore (x3); \
- ldp x4, x5, [sp, #48]; \
- cfi_restore (x4); \
- cfi_restore (x5); \
- ldp x6, x7, [sp, #64]; \
- cfi_restore (x6); \
- cfi_restore (x7); \
- ldr x30, [sp], #80; \
- cfi_adjust_cfa_offset (-80); \
- cfi_restore (x30);
-#else
-# define CALL_MCOUNT /* Do nothing. */
-#endif
-
-/* Local label name for asm code. */
-#ifndef L
-# define L(name) .L##name
-#endif
-
-/* Load or store to/from a pc-relative EXPR into/from R, using T.
- Note R and T are register numbers and not register names. */
-#define LDST_PCREL(OP, R, T, EXPR) \
- adrp x##T, EXPR; \
- OP PTR_REG (R), [x##T, #:lo12:EXPR]; \
-
-/* Load or store to/from a got-relative EXPR into/from R, using T.
- Note R and T are register numbers and not register names. */
-#define LDST_GLOBAL(OP, R, T, EXPR) \
- adrp x##T, :got:EXPR; \
- ldr PTR_REG (T), [x##T, #:got_lo12:EXPR]; \
- OP PTR_REG (R), [x##T];
-
-/* Since C identifiers are not normally prefixed with an underscore
- on this system, the asm identifier `syscall_error' intrudes on the
- C name space. Make sure we use an innocuous name. */
-#define syscall_error __syscall_error
-#define mcount _mcount
-
-#endif /* __ASSEMBLER__ */
-
-#endif /* _AARCH64_SYSDEP_H */