Index: gnu-toplev/gcc/collect2.c =================================================================== RCS file: /usr/local/cvs/comptools-cris/gcc3-toplevel/gcc/collect2.c,v retrieving revision 1.4 diff -u -p -r1.4 collect2.c --- gnu-toplev/gcc/collect2.c 19 Dec 2002 04:42:06 -0000 1.4 +++ gnu-toplev/gcc/collect2.c 5 May 2009 15:50:34 -0000 @@ -1619,7 +1619,12 @@ collect_execute (prog, argv, redir) if (redir) { /* Open response file. */ - redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT); +#if defined (S_IRWXU) && defined (S_IRWXG) && defined (S_IRWXO) +#define OPENMODE (S_IRWXU | S_IRWXG | S_IRWXO) +#else +#define OPENMODE 0777 +#endif + redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, OPENMODE); /* Duplicate the stdout and stderr file handles so they can be restored later. */ --- binutils/bfd/archive.c.orig 2002-05-27 18:42:47.000000000 +0200 +++ binutils/bfd/archive.c 2010-05-11 06:40:15.000000000 +0200 @@ -1757,7 +1757,7 @@ _bfd_write_archive_contents (arch) memset ((char *) (&hdr), 0, sizeof (struct ar_hdr)); strcpy (hdr.ar_name, ename); /* Round size up to even number in archive header. */ - sprintf (&(hdr.ar_size[0]), "%-10d", + sprintf (&(hdr.ar_size[0]), "%-9d", (int) ((elength + 1) & ~(bfd_size_type) 1)); strncpy (hdr.ar_fmag, ARFMAG, 2); for (i = 0; i < sizeof (struct ar_hdr); i++) @@ -2013,7 +2013,7 @@ bsd_write_armap (arch, elength, map, orl sprintf (hdr.ar_date, "%ld", bfd_ardata (arch)->armap_timestamp); sprintf (hdr.ar_uid, "%ld", (long) getuid ()); sprintf (hdr.ar_gid, "%ld", (long) getgid ()); - sprintf (hdr.ar_size, "%-10d", (int) mapsize); + sprintf (hdr.ar_size, "%-9d", (int) mapsize); strncpy (hdr.ar_fmag, ARFMAG, 2); for (i = 0; i < sizeof (struct ar_hdr); i++) if (((char *) (&hdr))[i] == '\0') @@ -2172,7 +2172,7 @@ coff_write_armap (arch, elength, map, sy memset ((char *) (&hdr), 0, sizeof (struct ar_hdr)); hdr.ar_name[0] = '/'; - sprintf (hdr.ar_size, "%-10d", (int) mapsize); + sprintf (hdr.ar_size, "%-9d", (int) mapsize); sprintf (hdr.ar_date, "%ld", (long) time (NULL)); /* This, at least, is what Intel coff sets the values to. */ sprintf ((hdr.ar_uid), "%d", 0);