patches/gcc/4.3.3/200-pr24170.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jun 11 21:47:19 2009 +0000 (2009-06-11)
branch1.4
changeset 1451 25d050084e98
permissions -rw-r--r--
populate: fix installing dynamic linker 'ld.so'

The dynamic linker, ld.so, needs the execute bit to be set.
Detect tht the library being installed is in fact ld.so and
install it with 0755 instead of 0644.

Fix detecting src == dst.

Use a simpler command to copy src -> dst.

Also change echo to printf, get rid of 'echo -n', which is
highly non-portable.


-------- diffstat follows --------
/trunk/scripts/populate.in | 76 43 33 0 +++++++++++++++++++++++++++++-----------------------
1 file changed, 43 insertions(+), 33 deletions(-)
(transplanted from d7ddcb75e0f703e2ba6d17169167356389224870)
yann@1162
     1
Original patch from: ../4.3.2/200-pr24170.patch
yann@1162
     2
yann@1162
     3
-= BEGIN original header =-
yann@1162
     4
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/61_all_gcc43-pr24170.patch
yann@1162
     5
http://gcc.gnu.org/PR24170
yann@1162
     6
yann@1162
     7
2008-02-20  Tom Tromey  <tromey@redhat.com>
yann@1162
     8
yann@1162
     9
	PR libgcj/24170:
yann@1162
    10
	* java/io/natFilePosix.cc (File::performList): Don't use
yann@1162
    11
	readdir_r.
yann@1162
    12
	* configure, include/config.h.in: Rebuilt.
yann@1162
    13
	* configure.ac: Don't check for readdir_r.
yann@1162
    14
yann@1162
    15
-= END original header =-
yann@1162
    16
yann@1162
    17
diff -durN gcc-4.3.3.orig/libjava/configure.ac gcc-4.3.3/libjava/configure.ac
yann@1162
    18
--- gcc-4.3.3.orig/libjava/configure.ac	2009-01-27 22:19:16.000000000 +0100
yann@1162
    19
+++ gcc-4.3.3/libjava/configure.ac	2009-01-27 22:19:36.000000000 +0100
yann@1162
    20
@@ -1030,7 +1030,7 @@
yann@1162
    21
    PLATFORMNET=NoNet
yann@1162
    22
 else
yann@1162
    23
    AC_CHECK_FUNCS([strerror_r select fstat open fsync sleep opendir \
yann@1162
    24
-                   localtime_r readdir_r getpwuid_r getcwd \
yann@1162
    25
+                   localtime_r getpwuid_r getcwd \
yann@1162
    26
 		   access stat lstat mkdir rename rmdir unlink utime chmod readlink \
yann@1162
    27
 		   nl_langinfo setlocale \
yann@1162
    28
 		   inet_pton uname inet_ntoa \
yann@1162
    29
diff -durN gcc-4.3.3.orig/libjava/include/config.h.in gcc-4.3.3/libjava/include/config.h.in
yann@1162
    30
--- gcc-4.3.3.orig/libjava/include/config.h.in	2007-07-31 18:17:21.000000000 +0200
yann@1162
    31
+++ gcc-4.3.3/libjava/include/config.h.in	2009-01-27 22:19:36.000000000 +0100
yann@1162
    32
@@ -214,9 +214,6 @@
yann@1162
    33
 /* Define to 1 if you have the <pwd.h> header file. */
yann@1162
    34
 #undef HAVE_PWD_H
yann@1162
    35
 
yann@1162
    36
-/* Define to 1 if you have the `readdir_r' function. */
yann@1162
    37
-#undef HAVE_READDIR_R
yann@1162
    38
-
yann@1162
    39
 /* Define to 1 if you have the `readlink' function. */
yann@1162
    40
 #undef HAVE_READLINK
yann@1162
    41
 
yann@1162
    42
diff -durN gcc-4.3.3.orig/libjava/java/io/natFilePosix.cc gcc-4.3.3/libjava/java/io/natFilePosix.cc
yann@1162
    43
--- gcc-4.3.3.orig/libjava/java/io/natFilePosix.cc	2007-08-04 23:50:01.000000000 +0200
yann@1162
    44
+++ gcc-4.3.3/libjava/java/io/natFilePosix.cc	2009-01-27 22:19:36.000000000 +0100
yann@1162
    45
@@ -1,6 +1,6 @@
yann@1162
    46
 // natFile.cc - Native part of File class for POSIX.
yann@1162
    47
 
yann@1162
    48
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006
yann@1162
    49
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2008
yann@1162
    50
    Free Software Foundation
yann@1162
    51
 
yann@1162
    52
    This file is part of libgcj.
yann@1162
    53
@@ -292,13 +292,7 @@
yann@1162
    54
 
yann@1162
    55
   java::util::ArrayList *list = new java::util::ArrayList ();
yann@1162
    56
   struct dirent *d;
yann@1162
    57
-#if defined(HAVE_READDIR_R) && defined(_POSIX_PTHREAD_SEMANTICS)
yann@1162
    58
-  int name_max = pathconf (buf, _PC_NAME_MAX);
yann@1162
    59
-  char dbuf[sizeof (struct dirent) + name_max + 1];
yann@1162
    60
-  while (readdir_r (dir, (struct dirent *) dbuf, &d) == 0 && d != NULL)
yann@1162
    61
-#else /* HAVE_READDIR_R */
yann@1162
    62
   while ((d = readdir (dir)) != NULL)
yann@1162
    63
-#endif /* HAVE_READDIR_R */
yann@1162
    64
     {
yann@1162
    65
       // Omit "." and "..".
yann@1162
    66
       if (d->d_name[0] == '.'