aboutsummaryrefslogtreecommitdiffstats
path: root/packages/glibc/glibc-2.3.2/sparc64-fixups.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/glibc/glibc-2.3.2/sparc64-fixups.patch')
-rw-r--r--packages/glibc/glibc-2.3.2/sparc64-fixups.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/packages/glibc/glibc-2.3.2/sparc64-fixups.patch b/packages/glibc/glibc-2.3.2/sparc64-fixups.patch
index e69de29bb2..2b17c8608f 100644
--- a/packages/glibc/glibc-2.3.2/sparc64-fixups.patch
+++ b/packages/glibc/glibc-2.3.2/sparc64-fixups.patch
@@ -0,0 +1,29 @@
+--- glibc-2.2.3/elf/ldconfig.c~ Tue Mar 20 11:44:35 2001
++++ glibc-2.2.3/elf/ldconfig.c Tue Apr 24 18:14:05 2001
+@@ -287,6 +287,26 @@
+ dir_entries = entry;
+ else if (ptr == NULL)
+ prev->next = entry;
++#ifdef __sparc__
++#define MSUBDIR "64"
++ if (ptr == NULL) {
++ int si = strlen(entry->path) - strlen(MSUBDIR);
++ if (strcmp (entry->path + (si <= 0 ? 0 : si), MSUBDIR) != 0) {
++ /* Handle subdirectory later. */
++ struct dir_entry *new_entry;
++
++ new_entry = xmalloc (sizeof (struct dir_entry));
++ new_entry->path = xmalloc(strlen(entry->path)+strlen(MSUBDIR)+1);
++ new_entry->flag = entry->flag;
++ new_entry->next = NULL;
++ sprintf(new_entry->path, "%s%s", entry->path, MSUBDIR);
++ if (opt_verbose)
++ printf("Adding implicit multilib directory:\n\t%s\n", new_entry->path);
++ add_single_dir (new_entry, 0);
++ }
++ }
++#undef MSUBDIR
++#endif
+ }
+
+ /* Add one directory to the list of directories to process. */