X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=lib%2Fmatch.c;h=7b0d92cce19b783d0fa92d015622b1f2b3b997dc;hb=92249085071a973e2c0621b0415b93d2e48bb00d;hp=58a00b28c18d5f7a2d56371d19d377d12619def7;hpb=d57728a6ca2413a7c564d8b7bb13d9e5a5a180f3;p=debian%2Fgzip diff --git a/lib/match.c b/lib/match.c index 58a00b2..7b0d92c 100644 --- a/lib/match.c +++ b/lib/match.c @@ -1,6 +1,6 @@ /* match.s -- optional optimized asm version of longest match in deflate.c - Copyright (C) 2002, 2006, 2009-2013 Free Software Foundation, Inc. + Copyright (C) 2002, 2006, 2009-2018 Free Software Foundation, Inc. Copyright (C) 1992-1993 Jean-loup Gailly This program is free software; you can redistribute it and/or modify @@ -49,7 +49,11 @@ 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 @@ -227,7 +231,7 @@ maxmatch: # define predec(An) -(An) # define postinc(An) (An)+ -#else /* default style (Sun 3, NeXT, Amiga, Atari) */ +#else /* default style (Sun 3, NeXT, Atari) */ # define GLOBAL(symbol) .globl symbol # define TEXT .text