[COMMITTED] tile: add inhibit_loop_to_libcall to string functions
Commit Message
Without this, on gcc 4.8.2 the built glibc crashes when memcpy
or memset are invoked, since they call themselves recursively.
See commit 85c2e6110c9a01ec for the generic inhibit_loop_to_libcall.
---
ChangeLog | 7 +++++++
sysdeps/tile/tilegx/memcpy.c | 2 +-
sysdeps/tile/tilegx/memset.c | 2 +-
sysdeps/tile/tilepro/memset.c | 2 +-
4 files changed, 10 insertions(+), 3 deletions(-)
@@ -1,3 +1,10 @@
+2014-12-11 Chris Metcalf <cmetcalf@ezchip.com>
+
+ * sysdeps/tile/tilegx/memset.c (__memcpy): Add
+ inhibit_loop_to_libcall to avoid recursive calls.
+ * sysdeps/tile/tilegx/memcpy.c (__memcpy): Likewise.
+ * sysdeps/tile/tilepro/memcpy.c (__memcpy): Likewise.
+
2014-12-11 Adhemerval Zanella <Azanella@linux.vnet.ibm.com>
* include/sys/socket.h (__sendmmsg): Add __USE_GNU guards on function
@@ -25,7 +25,7 @@
/* How many cache lines ahead should we prefetch? */
#define PREFETCH_LINES_AHEAD 3
-void *
+void * inhibit_loop_to_libcall
__memcpy (void *__restrict dstv, const void *__restrict srcv, size_t n)
{
char *__restrict dst1 = (char *) dstv;
@@ -21,7 +21,7 @@
#include <stdint.h>
#include "string-endian.h"
-void *
+void * inhibit_loop_to_libcall
__memset (void *s, int c, size_t n)
{
uint64_t *out64;
@@ -20,7 +20,7 @@
#include <stdint.h>
#include <arch/chip.h>
-void *
+void * inhibit_loop_to_libcall
__memset (void *s, int c, size_t n)
{
uint32_t *out32;