about summary refs log tree commit diff
diff options
context:
space:
mode:
-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 05780cdd3a..69fa31bff5 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 6aecf2ac23..6a40f5baff 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 cf5f4847fa..9f05c7e655 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 b2a3ba9c98..49103b9438 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)
 {