aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-12-12 18:03:27 +0000
committerUlrich Drepper <drepper@redhat.com>2007-12-12 18:03:27 +0000
commita78814a99acf70c9ccc967417a082cc8117586b4 (patch)
treeaffdc394b42b27092f6ebe3efe1e2b767b6d3530
parent58d1179512a439514003b25b59eff7486a03fe0c (diff)
downloadglibc-a78814a99acf70c9ccc967417a082cc8117586b4.zip
glibc-a78814a99acf70c9ccc967417a082cc8117586b4.tar.gz
glibc-a78814a99acf70c9ccc967417a082cc8117586b4.tar.bz2
[BZ #5477]
2007-12-12 Jakub Jelinek <jakub@redhat.com> * sysdeps/i386/i486/bits/string.h (memmove): Define as macro. (memmove): Rename to __memmove_g, with __asm__ ("memmove"). * sysdeps/s390/bits/string.h (__strlen_g, __strcpy_g, __strncpy_g, __strcat_g, __strncat_g): Add __asm__. 2007-12-12 Ulrich Drepper <drepper@redhat.com> [BZ #5477] * io/fchmodat.c: Fix typo in stub_warning use. Patch by Petr Salinger.
-rw-r--r--ChangeLog13
-rw-r--r--io/fchmodat.c4
-rw-r--r--sysdeps/i386/i486/bits/string.h7
-rw-r--r--sysdeps/s390/bits/string.h14
4 files changed, 34 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 05780cd..69fa31b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2007-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/i386/i486/bits/string.h (memmove): Define as macro.
+ (memmove): Rename to __memmove_g, with __asm__ ("memmove").
+ * sysdeps/s390/bits/string.h (__strlen_g, __strcpy_g, __strncpy_g,
+ __strcat_g, __strncat_g): Add __asm__.
+
+2007-12-12 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #5477]
+ * io/fchmodat.c: Fix typo in stub_warning use.
+ Patch by Petr Salinger.
+
2007-12-11 Ulrich Drepper <drepper@redhat.com>
* iconvdata/hp-thai8.c: New file.
diff --git a/io/fchmodat.c b/io/fchmodat.c
index 6aecf2a..6a40f5b 100644
--- a/io/fchmodat.c
+++ b/io/fchmodat.c
@@ -1,5 +1,5 @@
/* Change the protections of file relative to open directory. Stub version.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -45,6 +45,6 @@ fchmodat (fd, file, mode, flag)
__set_errno (ENOSYS);
return -1;
}
-stub_warning (fchownat)
+stub_warning (fchmodat)
#include <stub-tag.h>
diff --git a/sysdeps/i386/i486/bits/string.h b/sysdeps/i386/i486/bits/string.h
index cf5f484..9f05c7e 100644
--- a/sysdeps/i386/i486/bits/string.h
+++ b/sysdeps/i386/i486/bits/string.h
@@ -145,8 +145,13 @@ __memcpy_g (void *__dest, __const void *__src, size_t __n)
#ifndef _FORCE_INLINES
/* Copy N bytes of SRC to DEST, guaranteeing
correct behavior for overlapping strings. */
+#define memmove(dest, src, n) __memmove_g (dest, src, n)
+
+__STRING_INLINE void *__memmove_g (void *, __const void *, size_t)
+ __asm__ ("memmove");
+
__STRING_INLINE void *
-memmove (void *__dest, __const void *__src, size_t __n)
+__memmove_g (void *__dest, __const void *__src, size_t __n)
{
register unsigned long int __d0, __d1, __d2;
register void *__tmp = __dest;
diff --git a/sysdeps/s390/bits/string.h b/sysdeps/s390/bits/string.h
index b2a3ba9..49103b9 100644
--- a/sysdeps/s390/bits/string.h
+++ b/sysdeps/s390/bits/string.h
@@ -42,6 +42,8 @@
#ifndef _FORCE_INLINES
#define strlen(str) __strlen_g ((str))
+__STRING_INLINE size_t __strlen_g (__const char *) __asm__ ("strlen");
+
__STRING_INLINE size_t
__strlen_g (__const char *__str)
{
@@ -63,6 +65,8 @@ __strlen_g (__const char *__str)
#ifndef _FORCE_INLINES
#define strcpy(dest, src) __strcpy_g ((dest), (src))
+__STRING_INLINE char *__strcpy_g (char *, __const char *) __asm ("strcpy");
+
__STRING_INLINE char *
__strcpy_g (char *__dest, __const char *__src)
{
@@ -81,6 +85,9 @@ __strcpy_g (char *__dest, __const char *__src)
#ifndef _FORCE_INLINES
#define strncpy(dest, src, n) __strncpy_g ((dest), (src), (n))
+__STRING_INLINE char *__strncpy_g (char *, __const char *, size_t)
+ __asm__ ("strncpy");
+
__STRING_INLINE char *
__strncpy_g (char *__dest, __const char *__src, size_t __n)
{
@@ -122,8 +129,10 @@ __strncpy_g (char *__dest, __const char *__src, size_t __n)
#ifndef _FORCE_INLINES
#define strcat(dest, src) __strcat_g ((dest), (src))
+__STRING_INLINE char *__strcat_g (char *, __const char *) __asm__ ("strcat");
+
__STRING_INLINE char *
-__strcat_g(char *__dest, const char *__src)
+__strcat_g (char *__dest, __const char *__src)
{
char *__ret = __dest;
char *__ptr, *__tmp;
@@ -152,6 +161,9 @@ __strcat_g(char *__dest, const char *__src)
#ifndef _FORCE_INLINES
#define strncat(dest, src, n) __strncat_g ((dest), (src), (n))
+__STRING_INLINE char *__strncat_g (char *, __const char *, size_t)
+ __asm__ ("strncat");
+
__STRING_INLINE char *
__strncat_g (char *__dest, __const char *__src, size_t __n)
{