Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Jun 2013 18:03:02 +0000 (UTC)
From:      "Pedro F. Giffuni" <pfg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r251227 - head/contrib/binutils/bfd
Message-ID:  <201306011803.r51I326l048629@svn.freebsd.org>

index | next in thread | raw e-mail

Author: pfg
Date: Sat Jun  1 18:03:01 2013
New Revision: 251227
URL: http://svnweb.freebsd.org/changeset/base/251227

Log:
  Revert: Use time_t instead of long for archive timestamps.
  
  Back out for now: this breaks the i386 build and requires some revision.

Modified:
  head/contrib/binutils/bfd/archive.c
  head/contrib/binutils/bfd/bfd-in2.h
  head/contrib/binutils/bfd/bfdio.c
  head/contrib/binutils/bfd/coff-rs6000.c
  head/contrib/binutils/bfd/ecoff.c
  head/contrib/binutils/bfd/libbfd-in.h
  head/contrib/binutils/bfd/libbfd.h

Modified: head/contrib/binutils/bfd/archive.c
==============================================================================
--- head/contrib/binutils/bfd/archive.c	Sat Jun  1 15:02:15 2013	(r251226)
+++ head/contrib/binutils/bfd/archive.c	Sat Jun  1 18:03:01 2013	(r251227)
@@ -1390,8 +1390,8 @@ bfd_ar_hdr_from_filesystem (bfd *abfd, c
   /* ar headers are space padded, not null padded!  */
   memset (hdr, ' ', sizeof (struct ar_hdr));
 
-  _bfd_ar_spacepad (hdr->ar_date, sizeof (hdr->ar_date), "%-12lld",
-                    (long long)status.st_mtime);
+  _bfd_ar_spacepad (hdr->ar_date, sizeof (hdr->ar_date), "%-12ld",
+                    status.st_mtime);
 #ifdef HPUX_LARGE_AR_IDS
   /* HP has a very "special" way to handle UID/GID's with numeric values
      > 99999.  */
@@ -1458,11 +1458,6 @@ bfd_generic_stat_arch_elt (bfd *abfd, st
   if (aloser == hdr->arelt)	      			\
     return -1;
 
-#define fooll(arelt, stelt, size)			\
-  buf->stelt = strtoll (hdr->arelt, &aloser, size);	\
-  if (aloser == hdr->arelt)	      			\
-    return -1;
-
   /* Some platforms support special notations for large IDs.  */
 #ifdef HPUX_LARGE_AR_IDS
 # define foo2(arelt, stelt, size)					\
@@ -1489,7 +1484,7 @@ bfd_generic_stat_arch_elt (bfd *abfd, st
 # define foo2(arelt, stelt, size) foo (arelt, stelt, size)
 #endif
 
-  fooll (ar_date, st_mtime, 10);
+  foo (ar_date, st_mtime, 10);
   foo2 (ar_uid, st_uid, 10);
   foo2 (ar_gid, st_gid, 10);
   foo (ar_mode, st_mode, 8);

Modified: head/contrib/binutils/bfd/bfd-in2.h
==============================================================================
--- head/contrib/binutils/bfd/bfd-in2.h	Sat Jun  1 15:02:15 2013	(r251226)
+++ head/contrib/binutils/bfd/bfd-in2.h	Sat Jun  1 18:03:01 2013	(r251227)
@@ -38,7 +38,6 @@ extern "C" {
 
 #include "ansidecl.h"
 #include "symcat.h"
-#include <time.h>	/* time_t */
 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
 #ifndef SABER
 /* This hack is to avoid a problem with some strict ANSI C preprocessors.
@@ -1142,7 +1141,7 @@ bfd_boolean bfd_fill_in_gnu_debuglink_se
 
 
 /* Extracted from bfdio.c.  */
-time_t bfd_get_mtime (bfd *abfd);
+long bfd_get_mtime (bfd *abfd);
 
 file_ptr bfd_get_size (bfd *abfd);
 

Modified: head/contrib/binutils/bfd/bfdio.c
==============================================================================
--- head/contrib/binutils/bfd/bfdio.c	Sat Jun  1 15:02:15 2013	(r251226)
+++ head/contrib/binutils/bfd/bfdio.c	Sat Jun  1 18:03:01 2013	(r251227)
@@ -377,7 +377,7 @@ FUNCTION
 	bfd_get_mtime
 
 SYNOPSIS
-	time_t bfd_get_mtime (bfd *abfd);
+	long bfd_get_mtime (bfd *abfd);
 
 DESCRIPTION
 	Return the file modification time (as read from the file system, or
@@ -385,7 +385,7 @@ DESCRIPTION
 
 */
 
-time_t
+long
 bfd_get_mtime (bfd *abfd)
 {
   struct stat buf;

Modified: head/contrib/binutils/bfd/coff-rs6000.c
==============================================================================
--- head/contrib/binutils/bfd/coff-rs6000.c	Sat Jun  1 15:02:15 2013	(r251226)
+++ head/contrib/binutils/bfd/coff-rs6000.c	Sat Jun  1 18:03:01 2013	(r251227)
@@ -1548,7 +1548,7 @@ _bfd_xcoff_stat_arch_elt (abfd, s)
     {
       struct xcoff_ar_hdr *hdrp = arch_xhdr (abfd);
 
-      s->st_mtime = strtoll (hdrp->date, (char **) NULL, 10);
+      s->st_mtime = strtol (hdrp->date, (char **) NULL, 10);
       s->st_uid = strtol (hdrp->uid, (char **) NULL, 10);
       s->st_gid = strtol (hdrp->gid, (char **) NULL, 10);
       s->st_mode = strtol (hdrp->mode, (char **) NULL, 8);
@@ -1558,7 +1558,7 @@ _bfd_xcoff_stat_arch_elt (abfd, s)
     {
       struct xcoff_ar_hdr_big *hdrp = arch_xhdr_big (abfd);
 
-      s->st_mtime = strtoll (hdrp->date, (char **) NULL, 10);
+      s->st_mtime = strtol (hdrp->date, (char **) NULL, 10);
       s->st_uid = strtol (hdrp->uid, (char **) NULL, 10);
       s->st_gid = strtol (hdrp->gid, (char **) NULL, 10);
       s->st_mode = strtol (hdrp->mode, (char **) NULL, 8);
@@ -1678,7 +1678,6 @@ xcoff_write_armap_old (abfd, elength, ma
 static char buff20[XCOFFARMAGBIG_ELEMENT_SIZE + 1];
 #define FMT20  "%-20lld"
 #define FMT12  "%-12d"
-#define FMT12_LL  "%-12lld"
 #define FMT12_OCTAL  "%-12o"
 #define FMT4  "%-4d"
 #define PRINT20(d, v) \
@@ -1689,10 +1688,6 @@ static char buff20[XCOFFARMAGBIG_ELEMENT
   sprintf (buff20, FMT12, (int)(v)), \
   memcpy ((void *) (d), buff20, 12)
 
-#define PRINT12_LL(d, v) \
-  sprintf (buff20, FMT12_LL, (long long)(v)), \
-  memcpy ((void *) (d), buff20, 12)
-
 #define PRINT12_OCTAL(d, v) \
   sprintf (buff20, FMT12_OCTAL, (unsigned int)(v)), \
   memcpy ((void *) (d), buff20, 12)
@@ -2157,7 +2152,7 @@ xcoff_write_archive_contents_old (abfd)
 	    }
 
 	  sprintf (ahdrp->size, "%ld", (long) s.st_size);
-	  sprintf (ahdrp->date, "%lld", (long long) s.st_mtime);
+	  sprintf (ahdrp->date, "%ld", (long) s.st_mtime);
 	  sprintf (ahdrp->uid, "%ld", (long) s.st_uid);
 	  sprintf (ahdrp->gid, "%ld", (long) s.st_gid);
 	  sprintf (ahdrp->mode, "%o", (unsigned int) s.st_mode);
@@ -2393,7 +2388,7 @@ xcoff_write_archive_contents_big (abfd)
 	    }
 
 	  PRINT20 (ahdrp->size, s.st_size);
-	  PRINT12_LL (ahdrp->date, s.st_mtime);
+	  PRINT12 (ahdrp->date, s.st_mtime);
 	  PRINT12 (ahdrp->uid,  s.st_uid);
 	  PRINT12 (ahdrp->gid,  s.st_gid);
 	  PRINT12_OCTAL (ahdrp->mode, s.st_mode);

Modified: head/contrib/binutils/bfd/ecoff.c
==============================================================================
--- head/contrib/binutils/bfd/ecoff.c	Sat Jun  1 15:02:15 2013	(r251226)
+++ head/contrib/binutils/bfd/ecoff.c	Sat Jun  1 18:03:01 2013	(r251227)
@@ -3050,7 +3050,7 @@ _bfd_ecoff_write_armap (bfd *abfd,
      linker just checks the archive name; the GNU linker may check the
      date.  */
   stat (abfd->filename, &statbuf);
-  sprintf (hdr.ar_date, "%lld", (long long) (statbuf.st_mtime + 60));
+  sprintf (hdr.ar_date, "%ld", (long) (statbuf.st_mtime + 60));
 
   /* The DECstation uses zeroes for the uid, gid and mode of the
      armap.  */

Modified: head/contrib/binutils/bfd/libbfd-in.h
==============================================================================
--- head/contrib/binutils/bfd/libbfd-in.h	Sat Jun  1 15:02:15 2013	(r251226)
+++ head/contrib/binutils/bfd/libbfd-in.h	Sat Jun  1 18:03:01 2013	(r251227)
@@ -71,7 +71,8 @@ struct artdata {
   symindex symdef_count;	/* how many there are */
   char *extended_names;		/* clever intel extension */
   bfd_size_type extended_names_size; /* Size of extended names */
-  time_t  armap_timestamp;	/* Timestamp value written into armap.
+  /* when more compilers are standard C, this can be a time_t */
+  long  armap_timestamp;	/* Timestamp value written into armap.
 				   This is used for BSD archives to check
 				   that the timestamp is recent enough
 				   for the BSD linker to not complain,

Modified: head/contrib/binutils/bfd/libbfd.h
==============================================================================
--- head/contrib/binutils/bfd/libbfd.h	Sat Jun  1 15:02:15 2013	(r251226)
+++ head/contrib/binutils/bfd/libbfd.h	Sat Jun  1 18:03:01 2013	(r251227)
@@ -76,7 +76,8 @@ struct artdata {
   symindex symdef_count;	/* how many there are */
   char *extended_names;		/* clever intel extension */
   bfd_size_type extended_names_size; /* Size of extended names */
-  time_t  armap_timestamp;	/* Timestamp value written into armap.
+  /* when more compilers are standard C, this can be a time_t */
+  long  armap_timestamp;	/* Timestamp value written into armap.
 				   This is used for BSD archives to check
 				   that the timestamp is recent enough
 				   for the BSD linker to not complain,


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306011803.r51I326l048629>