diff options
Diffstat (limited to 'contrib/llvm-project/compiler-rt/lib/crt/crtbegin.c')
-rw-r--r-- | contrib/llvm-project/compiler-rt/lib/crt/crtbegin.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/contrib/llvm-project/compiler-rt/lib/crt/crtbegin.c b/contrib/llvm-project/compiler-rt/lib/crt/crtbegin.c index 24bea1a2c3a7..481c158ac777 100644 --- a/contrib/llvm-project/compiler-rt/lib/crt/crtbegin.c +++ b/contrib/llvm-project/compiler-rt/lib/crt/crtbegin.c @@ -52,6 +52,10 @@ __attribute__((section(".init_array"), __asm__(".pushsection .init,\"ax\",@progbits\n\t" "call " __USER_LABEL_PREFIX__ "__do_init\n\t" ".popsection"); +#elif defined(__riscv) +__asm__(".pushsection .init,\"ax\",%progbits\n\t" + "call " __USER_LABEL_PREFIX__ "__do_init\n\t" + ".popsection"); #elif defined(__arm__) || defined(__aarch64__) __asm__(".pushsection .init,\"ax\",%progbits\n\t" "bl " __USER_LABEL_PREFIX__ "__do_init\n\t" @@ -110,6 +114,10 @@ __asm__(".pushsection .fini,\"ax\",@progbits\n\t" "bl " __USER_LABEL_PREFIX__ "__do_fini\n\t" "nop\n\t" ".popsection"); +#elif defined(__riscv) +__asm__(".pushsection .fini,\"ax\",@progbits\n\t" + "call " __USER_LABEL_PREFIX__ "__do_fini\n\t" + ".popsection"); #elif defined(__sparc__) __asm__(".pushsection .fini,\"ax\",@progbits\n\t" "call " __USER_LABEL_PREFIX__ "__do_fini\n\t" |