Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
tile: add inhibit_loop_to_libcall to string functions
Without this, on gcc 4.8.2 the built glibc crashes when memcpy
or memset are invoked, since they call themselves recursively.
See commit 85c2e61 for the generic inhibit_loop_to_libcall.
  • Loading branch information
Chris Metcalf committed Dec 11, 2014
1 parent 7f29694 commit f627ca8
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 3 deletions.
7 changes: 7 additions & 0 deletions ChangeLog
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion sysdeps/tile/tilegx/memcpy.c
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion sysdeps/tile/tilegx/memset.c
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion sysdeps/tile/tilepro/memset.c
Expand Up @@ -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;
Expand Down

0 comments on commit f627ca8

Please sign in to comment.