2003/09/08 01:45:11
[org.ibex.core.git] / upstream / darwin-linker / patches / cctools.patch
index 22af03f..0ce718b 100644 (file)
@@ -2125,50 +2125,6 @@ diff -bur ./symbols.h /home/megacz/xwt/upstream/darwin-linker/src/cctools/as/sym
  
  ifeq "NO" "$(USE_DEPENDENCY_FILE)"
  .c.o:
---- ar/archive.c       30 Apr 2002 07:37:17 -0000      1.1.1.1
-+++ ar/archive.c       7 Sep 2003 10:15:36 -0000
-@@ -69,6 +69,7 @@
- #include <sys/param.h>
- #include <sys/stat.h>
-+#include <stuff/ofile.h>
- #include <ar.h>
- #include <dirent.h>
-@@ -261,32 +262,17 @@
-                * a space, use extended format 1.
-                */
-               lname = strlen(name);
--              if (options & AR_TR) {
-                       if (lname > OLDARMAXNAME) {
-                               (void)fflush(stdout);
-                               warnx("warning: %s truncated to %.*s",
-                                   name, OLDARMAXNAME, name);
-                               (void)fflush(stderr);
-                       }
--                      (void)sprintf(hb, HDR3, name, (long int)sb->st_mtimespec.tv_sec,
-+                      (void)sprintf(hb, HDR3, name, (long int)0,
-                           (unsigned int)(u_short)sb->st_uid,
-                           (unsigned int)(u_short)sb->st_gid,
-                           sb->st_mode, sb->st_size, ARFMAG);
-                       lname = 0;
--              } else if (lname > sizeof(hdr->ar_name) || strchr(name, ' '))
--                      (void)sprintf(hb, HDR1, AR_EFMT1, (lname + 3) & ~3,
--                          (long int)sb->st_mtimespec.tv_sec,
--                          (unsigned int)(u_short)sb->st_uid,
--                          (unsigned int)(u_short)sb->st_gid,
--                          sb->st_mode, sb->st_size + ((lname + 3) & ~3),
--                          ARFMAG);
--              else {
--                      lname = 0;
--                      (void)sprintf(hb, HDR2, name, (long int)sb->st_mtimespec.tv_sec,
--                          (unsigned int)(u_short)sb->st_uid,
--                          (unsigned int)(u_short)sb->st_gid,
--                          sb->st_mode, sb->st_size, ARFMAG);
--              }
-               size = sb->st_size;
-       } else {
-               lname = chdr.lname;
 --- ld/fake-mach.c     Sun Sep  7 14:13:57 2003
 +++ ld/fake-mach.c     Sun Sep  7 14:13:50 2003
 @@ -0,0 +1,163 @@
@@ -2335,3 +2291,54 @@ diff -bur ./symbols.h /home/megacz/xwt/upstream/darwin-linker/src/cctools/as/sym
 +      //~ assert( 0 );
 +      return KERN_SUCCESS;
 +}
+--- ar/archive.c       30 Apr 2002 07:37:17 -0000      1.1.1.1
++++ ar/archive.c       8 Sep 2003 00:44:40 -0000
+@@ -69,6 +69,7 @@
+ #include <sys/param.h>
+ #include <sys/stat.h>
++#include <stuff/ofile.h>
+ #include <ar.h>
+ #include <dirent.h>
+@@ -262,27 +263,37 @@
+                */
+               lname = strlen(name);
+               if (options & AR_TR) {
++                char buf[16];
++                int i;
++                for(i=0; i<15; i++) buf[i] = ' ';
++                buf[15] = '\0';
+                       if (lname > OLDARMAXNAME) {
+                               (void)fflush(stdout);
+                               warnx("warning: %s truncated to %.*s",
+                                   name, OLDARMAXNAME, name);
+                               (void)fflush(stderr);
+                       }
+-                      (void)sprintf(hb, HDR3, name, (long int)sb->st_mtimespec.tv_sec,
++                strncpy(buf, name, 15);
++                      (void)sprintf(hb, HDR3, buf, (long int)sb->st_mtime,
+                           (unsigned int)(u_short)sb->st_uid,
+                           (unsigned int)(u_short)sb->st_gid,
+                           sb->st_mode, sb->st_size, ARFMAG);
+                       lname = 0;
+               } else if (lname > sizeof(hdr->ar_name) || strchr(name, ' '))
+                       (void)sprintf(hb, HDR1, AR_EFMT1, (lname + 3) & ~3,
+-                          (long int)sb->st_mtimespec.tv_sec,
++                          (long int)sb->st_mtime,
+                           (unsigned int)(u_short)sb->st_uid,
+                           (unsigned int)(u_short)sb->st_gid,
+                           sb->st_mode, sb->st_size + ((lname + 3) & ~3),
+                           ARFMAG);
+               else {
++                char buf[17];
++                int i;
++                for(i=0; i<16; i++) buf[i] = ' ';
++                buf[16] = '\0';
++                strncpy(buf, name, 16);
+                       lname = 0;
+-                      (void)sprintf(hb, HDR2, name, (long int)sb->st_mtimespec.tv_sec,
++                      (void)sprintf(hb, HDR2, buf, (long int)sb->st_mtime,
+                           (unsigned int)(u_short)sb->st_uid,
+                           (unsigned int)(u_short)sb->st_gid,
+                           sb->st_mode, sb->st_size, ARFMAG);