diff options
-rw-r--r-- | NEWS | 15 | ||||
-rwxr-xr-x | configure | 3 | ||||
-rw-r--r-- | m4/slibtool.m4 | 4 | ||||
-rw-r--r-- | project/tagver.mk | 2 | ||||
-rw-r--r-- | src/arbits/slbt_archive_merge.c | 8 | ||||
-rw-r--r-- | src/arbits/slbt_archive_store.c | 8 | ||||
-rw-r--r-- | src/internal/slibtool_tmpfile_impl.c | 5 | ||||
-rw-r--r-- | src/logic/slbt_exec_stoolie.c | 2 | ||||
-rw-r--r-- | src/skin/slbt_skin_stoolie.c | 2 |
9 files changed, 37 insertions, 12 deletions
@@ -1,3 +1,18 @@ +0.6.1: + +This patch release fixes incorrect formatted printing of +address offsets on 32-bit hosts, and likewise works around +non-conformant definitions of type_t and/or st.st_ino. + +- ar: slbt_ar_merge_archives(), slbt_tmpfile(): guard against 32-bit time_t types. +- ar: slbt_ar_merge_archives(): properly handle 32-bit pointers vs. 64-bit formats. +- ar: slbt_ar_store_archive(): guard against 32-bit time_t types. +- ar: slbt_ar_store_archive(): guard against 32-bit st_ino types. +- slibtool.m4: slibtool_set_flavor(): define shared and static suffix variables. +- slibtoolize: compatibility: install (copy or symlink) a no-op ar-lib as needed. +- driver: heuristics: ignore errors if invoked with any of the -print commands. +- driver: added the -print-shared-ext and -print-static-ext output commands. + 0.6.0: This minor release introduces the slibtoolize execution mode, @@ -1111,6 +1111,9 @@ for arg ; do --mandir=*) mb_mandir=${arg#*=} ;; + --docdir=*) + mb_docdir=${arg#*=} + ;; --libexecdir=*) mb_libexecdir=${arg#*=} ;; diff --git a/m4/slibtool.m4 b/m4/slibtool.m4 index e2e6ad5..b1ed75b 100644 --- a/m4/slibtool.m4 +++ b/m4/slibtool.m4 @@ -242,7 +242,7 @@ slibtool_set_flavor() _/*) SLIBTOOL_SYSROOT="--sysroot=${slibtool_sysroot}" - SLIBTOOL="${SLIBTOOL} \$(SLIBTOOL_SYSROOT)" + SLIBTOOL="${SLIBTOOL} ${SLIBTOOL_SYSROOT}" ;; *) @@ -536,7 +536,7 @@ _SLIBTOOL_ARG_WITH([sysroot],[absolute path to the target's sysroot],[slibtool_s # -------------------- slibtool_set_flavor LIBTOOL='$(SLIBTOOL)' -SLIBTOOL="${SLIBTOOL} \$(SLIBTOOL_FLAGS)" +SLIBTOOL="${SLIBTOOL} ${SLIBTOOL_FLAGS}" AC_SUBST([LIBTOOL]) AC_SUBST([SLIBTOOL]) diff --git a/project/tagver.mk b/project/tagver.mk index f22212f..cec273c 100644 --- a/project/tagver.mk +++ b/project/tagver.mk @@ -2,4 +2,4 @@ VER_NAMESPACE = SLBT VER_MAJOR = 0 VER_MINOR = 6 -VER_PATCH = 0 +VER_PATCH = 1 diff --git a/src/arbits/slbt_archive_merge.c b/src/arbits/slbt_archive_merge.c index 5f29235..5ace063 100644 --- a/src/arbits/slbt_archive_merge.c +++ b/src/arbits/slbt_archive_merge.c @@ -180,6 +180,8 @@ int slbt_ar_merge_archives( int64_t osymrefs; int64_t onamestrs; int64_t omemfixup; + int64_t atint; + int64_t aroff; char * base; unsigned char * ubase; @@ -359,7 +361,7 @@ int slbt_ar_merge_archives( memcpy(arhdr,armap->ar_member_data,sizeof(*arhdr)+sarname); nwritten = armap->ar_file_header.ar_time_date_stamp - ? sprintf(arhdr->ar_time_date_stamp,PPRII64,time(0)) + ? sprintf(arhdr->ar_time_date_stamp,PPRII64,(atint = time(0))) : 0; if (nwritten < 0) @@ -401,7 +403,7 @@ int slbt_ar_merge_archives( memcpy(arhdr,arnames->ar_member_data,sizeof(*arhdr)); nwritten = arnames->ar_file_header.ar_time_date_stamp - ? sprintf(arhdr->ar_time_date_stamp,PPRII64,time(0)) + ? sprintf(arhdr->ar_time_date_stamp,PPRII64,(atint = time(0))) : 0; if (nwritten < 0) @@ -591,7 +593,7 @@ int slbt_ar_merge_archives( if (meminfo->ar_file_header.ar_header_attr & AR_HEADER_ATTR_NAME_REF) { nwritten = sprintf( &base[omembers],"/"PPRII64, - namestr - namebase); + (aroff = namestr - namebase)); if (nwritten < 0) SLBT_SYSTEM_ERROR(dctx,0); diff --git a/src/arbits/slbt_archive_store.c b/src/arbits/slbt_archive_store.c index d09a3f0..e303cb7 100644 --- a/src/arbits/slbt_archive_store.c +++ b/src/arbits/slbt_archive_store.c @@ -41,6 +41,8 @@ int slbt_ar_store_archive( struct stat st; int fdat; int fdtmp; + int64_t tint; + int64_t stino; void * addr; char * mark; char * slash; @@ -74,6 +76,7 @@ int slbt_ar_store_archive( fdat = slbt_driver_fdcwd(dctx); addr = buf; + tint = time(0); mark = (slash = strrchr(buf,'/')) ? slash : buf; @@ -89,6 +92,7 @@ int slbt_ar_store_archive( dctx,0); } + stino = st.st_ino; buflen = sizeof(buf) - (mark - buf); nbytes = snprintf( mark, @@ -99,8 +103,8 @@ int slbt_ar_store_archive( ".salt.%p" ".pid.%d" ".tmp", - st.st_ino, - time(0),addr, + stino, + tint,addr, getpid()); if (nbytes >= buflen) diff --git a/src/internal/slibtool_tmpfile_impl.c b/src/internal/slibtool_tmpfile_impl.c index 52c7317..3ed7d3a 100644 --- a/src/internal/slibtool_tmpfile_impl.c +++ b/src/internal/slibtool_tmpfile_impl.c @@ -61,6 +61,7 @@ slbt_hidden int slbt_tmpfile(void) { int fd; void * addr; + int64_t tint; char tmplate[128]; /* try with __fs_tmpfile() */ @@ -73,6 +74,7 @@ slbt_hidden int slbt_tmpfile(void) /* fallback to mk{o}stemp */ addr = tmplate; + tint = time(0); memset(tmplate,0,sizeof(tmplate)); snprintf(tmplate,sizeof(tmplate), "/tmp/" @@ -81,8 +83,7 @@ slbt_hidden int slbt_tmpfile(void) ".salt.%p" ".pid.%d" ".XXXXXXXXXXXX", - time(0), - addr, + tint,addr, getpid()); return slbt_mkostemp(tmplate); diff --git a/src/logic/slbt_exec_stoolie.c b/src/logic/slbt_exec_stoolie.c index 7701735..779146a 100644 --- a/src/logic/slbt_exec_stoolie.c +++ b/src/logic/slbt_exec_stoolie.c @@ -102,7 +102,7 @@ static int slbt_exec_stoolie_perform_actions( return SLBT_BUFFER_ERROR(dctx); if (slbt_snprintf( - ltmain,sizeof(slibm4),"%s/%s", + ltmain,sizeof(ltmain),"%s/%s", SLBT_PACKAGE_DATADIR, "ltmain.sh") < 0) return SLBT_BUFFER_ERROR(dctx); diff --git a/src/skin/slbt_skin_stoolie.c b/src/skin/slbt_skin_stoolie.c index e058fed..3a8cdb1 100644 --- a/src/skin/slbt_skin_stoolie.c +++ b/src/skin/slbt_skin_stoolie.c @@ -52,7 +52,7 @@ const slbt_hidden struct argv_option slbt_stoolie_options[] = { "install [s]ltdl sources to %s; this option " "provided is provided for the purpose of backward " "compatibility, and is currently a no-op, thereby " - "deferring -lltdl to the system install library."}, + "deferring -lltdl to the system installed library."}, {0,0,0,0,0,0,0,0} }; |