Skip to content

Commit faa9b2f

Browse files
asiekierkakeith-packard
authored andcommitted
machine: Mark AEABI functions as weak to avoid conflicting with optimized implementations from agbabi/ndsabi
1 parent 04e3f5c commit faa9b2f

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

newlib/libc/machine/arm/aeabi_memset.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@
3333
/* Support the alias for the __aeabi_memset which may
3434
assume memory alignment. */
3535
void __aeabi_memset4 (void *dest, size_t n, int c)
36-
_ATTRIBUTE ((alias ("__aeabi_memset")));
36+
_ATTRIBUTE ((alias ("__aeabi_memset"), weak));
3737

3838
void __aeabi_memset8 (void *dest, size_t n, int c)
39-
_ATTRIBUTE ((alias ("__aeabi_memset")));
39+
_ATTRIBUTE ((alias ("__aeabi_memset"), weak));
4040

4141
/* Support the routine __aeabi_memset. Can't alias to memset
4242
because the arguments are in a different order */
@@ -47,7 +47,7 @@ void __aeabi_memset8 (void *dest, size_t n, int c)
4747

4848
#undef memset
4949

50-
void __attribute__((used)) __aeabi_memset (void *dest, size_t n, int c)
50+
void __attribute__((used, weak)) __aeabi_memset (void *dest, size_t n, int c)
5151
{
5252
/*Note that relative to ANSI memset, __aeabi_memset hase the order
5353
of its second and third arguments reversed. */

newlib/libc/machine/arm/bzero.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@
3232
assume memory alignment. */
3333

3434
void __aeabi_memclr4 (void *dest, size_t n)
35-
_ATTRIBUTE ((alias ("bzero")));
35+
_ATTRIBUTE ((alias ("bzero"), weak));
3636

3737
void __aeabi_memclr8 (void *dest, size_t n)
38-
_ATTRIBUTE ((alias ("bzero")));
38+
_ATTRIBUTE ((alias ("bzero"), weak));
3939

4040
void __aeabi_memclr (void *dest, size_t n)
41-
_ATTRIBUTE ((alias ("bzero")));
41+
_ATTRIBUTE ((alias ("bzero"), weak));

newlib/libc/machine/arm/memcpy.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@
4747
# include "../../string/memcpy.c"
4848

4949
void *__aeabi_memcpy4 (void *__restrict dest, const void * __restrict source, size_t n)
50-
_ATTRIBUTE ((alias ("memcpy")));
50+
_ATTRIBUTE ((alias ("memcpy"), weak));
5151

5252
void *__aeabi_memcpy8 (void * __restrict dest, const void * __restrict source, size_t n)
53-
_ATTRIBUTE ((alias ("memcpy")));
53+
_ATTRIBUTE ((alias ("memcpy"), weak));
5454

5555
void *__aeabi_memcpy (void * __restrict dest, const void * __restrict source, size_t n)
56-
_ATTRIBUTE ((alias ("memcpy")));
56+
_ATTRIBUTE ((alias ("memcpy"), weak));
5757

5858
#endif

newlib/libc/machine/arm/memmove.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@
3838
/* Support the alias for the __aeabi_memmove which may
3939
assume memory alignment. */
4040
void *__aeabi_memmove4 (void *__restrict dest, const void *source, size_t n)
41-
_ATTRIBUTE ((alias ("memmove")));
41+
_ATTRIBUTE ((alias ("memmove"), weak));
4242

4343
void *__aeabi_memmove8 (void *dest, const void *source, size_t n)
44-
_ATTRIBUTE ((alias ("memmove")));
44+
_ATTRIBUTE ((alias ("memmove"), weak));
4545

4646
void *__aeabi_memmove (void *dest, const void *source, size_t n)
47-
_ATTRIBUTE ((alias ("memmove")));
47+
_ATTRIBUTE ((alias ("memmove"), weak));

0 commit comments

Comments
 (0)