aboutsummaryrefslogtreecommitdiff
path: root/lib/csu/aarch64/crt1_c.c
diff options
context:
space:
mode:
authorDmitry Chagin <dchagin@FreeBSD.org>2023-07-07 16:56:02 +0000
committerDmitry Chagin <dchagin@FreeBSD.org>2023-07-07 16:56:02 +0000
commitbae6bb0698ee727df601e4418153787b5b4b0c9d (patch)
tree95562b31067adca5057db6e5b1aabd82ed3d6d0a /lib/csu/aarch64/crt1_c.c
parent1a2aa2ffb502403dc1f087722d1482c3c6e8d12b (diff)
downloadsrc-bae6bb0698ee727df601e4418153787b5b4b0c9d.tar.gz
src-bae6bb0698ee727df601e4418153787b5b4b0c9d.zip
csu: Implement _start using as to satisfy unwinders on aarch64
The right unwinding stop indicator should be CFI-undefined PC. https://dwarfstd.org/doc/Dwarf3.pdf - page 118: If a Return Address register is defined in the virtual unwind table, and its rule is undefined (for example, by DW_CFA_undefined), then there is no return address and no call address, and the virtual unwind of stack activations is complete. Reviewed by: Differential Revision: https://reviews.freebsd.org/D40623
Diffstat (limited to 'lib/csu/aarch64/crt1_c.c')
-rw-r--r--lib/csu/aarch64/crt1_c.c15
1 files changed, 0 insertions, 15 deletions
diff --git a/lib/csu/aarch64/crt1_c.c b/lib/csu/aarch64/crt1_c.c
index 7f4fea37ba1a..095c798046b4 100644
--- a/lib/csu/aarch64/crt1_c.c
+++ b/lib/csu/aarch64/crt1_c.c
@@ -32,19 +32,4 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include "libc_private.h"
#include "csu_common.h"
-
-void __start(int, char **, char **, void (*)(void)) __dead2;
-
-/* The entry function. */
-void
-__start(int argc, char *argv[], char *env[], void (*cleanup)(void))
-{
-#ifdef GCRT
- __libc_start1_gcrt(argc, argv, env, cleanup, main, &eprol, &etext);
-__asm__("eprol:");
-#else
- __libc_start1(argc, argv, env, cleanup, main);
-#endif
-}