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>

next in thread | raw e-mail | index | archive | help
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,



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