Problem reported by Kiyoshi KANAZAWA in: http://bugs.gnu.org/23133
* NEWS: Document this.
* configure.ac (ASMV): Do not define if NO_ASM is
anywhere in DEFS; it doesn't need to be surrounded by white space.
* lib/match.c: Do not use x86 version if __x86_64__ is defined.
* Noteworthy changes in release ?.? (????-??-??) [?]
+** Bug fixes
+
+ Port to Oracle Solaris Studio 12 on x86-64.
+ [bug present since at least gzip-1.2.4]
+
+ When configuring gzip, ./configure DEFS='...-DNO_ASM...' now
+ suppresses assembler again. [bug introduced in gzip-1.3.5]
+
* Noteworthy changes in release 1.7 (2016-03-27) [stable]
AC_CACHE_CHECK([for an assembler syntax supported by this package],
[gzip_cv_assembler],
[gzip_cv_assembler=no
- case " $DEFS " in
- *' NO_ASM '*) ;;
+ case $DEFS in
+ *NO_ASM*) ;;
*)
if cp $srcdir/lib/match.c _match.S &&
eval "$CPP $CPPFLAGS $ASCPPFLAGS _match.S > _match.i" &&
error: DYN_ALLOC not yet supported in match.s
#endif
-#if defined(i386) || defined(_I386) || defined(__i386) || defined(__i386__)
+/* On x86-64, Sun C 5.13 (Oracle Solaris Studio 12.4) 'cc -E -m64'
+ defines i386 when compiling .s or .S files! Luckily it also
+ defines __x86_64__. See Bug#23133. */
+#if ((defined i386 || defined _I386 || defined __i386 || defined __i386__) \
+ && !defined __x86_64__)
/* This version is for 386 Unix or OS/2 in 32 bit mode.
* Warning: it uses the AT&T syntax: mov source,dest