From 348fc78a0c09f568fc86098b93a291ab04a0e2da Mon Sep 17 00:00:00 2001 From: maweiye Date: Mon, 23 May 2022 16:43:50 +0800 Subject: [PATCH] Add crtbrand.s file Signed-off-by: maweiye --- musl_src.gni | 3 +++ porting/linux/user/arch/generic/crtbrand.s | 10 ++++++++++ porting/linux/user/crt/aarch64/crti.s | 15 +++++++++++++++ porting/linux/user/crt/arm/crti.s | 15 +++++++++++++++ 4 files changed, 43 insertions(+) create mode 100644 porting/linux/user/arch/generic/crtbrand.s create mode 100644 porting/linux/user/crt/aarch64/crti.s create mode 100644 porting/linux/user/crt/arm/crti.s diff --git a/musl_src.gni b/musl_src.gni index dffe00fd..61988bcc 100755 --- a/musl_src.gni +++ b/musl_src.gni @@ -1825,6 +1825,7 @@ musl_inc_root_files = [ musl_src_porting_file = [ "arch/arm/bits/fenv.h", "arch/generic/bits/shm.h", + "arch/generic/crtbrand.s", "include/ctype.h", "include/pthread.h", "include/sys/capability.h", @@ -1849,6 +1850,8 @@ musl_src_porting_file = [ "src/thread/arm/syscall_cp.s", "src/ldso/dlclose.c", "ldso/dynlink.c", + "crt/arm/crti.s", + "crt/aarch64/crti.s", ] musl_inc_hook_files = [ diff --git a/porting/linux/user/arch/generic/crtbrand.s b/porting/linux/user/arch/generic/crtbrand.s new file mode 100644 index 00000000..06a53378 --- /dev/null +++ b/porting/linux/user/arch/generic/crtbrand.s @@ -0,0 +1,10 @@ + .section .note.ohos.ident,"a",%note + .balign 4 + .type abitag, %object +abitag: + .long 2f-1f // int32_t namesz + .long 3f-2f // int32_t descsz +1:.ascii "OHOS\0" // char name[] +2:.long 1 // int32_t ohos_api +3: + .size abitag, .-abitag diff --git a/porting/linux/user/crt/aarch64/crti.s b/porting/linux/user/crt/aarch64/crti.s new file mode 100644 index 00000000..4a9039d3 --- /dev/null +++ b/porting/linux/user/crt/aarch64/crti.s @@ -0,0 +1,15 @@ +.include "crtbrand.s" + +.section .init +.global _init +.type _init,%function +_init: + stp x29,x30,[sp,-16]! + mov x29,sp + +.section .fini +.global _fini +.type _fini,%function +_fini: + stp x29,x30,[sp,-16]! + mov x29,sp diff --git a/porting/linux/user/crt/arm/crti.s b/porting/linux/user/crt/arm/crti.s new file mode 100644 index 00000000..72acf186 --- /dev/null +++ b/porting/linux/user/crt/arm/crti.s @@ -0,0 +1,15 @@ +.include "crtbrand.s" + +.syntax unified + +.section .init +.global _init +.type _init,%function +_init: + push {r0,lr} + +.section .fini +.global _fini +.type _fini,%function +_fini: + push {r0,lr} -- GitLab