mirror of
https://github.com/xcat2/xNBA.git
synced 2025-01-20 22:43:14 +00:00
4ce8d61a5c
Experimentation reveals that gcc ignores -mrtd for the implicit arithmetic functions (e.g. __udivdi3), but not for the implicit memcpy() and memset() functions. Mark the implicit arithmetic functions with __attribute__((cdecl)) to compensate for this. (Note: we cannot mark with with __cdecl, because we define __cdecl to incorporate regparm(0) as well.)
19 lines
586 B
C
19 lines
586 B
C
/** @file
|
|
*
|
|
* gcc sometimes likes to insert implicit calls to memcpy().
|
|
* Unfortunately, there doesn't seem to be any way to prevent it from
|
|
* doing this, or to force it to use the optimised memcpy() as seen by
|
|
* C code; it insists on inserting a symbol reference to "memcpy". We
|
|
* therefore include wrapper functions just to keep gcc happy.
|
|
*
|
|
*/
|
|
|
|
#include <string.h>
|
|
|
|
void * gcc_implicit_memcpy ( void *dest, const void *src,
|
|
size_t len ) asm ( "memcpy" );
|
|
|
|
void * gcc_implicit_memcpy ( void *dest, const void *src, size_t len ) {
|
|
return memcpy ( dest, src, len );
|
|
}
|