diff options
-rw-r--r-- | firmware/fw_base.S | 28 | ||||
-rw-r--r-- | lib/sbi/sbi_string.c | 6 |
2 files changed, 28 insertions, 6 deletions
diff --git a/firmware/fw_base.S b/firmware/fw_base.S index 1569e60..ab3e1b3 100644 --- a/firmware/fw_base.S +++ b/firmware/fw_base.S @@ -561,6 +561,34 @@ fw_platform_init: add a0, a1, zero ret + /* Map implicit memcpy() added by compiler to sbi_memcpy() */ + .section .text + .align 3 + .globl memcpy +memcpy: + tail sbi_memcpy + + /* Map implicit memset() added by compiler to sbi_memset() */ + .section .text + .align 3 + .globl memset +memset: + tail sbi_memset + + /* Map implicit memmove() added by compiler to sbi_memmove() */ + .section .text + .align 3 + .globl memmove +memmove: + tail sbi_memmove + + /* Map implicit memcmp() added by compiler to sbi_memcmp() */ + .section .text + .align 3 + .globl memcmp +memcmp: + tail sbi_memcmp + .macro TRAP_SAVE_AND_SETUP_SP_T0 /* Swap TP and MSCRATCH */ csrrw tp, CSR_MSCRATCH, tp diff --git a/lib/sbi/sbi_string.c b/lib/sbi/sbi_string.c index c67c02e..c87bce9 100644 --- a/lib/sbi/sbi_string.c +++ b/lib/sbi/sbi_string.c @@ -122,9 +122,6 @@ void *sbi_memset(void *s, int c, size_t count) return s; } -void *memset(void *s, int c, size_t count) \ -__attribute__((weak, alias("sbi_memset"))); - void *sbi_memcpy(void *dest, const void *src, size_t count) { char *temp1 = dest; @@ -138,9 +135,6 @@ void *sbi_memcpy(void *dest, const void *src, size_t count) return dest; } -void *memcpy(void *dest, const void *src, size_t count) \ -__attribute__((weak, alias("sbi_memcpy"))); - void *sbi_memmove(void *dest, const void *src, size_t count) { char *temp1 = (char *)dest; |