diff options
author | Ian Moffett <ian@osmora.org> | 2024-03-07 17:28:52 -0500 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2024-03-07 18:24:51 -0500 |
commit | f5e48e94a2f4d4bbd6e5628c7f2afafc6dbcc459 (patch) | |
tree | 93b156621dc0303816b37f60ba88051b702d92f6 /lib/mlibc/options/internal/aarch64 | |
parent | bd5969fc876a10b18613302db7087ef3c40f18e1 (diff) |
build: Build mlibc + add distclean target
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'lib/mlibc/options/internal/aarch64')
-rw-r--r-- | lib/mlibc/options/internal/aarch64/fenv.S | 69 | ||||
-rw-r--r-- | lib/mlibc/options/internal/aarch64/mlibc_crtbegin.S | 29 | ||||
-rw-r--r-- | lib/mlibc/options/internal/aarch64/mlibc_crtend.S | 22 | ||||
-rw-r--r-- | lib/mlibc/options/internal/aarch64/setjmp.S | 63 |
4 files changed, 0 insertions, 183 deletions
diff --git a/lib/mlibc/options/internal/aarch64/fenv.S b/lib/mlibc/options/internal/aarch64/fenv.S deleted file mode 100644 index 1b02e87..0000000 --- a/lib/mlibc/options/internal/aarch64/fenv.S +++ /dev/null @@ -1,69 +0,0 @@ -# The functions below are taken from musl. -.global fegetround -.type fegetround,%function -fegetround: - mrs x0, fpcr - and w0, w0, #0xc00000 - ret - -.global __fesetround -.hidden __fesetround -.type __fesetround,%function -__fesetround: - mrs x1, fpcr - bic w1, w1, #0xc00000 - orr w1, w1, w0 - msr fpcr, x1 - mov w0, #0 - ret - -.global fetestexcept -.type fetestexcept,%function -fetestexcept: - and w0, w0, #0x1f - mrs x1, fpsr - and w0, w0, w1 - ret - -.global feclearexcept -.type feclearexcept,%function -feclearexcept: - and w0, w0, #0x1f - mrs x1, fpsr - bic w1, w1, w0 - msr fpsr, x1 - mov w0, #0 - ret - -.global feraiseexcept -.type feraiseexcept,%function -feraiseexcept: - and w0, w0, #0x1f - mrs x1, fpsr - orr w1, w1, w0 - msr fpsr, x1 - mov w0, #0 - ret - -.global fegetenv -.type fegetenv,%function -fegetenv: - mrs x1, fpcr - mrs x2, fpsr - stp w1, w2, [x0] - mov w0, #0 - ret - -// TODO preserve some bits -.global fesetenv -.type fesetenv,%function -fesetenv: - mov x1, #0 - mov x2, #0 - cmn x0, #1 - b.eq 1f - ldp w1, w2, [x0] -1: msr fpcr, x1 - msr fpsr, x2 - mov w0, #0 - ret diff --git a/lib/mlibc/options/internal/aarch64/mlibc_crtbegin.S b/lib/mlibc/options/internal/aarch64/mlibc_crtbegin.S deleted file mode 100644 index b99748b..0000000 --- a/lib/mlibc/options/internal/aarch64/mlibc_crtbegin.S +++ /dev/null @@ -1,29 +0,0 @@ - -.section .data -.hidden __dso_handle -.global __dso_handle -__dso_handle: - .quad __dso_handle - -.section .init -.hidden _init -.global _init -_init: - -.section .fini -.hidden _fini -.global _fini -_fini: - -.section .ctors -.hidden __CTOR_LIST__ -.global __CTOR_LIST__ -__CTOR_LIST__: - -.section .dtors -.hidden __DTOR_LIST__ -.global __DTOR_LIST__ -__DTOR_LIST__: - -.section .note.GNU-stack,"",%progbits - diff --git a/lib/mlibc/options/internal/aarch64/mlibc_crtend.S b/lib/mlibc/options/internal/aarch64/mlibc_crtend.S deleted file mode 100644 index 2bf6254..0000000 --- a/lib/mlibc/options/internal/aarch64/mlibc_crtend.S +++ /dev/null @@ -1,22 +0,0 @@ - -.hidden __mlibc_do_ctors -.hidden __mlibc_do_dtors - -.section .init - b __mlibc_do_ctors - -.section .fini - b __mlibc_do_dtors - -.section .ctors -.hidden __CTOR_END__ -.global __CTOR_END__ -__CTOR_END__: - -.section .dtors -.hidden __DTOR_END__ -.global __DTOR_END__ -__DTOR_END__: - -.section .note.GNU-stack,"",%progbits - diff --git a/lib/mlibc/options/internal/aarch64/setjmp.S b/lib/mlibc/options/internal/aarch64/setjmp.S deleted file mode 100644 index 9dddaa8..0000000 --- a/lib/mlibc/options/internal/aarch64/setjmp.S +++ /dev/null @@ -1,63 +0,0 @@ -// vim: ft=arm64asm - -.extern __sigsetjmp - -.type __setjmp, "function" -__setjmp: - stp x19, x20, [x0, #0] - stp x21, x22, [x0, #16] - stp x23, x24, [x0, #24] - stp x25, x26, [x0, #32] - stp x27, x28, [x0, #48] - stp x29, x30, [x0, #64] - stp x29, x30, [x0, #80] - mov x4, sp - str x4, [x0, #96] - - stp d8, d9, [x0, #112] - stp d10, d11, [x0, #128] - stp d12, d13, [x0, #144] - stp d14, d15, [x0, #160] - - cbnz x2, 1f - - mov x0, xzr - ret -1: - b __sigsetjmp - -.global setjmp -.type setjmp, "function" -setjmp: - mov x2, xzr - b __setjmp - -.global sigsetjmp -.type sigsetjmp, "function" -sigsetjmp: - mov x2, #1 - b __setjmp - -.global longjmp -.type longjmp, "function" -longjmp: - ldp x19, x20, [x0, #0] - ldp x21, x22, [x0, #16] - ldp x23, x24, [x0, #24] - ldp x25, x26, [x0, #32] - ldp x27, x28, [x0, #48] - ldp x29, x30, [x0, #64] - ldp x29, x30, [x0, #80] - ldr x4, [x0, #96] - mov sp, x4 - - ldp d8, d9, [x0, #112] - ldp d10, d11, [x0, #128] - ldp d12, d13, [x0, #144] - ldp d14, d15, [x0, #160] - - cmp w1, 0 - csinc w0, w1, wzr, ne - br x30 -.section .note.GNU-stack,"",%progbits - |