aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog17
-rw-r--r--elf/ldconfig.c4
-rw-r--r--localedata/locales/no_NO2
-rw-r--r--sysdeps/generic/dl-cache.h4
-rw-r--r--sysdeps/unix/sysv/linux/cris/sysdep.h2
-rw-r--r--sysdeps/unix/sysv/linux/mips/dl-cache.h43
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/dl-cache.h1
-rw-r--r--sysdeps/unix/sysv/linux/s390/dl-cache.h1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/dl-cache.h39
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/dl-cache.h4
10 files changed, 112 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index c48ded4..35c0ba4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2003-06-25 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/unix/sysv/linux/cris/sysdep.h (INLINE_SYSCALL): Cast
+ result to long int so that extensions to long long int work.
+ Patch by Uwe Reimann <libc-alpha@pulsar.homelinux.net>.
+
+2003-06-19 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/ldconfig.c (main): Use add_system_dir instead of add_dir.
+ * sysdeps/generic/dl-cache.h (add_system_dir): Define.
+ * sysdeps/unix/sysv/linux/x86_64/dl-cache.h: Include sparc
+ dl-cache.h.
+ * sysdeps/unix/sysv/linux/s390/dl-cache.h: New file.
+ * sysdeps/unix/sysv/linux/mips/dl-cache.h: New file.
+ * sysdeps/unix/sysv/linux/powerpc/dl-cache.h: New file.
+ * sysdeps/unix/sysv/linux/sparc/dl-cache.h: New file.
+
2003-06-19 Jakub Jelinek <jakub@redhat.com>
* test-skeleton.c (timeout_handler): If waitpid returned 0,
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
index 6484e31..bb9a3d4 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -1103,9 +1103,9 @@ main (int argc, char **argv)
if (!opt_only_cline)
{
/* Always add the standard search paths. */
- add_dir (SLIBDIR);
+ add_system_dir (SLIBDIR);
if (strcmp (SLIBDIR, LIBDIR))
- add_dir (LIBDIR);
+ add_system_dir (LIBDIR);
parse_conf (config_file);
}
diff --git a/localedata/locales/no_NO b/localedata/locales/no_NO
index cbf04e8..f6b6a7c 100644
--- a/localedata/locales/no_NO
+++ b/localedata/locales/no_NO
@@ -1056,6 +1056,8 @@ UNDEFINED IGNORE;IGNORE;IGNORE
<U1E13> <U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
<U1E0E> <U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
<U1E0F> <U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<U00D0> <U0044>;<U00D0>;<CAPITAL>;IGNORE %LATIN CAPITAL LETTER ETH (Icelandic)
+<U00F0> <U0044>;<U00D0>;<SMALL>;IGNORE %LATIN SMALL LETTER ETH (Icelandic)
<d8>
<U0045> <U0045>;<NONE>;<CAPITAL>;IGNORE
<U0065> <U0045>;<NONE>;<SMALL>;IGNORE
diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h
index 946e5a9..c2b7287 100644
--- a/sysdeps/generic/dl-cache.h
+++ b/sysdeps/generic/dl-cache.h
@@ -32,6 +32,10 @@
# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache"
#endif
+#ifndef add_system_dir
+# define add_system_dir(dir) add_dir (dir)
+#endif
+
#define CACHEMAGIC "ld.so-1.7.0"
/* libc5 and glibc 2.0/2.1 use the same format. For glibc 2.2 another
diff --git a/sysdeps/unix/sysv/linux/cris/sysdep.h b/sysdeps/unix/sysv/linux/cris/sysdep.h
index ba40491..5013dd5 100644
--- a/sysdeps/unix/sysv/linux/cris/sysdep.h
+++ b/sysdeps/unix/sysv/linux/cris/sysdep.h
@@ -170,7 +170,7 @@
__set_errno (- __sys_res); \
__sys_res = (unsigned long) -1; \
} \
- __sys_res; \
+ (long int) __sys_res; \
})
#define LOAD_ARGS_c_0()
diff --git a/sysdeps/unix/sysv/linux/mips/dl-cache.h b/sysdeps/unix/sysv/linux/mips/dl-cache.h
new file mode 100644
index 0000000..4fa5d3a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/dl-cache.h
@@ -0,0 +1,43 @@
+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
+ Copyright (C) 2003 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
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#define add_system_dir(dir) \
+ do \
+ { \
+ size_t len = strlen (dir); \
+ char path[len + 3]; \
+ memcpy (path, dir, len + 1); \
+ if (len >= 6 \
+ && (! memcmp (path + len - 6, "/lib64", 6) \
+ || ! memcmp (path + len - 6, "/lib32", 6))) \
+ { \
+ len -= 2; \
+ path[len] = '\0'; \
+ } \
+ add_dir (path); \
+ if (len >= 4 && ! memcmp (path + len - 4, "/lib", 4)) \
+ { \
+ memcpy (path + len, "32", 3); \
+ add_dir (path); \
+ memcpy (path + len, "64", 3); \
+ add_dir (path); \
+ } \
+ } while (0)
+
+#include_next <dl-cache.h>
diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-cache.h b/sysdeps/unix/sysv/linux/powerpc/dl-cache.h
new file mode 100644
index 0000000..766bba4
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/dl-cache.h
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/sparc/dl-cache.h>
diff --git a/sysdeps/unix/sysv/linux/s390/dl-cache.h b/sysdeps/unix/sysv/linux/s390/dl-cache.h
new file mode 100644
index 0000000..766bba4
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/s390/dl-cache.h
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/sparc/dl-cache.h>
diff --git a/sysdeps/unix/sysv/linux/sparc/dl-cache.h b/sysdeps/unix/sysv/linux/sparc/dl-cache.h
new file mode 100644
index 0000000..df134b7
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/dl-cache.h
@@ -0,0 +1,39 @@
+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
+ Copyright (C) 2003 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
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#define add_system_dir(dir) \
+ do \
+ { \
+ size_t len = strlen (dir); \
+ char path[len + 3]; \
+ memcpy (path, dir, len + 1); \
+ if (len >= 6 && ! memcmp (path + len - 6, "/lib64", 6)) \
+ { \
+ len -= 2; \
+ path[len] = '\0'; \
+ } \
+ add_dir (path); \
+ if (len >= 4 && ! memcmp (path + len - 4, "/lib", 4)) \
+ { \
+ memcpy (path + len, "64", 3); \
+ add_dir (path); \
+ } \
+ } while (0)
+
+#include <sysdeps/generic/dl-cache.h>
diff --git a/sysdeps/unix/sysv/linux/x86_64/dl-cache.h b/sysdeps/unix/sysv/linux/x86_64/dl-cache.h
index ae691de..cb647ab 100644
--- a/sysdeps/unix/sysv/linux/x86_64/dl-cache.h
+++ b/sysdeps/unix/sysv/linux/x86_64/dl-cache.h
@@ -1,5 +1,5 @@
/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
- Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2002, 2003 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
@@ -22,4 +22,4 @@
#define _dl_cache_check_flags(flags) \
((flags) == _DL_CACHE_DEFAULT_ID)
-#include_next <dl-cache.h>
+#include <sysdeps/unix/sysv/linux/sparc/dl-cache.h>