Fri, 03 Aug 2012 20:11:53 +0200
Neutralize buggy code causing OpenPKG to have 'fatal problems' in
spite of correct installation, configuration, and operation. An
administrator suffering from this failure is even unable to
uninstall the flawed software.
1 Index: Configure
2 --- Configure.orig 2012-03-14 23:20:40.000000000 +0100
3 +++ Configure 2012-06-27 10:10:05.000000000 +0200
4 @@ -6,7 +6,6 @@
5 ##
7 require 5.000;
8 -use strict;
10 # see INSTALL for instructions.
12 @@ -34,6 +33,7 @@
13 # (Default: KRB5_DIR/include)
14 # --with-krb5-flavor Declare what flavor of Kerberos 5 is used. Currently
15 # supported values are "MIT" and "Heimdal". A value is required.
16 +# --with-cc compiler to use for $CC (useful if cc is a disguised gcc)
17 #
18 # --test-sanity Make a number of sanity checks on the data in this file.
19 # This is a debugging tool for OpenSSL developers.
20 @@ -123,6 +123,7 @@
21 #$bits2="THIRTY_TWO_BIT ";
22 my $bits1="THIRTY_TWO_BIT ";
23 my $bits2="SIXTY_FOUR_BIT ";
24 +my $ccarg;
26 my $x86_asm="x86cpuid.o:bn-586.o co-586.o x86-mont.o x86-gf2m.o:des-586.o crypt586.o:aes-586.o vpaes-x86.o aesni-x86.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o:rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o:cmll-x86.o:ghash-x86.o:";
28 @@ -460,12 +461,12 @@
30 #### IBM's AIX.
31 "aix3-cc", "cc:-O -DB_ENDIAN -qmaxmem=16384::(unknown):AIX::BN_LLONG RC4_CHAR:::",
32 -"aix-gcc", "gcc:-O -DB_ENDIAN::-pthread:AIX::BN_LLONG RC4_CHAR:${ppc32_asm}:aix32:dlfcn:aix-shared::-shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X32",
33 -"aix64-gcc","gcc:-maix64 -O -DB_ENDIAN::-pthread:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:${ppc64_asm}:aix64:dlfcn:aix-shared::-maix64 -shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X64",
34 +"aix-gcc", "gcc:-O -DB_ENDIAN::-pthread:AIX::BN_LLONG RC4_CHAR:${ppc32_asm}:aix32:dlfcn:aix-shared::-shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::",
35 +"aix64-gcc","gcc:-maix64 -O -DB_ENDIAN::-pthread:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:${ppc64_asm}:aix64:dlfcn:aix-shared::-maix64 -shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::",
36 # Below targets assume AIX 5. Idea is to effectively disregard $OBJECT_MODE
37 # at build time. $OBJECT_MODE is respected at ./config stage!
38 -"aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::BN_LLONG RC4_CHAR:${ppc32_asm}:aix32:dlfcn:aix-shared::-q32 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32",
39 -"aix64-cc", "cc:-q64 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:${ppc64_asm}:aix64:dlfcn:aix-shared::-q64 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 64",
40 +"aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::BN_LLONG RC4_CHAR:${ppc32_asm}:aix32:dlfcn:aix-shared::-q32 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::",
41 +"aix64-cc", "cc:-q64 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:${ppc64_asm}:aix64:dlfcn:aix-shared::-q64 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::",
43 #
44 # Cray T90 and similar (SDSC)
45 @@ -828,6 +829,10 @@
46 {
47 $strict_warnings = 1;
48 }
49 + elsif (/^--with-cc=(.*)$/)
50 + {
51 + $ccarg=$1
52 + }
53 elsif (/^reconfigure/ || /^reconf/)
54 {
55 if (open(IN,"<$Makefile"))
56 @@ -1143,7 +1148,7 @@
57 print "IsMK1MF=$IsMK1MF\n";
59 my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
60 -my $cc = $fields[$idx_cc];
61 +my $cc = $ccarg ? $ccarg : $fields[$idx_cc];
62 # Allow environment CC to override compiler...
63 if($ENV{CC}) {
64 $cc = $ENV{CC};
65 Index: config
66 --- config.orig 2011-11-14 22:12:53.000000000 +0100
67 +++ config 2012-06-27 10:10:05.000000000 +0200
68 @@ -277,6 +277,9 @@
69 Power*)
70 echo "ppc-apple-darwin${VERSION}"
71 ;;
72 + x86_64 )
73 + echo "x86_64-apple-darwin${VERSION}"
74 + ;;
75 *)
76 echo "i686-apple-darwin${VERSION}"
77 ;;
78 @@ -413,7 +416,7 @@
80 # Only set CC if not supplied already
81 if [ -z "$CROSS_COMPILE$CC" ]; then
82 - GCCVER=`sh -c "gcc -dumpversion" 2>/dev/null`
83 + GCCVER=`sh -c "${CC-gcc} -dumpversion" 2>/dev/null`
84 if [ "$GCCVER" != "" ]; then
85 # then strip off whatever prefix egcs prepends the number with...
86 # Hopefully, this will work for any future prefixes as well.
87 @@ -424,8 +427,17 @@
88 # peak single digit before and after first dot, e.g. 2.95.1 gives 29
89 GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'`
90 CC=gcc
91 + SUFFIX=gcc
92 + else
93 + CC=cc
94 + SUFFIX=cc
95 + fi
96 +else
97 + if [ "$GCCVER" != "" ]; then
98 + SUFFIX=gcc
99 else
100 CC=cc
101 + SUFFIX=cc
102 fi
103 fi
104 GCCVER=${GCCVER:-0}
105 @@ -435,7 +447,7 @@
106 if [ $GCCVER -ge 30 ]; then
107 # PA64 support only came in with gcc 3.0.x.
108 # We check if the preprocessor symbol __LP64__ is defined...
109 - if echo "__LP64__" | gcc -v -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null; then
110 + if echo "__LP64__" | $CC -v -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null; then
111 : # __LP64__ has slipped through, it therefore is not defined
112 else
113 GCC_BITS="64"
114 @@ -446,13 +458,14 @@
115 if [ $GCCVER -ge 30 ]; then
116 # 64-bit ABI isn't officially supported in gcc 3.0, but it appears
117 # to be working, at the very least 'make test' passes...
118 - if gcc -v -E -x c /dev/null 2>&1 | grep __arch64__ > /dev/null; then
119 + if $CC -v -E -x c /dev/null 2>&1 | grep __arch64__ > /dev/null; then
120 GCC_ARCH="-m64"
121 else
122 GCC_ARCH="-m32"
123 fi
124 fi
125 # check for WorkShop C, expected output is "cc: blah-blah C x.x"
126 + if [ $GCCVER -eq 0 ]; then
127 CCVER=`(cc -V 2>&1) 2>/dev/null | \
128 egrep -e '^cc: .* C [0-9]\.[0-9]' | \
129 sed 's/.* C \([0-9]\)\.\([0-9]\).*/\1\2/'`
130 @@ -465,6 +478,7 @@
131 sleep 5
132 fi
133 fi
134 + fi
135 fi
137 if [ "${SYSTEM}-${MACHINE}" = "Linux-alpha" ]; then
138 @@ -482,6 +496,7 @@
140 if [ "${SYSTEM}" = "AIX" ]; then # favor vendor cc over gcc
141 (cc) 2>&1 | grep -iv "not found" > /dev/null && CC=cc
142 + (gcc) 2>&1 | grep -iv "not found" > /dev/null && CC=gcc
143 fi
145 CCVER=${CCVER:-0}
146 @@ -507,7 +522,7 @@
147 if [ $CPU -ge 4000 ]; then
148 options="$options -mips2"
149 fi
150 - OUT="irix-$CC"
151 + OUT="irix-$SUFFIX"
152 ;;
153 mips3-sgi-irix)
154 #CPU=`(hinv -t cpu) 2>/dev/null | head -1 | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
155 @@ -517,11 +532,11 @@
156 #else
157 # options="$options -mips3"
158 #fi
159 - OUT="irix-mips3-$CC"
160 + OUT="irix-mips3-$SUFFIX"
161 ;;
162 mips4-sgi-irix64)
163 echo "WARNING! If you wish to build 64-bit library, then you have to"
164 - echo " invoke './Configure irix64-mips4-$CC' *manually*."
165 + echo " invoke './Configure irix64-mips4-$SUFFIX' *manually*."
166 if [ "$TEST" = "false" -a -t 1 ]; then
167 echo " You have about 5 seconds to press Ctrl-C to abort."
168 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
169 @@ -533,7 +548,7 @@
170 #else
171 # options="$options -mips3"
172 #fi
173 - OUT="irix-mips3-$CC"
174 + OUT="irix-mips3-$SUFFIX"
175 ;;
176 ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
177 ppc-apple-darwin*)
178 @@ -566,6 +581,9 @@
179 else
180 OUT="darwin-i386-cc"
181 fi ;;
182 + x86_64-apple-darwin*)
183 + OUT="darwin64-x86_64-cc"
184 + ;;
185 armv6+7-*-iphoneos)
186 options="$options -arch%20armv6 -arch%20armv7"
187 OUT="iphoneos-cross" ;;
188 @@ -575,10 +593,10 @@
189 alpha-*-linux2)
190 ISA=`awk '/cpu model/{print$4;exit(0);}' /proc/cpuinfo`
191 case ${ISA:-generic} in
192 - *[678]) OUT="linux-alpha+bwx-$CC" ;;
193 - *) OUT="linux-alpha-$CC" ;;
194 + *[678]) OUT="linux-alpha+bwx-$SUFFIX" ;;
195 + *) OUT="linux-alpha-$SUFFIX" ;;
196 esac
197 - if [ "$CC" = "gcc" ]; then
198 + if [ $GCCVER -gt 0 ]; then
199 case ${ISA:-generic} in
200 EV5|EV45) options="$options -mcpu=ev5";;
201 EV56|PCA56) options="$options -mcpu=ev56";;
202 @@ -662,7 +680,7 @@
203 ;;
204 x86_64-*-linux?) OUT="linux-x86_64" ;;
205 *86-*-linux2) OUT="linux-elf"
206 - if [ "$GCCVER" -gt 28 ]; then
207 + if [ $GCCVER -gt 28 ]; then
208 if grep '^model.*Pentium' /proc/cpuinfo >/dev/null ; then
209 options="$options -march=pentium"
210 fi
211 @@ -676,17 +694,17 @@
212 *-*-linux1) OUT="linux-aout" ;;
213 *-*-linux2) OUT="linux-generic32" ;;
214 sun4[uv]*-*-solaris2)
215 - OUT="solaris-sparcv9-$CC"
216 + OUT="solaris-sparcv9-$SUFFIX"
217 ISA64=`(isalist) 2>/dev/null | grep sparcv9`
218 if [ "$ISA64" != "" -a "$KERNEL_BITS" = "" ]; then
219 - if [ "$CC" = "cc" -a $CCVER -ge 50 ]; then
220 + if [ $GCCVER -eq 0 -a $CCVER -ge 50 ]; then
221 echo "WARNING! If you wish to build 64-bit library, then you have to"
222 echo " invoke './Configure solaris64-sparcv9-cc' *manually*."
223 if [ "$TEST" = "false" -a -t 1 ]; then
224 echo " You have about 5 seconds to press Ctrl-C to abort."
225 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
226 fi
227 - elif [ "$CC" = "gcc" -a "$GCC_ARCH" = "-m64" ]; then
228 + elif [ $GCCVER -gt 0 -a "$GCC_ARCH" = "-m64" ]; then
229 # $GCC_ARCH denotes default ABI chosen by compiler driver
230 # (first one found on the $PATH). I assume that user
231 # expects certain consistency with the rest of his builds
232 @@ -712,21 +730,21 @@
233 OUT="solaris64-sparcv9-$CC"
234 fi
235 ;;
236 - sun4m-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
237 - sun4d-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
238 - sun4*-*-solaris2) OUT="solaris-sparcv7-$CC" ;;
239 + sun4m-*-solaris2) OUT="solaris-sparcv8-$SUFFIX" ;;
240 + sun4d-*-solaris2) OUT="solaris-sparcv8-$SUFFIX" ;;
241 + sun4*-*-solaris2) OUT="solaris-sparcv7-$SUFFIX" ;;
242 *86*-*-solaris2)
243 ISA64=`(isalist) 2>/dev/null | grep amd64`
244 if [ "$ISA64" != "" -a ${KERNEL_BITS:-64} -eq 64 ]; then
245 - OUT="solaris64-x86_64-$CC"
246 + OUT="solaris64-x86_64-$SUFFIX"
247 else
248 - OUT="solaris-x86-$CC"
249 + OUT="solaris-x86-$SUFFIX"
250 if [ `uname -r | sed -e 's/5\.//'` -lt 10 ]; then
251 options="$options no-sse2"
252 fi
253 fi
254 ;;
255 - *-*-sunos4) OUT="sunos-$CC" ;;
256 + *-*-sunos4) OUT="sunos-$SUFFIX" ;;
258 *86*-*-bsdi4) OUT="BSD-x86-elf"; options="$options no-sse2 -ldl" ;;
259 alpha*-*-*bsd*) OUT="BSD-generic64"; options="$options -DL_ENDIAN" ;;
260 @@ -750,7 +768,7 @@
261 *-*-osf) OUT="osf1-alpha-cc" ;;
262 *-*-tru64) OUT="tru64-alpha-cc" ;;
263 *-*-[Uu]nix[Ww]are7)
264 - if [ "$CC" = "gcc" ]; then
265 + if [ $GCCVER -gt 0 ]; then
266 OUT="unixware-7-gcc" ; options="$options no-sse2"
267 else
268 OUT="unixware-7" ; options="$options no-sse2 -D__i386__"
269 @@ -761,12 +779,12 @@
270 *-*-vos)
271 options="$options no-threads no-shared no-asm no-dso"
272 EXE=".pm"
273 - OUT="vos-$CC" ;;
274 + OUT="vos-$SUFFIX" ;;
275 BS2000-siemens-sysv4) OUT="BS2000-OSD" ;;
276 RM*-siemens-sysv4) OUT="ReliantUNIX" ;;
277 *-siemens-sysv4) OUT="SINIX" ;;
278 *-hpux1*)
279 - if [ $CC = "gcc" -a $GCC_BITS = "64" ]; then
280 + if [ $GCCVER -gt 0 -a $GCC_BITS = "64" ]; then
281 OUT="hpux64-parisc2-gcc"
282 fi
283 [ "$KERNEL_BITS" ] || KERNEL_BITS=`(getconf KERNEL_BITS) 2>/dev/null`
284 @@ -781,8 +799,8 @@
285 OUT="hpux-ia64-cc"
286 fi
287 elif [ $CPU_VERSION -ge 532 ]; then # PA-RISC 2.x CPU
288 - OUT=${OUT:-"hpux-parisc2-${CC}"}
289 - if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
290 + OUT=${OUT:-"hpux-parisc2-${SUFFIX}"}
291 + if [ $KERNEL_BITS -eq 64 -a $GCCVER -eq 0 ]; then
292 echo "WARNING! If you wish to build 64-bit library then you have to"
293 echo " invoke './Configure hpux64-parisc2-cc' *manually*."
294 if [ "$TEST" = "false" -a -t 1 ]; then
295 @@ -791,9 +809,9 @@
296 fi
297 fi
298 elif [ $CPU_VERSION -ge 528 ]; then # PA-RISC 1.1+ CPU
299 - OUT="hpux-parisc-${CC}"
300 + OUT="hpux-parisc-${SUFFIX}"
301 elif [ $CPU_VERSION -ge 523 ]; then # PA-RISC 1.0 CPU
302 - OUT="hpux-parisc-${CC}"
303 + OUT="hpux-parisc-${SUFFIX}"
304 else # Motorola(?) CPU
305 OUT="hpux-$CC"
306 fi
307 @@ -803,7 +821,7 @@
308 [ "$KERNEL_BITS" ] || KERNEL_BITS=`(getconf KERNEL_BITMODE) 2>/dev/null`
309 KERNEL_BITS=${KERNEL_BITS:-32}
310 OBJECT_MODE=${OBJECT_MODE:-32}
311 - if [ "$CC" = "gcc" ]; then
312 + if [ $GCCVER -gt 0 ]; then
313 OUT="aix-gcc"
314 if [ $OBJECT_MODE -eq 64 ]; then
315 echo 'Your $OBJECT_MODE was found to be set to 64'
316 @@ -913,7 +931,7 @@
317 #fi
319 if [ -z "$OUT" ]; then
320 - OUT="$CC"
321 + OUT="$SUFFIX"
322 fi
324 if [ ".$PERL" = . ] ; then
325 @@ -945,9 +963,9 @@
326 # compiler for the platform ... in which case we add it on
327 # the end ... otherwise we leave it off
329 -$PERL ./Configure LIST | grep "$OUT-$CC" > /dev/null
330 +$PERL ./Configure LIST | grep "$OUT-$SUFFIX" > /dev/null
331 if [ $? = "0" ]; then
332 - OUT="$OUT-$CC"
333 + OUT="$OUT-$SUFFIX"
334 fi
336 OUT="$PREFIX$OUT"
337 @@ -957,9 +975,9 @@
338 echo Configuring for $OUT
340 if [ "$TEST" = "true" ]; then
341 - echo $PERL ./Configure $OUT $options
342 + echo $PERL ./Configure $OUT --with-cc=$CC $options
343 else
344 - $PERL ./Configure $OUT $options
345 + $PERL ./Configure $OUT --with-cc=$CC $options
346 fi
347 else
348 echo "This system ($OUT) is not supported. See file INSTALL for details."
349 Index: crypto/aes/asm/aesni-sha1-x86_64.pl
350 --- crypto/aes/asm/aesni-sha1-x86_64.pl.orig 2011-08-23 22:53:31.000000000 +0200
351 +++ crypto/aes/asm/aesni-sha1-x86_64.pl 2012-06-27 10:10:05.000000000 +0200
352 @@ -206,7 +206,7 @@
353 ___
355 my $aesenc=sub {
356 - use integer;
357 +
358 my ($n,$k)=($r/10,$r%10);
359 if ($k==0) {
360 $code.=<<___;
361 @@ -249,7 +249,7 @@
362 };
364 sub Xupdate_ssse3_16_31() # recall that $Xi starts wtih 4
365 -{ use integer;
366 +{
367 my $body = shift;
368 my @insns = (&$body,&$body,&$body,&$body); # 40 instructions
369 my ($a,$b,$c,$d,$e);
370 @@ -330,7 +330,7 @@
371 }
373 sub Xupdate_ssse3_32_79()
374 -{ use integer;
375 +{
376 my $body = shift;
377 my @insns = (&$body,&$body,&$body,&$body); # 32 to 48 instructions
378 my ($a,$b,$c,$d,$e);
379 @@ -397,7 +397,7 @@
380 }
382 sub Xuplast_ssse3_80()
383 -{ use integer;
384 +{
385 my $body = shift;
386 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
387 my ($a,$b,$c,$d,$e);
388 @@ -431,7 +431,7 @@
389 }
391 sub Xloop_ssse3()
392 -{ use integer;
393 +{
394 my $body = shift;
395 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
396 my ($a,$b,$c,$d,$e);
397 @@ -456,7 +456,7 @@
398 }
400 sub Xtail_ssse3()
401 -{ use integer;
402 +{
403 my $body = shift;
404 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
405 my ($a,$b,$c,$d,$e);
406 @@ -465,7 +465,7 @@
407 }
409 sub body_00_19 () {
410 - use integer;
411 +
412 my ($k,$n);
413 my @r=(
414 '($a,$b,$c,$d,$e)=@V;'.
415 @@ -488,7 +488,7 @@
416 }
418 sub body_20_39 () {
419 - use integer;
420 +
421 my ($k,$n);
422 my @r=(
423 '($a,$b,$c,$d,$e)=@V;'.
424 @@ -509,7 +509,7 @@
425 }
427 sub body_40_59 () {
428 - use integer;
429 +
430 my ($k,$n);
431 my @r=(
432 '($a,$b,$c,$d,$e)=@V;'.
433 @@ -723,7 +723,7 @@
434 ___
436 my $aesenc=sub {
437 - use integer;
438 +
439 my ($n,$k)=($r/10,$r%10);
440 if ($k==0) {
441 $code.=<<___;
442 @@ -766,7 +766,7 @@
443 };
445 sub Xupdate_avx_16_31() # recall that $Xi starts wtih 4
446 -{ use integer;
447 +{
448 my $body = shift;
449 my @insns = (&$body,&$body,&$body,&$body); # 40 instructions
450 my ($a,$b,$c,$d,$e);
451 @@ -842,7 +842,7 @@
452 }
454 sub Xupdate_avx_32_79()
455 -{ use integer;
456 +{
457 my $body = shift;
458 my @insns = (&$body,&$body,&$body,&$body); # 32 to 48 instructions
459 my ($a,$b,$c,$d,$e);
460 @@ -907,7 +907,7 @@
461 }
463 sub Xuplast_avx_80()
464 -{ use integer;
465 +{
466 my $body = shift;
467 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
468 my ($a,$b,$c,$d,$e);
469 @@ -941,7 +941,7 @@
470 }
472 sub Xloop_avx()
473 -{ use integer;
474 +{
475 my $body = shift;
476 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
477 my ($a,$b,$c,$d,$e);
478 @@ -965,7 +965,7 @@
479 }
481 sub Xtail_avx()
482 -{ use integer;
483 +{
484 my $body = shift;
485 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
486 my ($a,$b,$c,$d,$e);
487 Index: crypto/asn1/charmap.pl
488 --- crypto/asn1/charmap.pl.orig 2000-07-28 03:58:11.000000000 +0200
489 +++ crypto/asn1/charmap.pl 2012-06-27 10:10:05.000000000 +0200
490 @@ -1,7 +1,5 @@
491 #!/usr/local/bin/perl -w
493 -use strict;
494 -
495 my ($i, @arr);
497 # Set up an array with the type of ASCII characters
498 Index: crypto/bn/asm/modexp512-x86_64.pl
499 --- crypto/bn/asm/modexp512-x86_64.pl.orig 2011-12-12 16:12:09.000000000 +0100
500 +++ crypto/bn/asm/modexp512-x86_64.pl 2012-06-27 10:10:05.000000000 +0200
501 @@ -70,7 +70,6 @@
503 open STDOUT,"| $^X $xlate $flavour $output";
505 -use strict;
506 my $code=".text\n\n";
507 my $m=0;
509 Index: crypto/md5/asm/md5-x86_64.pl
510 --- crypto/md5/asm/md5-x86_64.pl.orig 2008-12-19 12:17:27.000000000 +0100
511 +++ crypto/md5/asm/md5-x86_64.pl 2012-06-27 10:10:05.000000000 +0200
512 @@ -7,8 +7,6 @@
513 # in the public domain.
514 #
516 -use strict;
517 -
518 my $code;
520 # round1_step() does:
521 Index: crypto/objects/obj_dat.pl
522 --- crypto/objects/obj_dat.pl.orig 2007-09-18 23:05:21.000000000 +0200
523 +++ crypto/objects/obj_dat.pl 2012-06-27 10:10:05.000000000 +0200
524 @@ -2,7 +2,6 @@
526 # fixes bug in floating point emulation on sparc64 when
527 # this script produces off-by-one output on sparc64
528 -use integer;
530 sub obj_cmp
531 {
532 Index: crypto/objects/objxref.pl
533 --- crypto/objects/objxref.pl.orig 2009-04-06 18:16:23.000000000 +0200
534 +++ crypto/objects/objxref.pl 2012-06-27 10:10:05.000000000 +0200
535 @@ -1,7 +1,5 @@
536 #!/usr/local/bin/perl
538 -use strict;
539 -
540 my %xref_tbl;
541 my %oid_tbl;
543 Index: crypto/perlasm/x86_64-xlate.pl
544 --- crypto/perlasm/x86_64-xlate.pl.orig 2012-03-13 20:19:31.000000000 +0100
545 +++ crypto/perlasm/x86_64-xlate.pl 2012-06-27 10:10:05.000000000 +0200
546 @@ -248,7 +248,6 @@
548 # Solaris /usr/ccs/bin/as can't handle multiplications
549 # in $self->{label}, new gas requires sign extension...
550 - use integer;
551 $self->{label} =~ s/(?<![\w\$\.])(0x?[0-9a-f]+)/oct($1)/egi;
552 $self->{label} =~ s/([0-9]+\s*[\*\/\%]\s*[0-9]+)/eval($1)/eg;
553 $self->{label} =~ s/([0-9]+)/$1<<32>>32/eg;
554 Index: crypto/sha/asm/sha1-586.pl
555 --- crypto/sha/asm/sha1-586.pl.orig 2011-06-28 15:53:49.000000000 +0200
556 +++ crypto/sha/asm/sha1-586.pl 2012-06-27 10:10:05.000000000 +0200
557 @@ -523,7 +523,7 @@
558 # round]...
559 #
560 sub Xupdate_ssse3_16_31() # recall that $Xi starts wtih 4
561 -{ use integer;
562 +{
563 my $body = shift;
564 my @insns = (&$body,&$body,&$body,&$body); # 40 instructions
565 my ($a,$b,$c,$d,$e);
566 @@ -607,7 +607,7 @@
567 }
569 sub Xupdate_ssse3_32_79()
570 -{ use integer;
571 +{
572 my $body = shift;
573 my @insns = (&$body,&$body,&$body,&$body); # 32 to 48 instructions
574 my ($a,$b,$c,$d,$e);
575 @@ -675,7 +675,7 @@
576 }
578 sub Xuplast_ssse3_80()
579 -{ use integer;
580 +{
581 my $body = shift;
582 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
583 my ($a,$b,$c,$d,$e);
584 @@ -710,7 +710,7 @@
585 }
587 sub Xloop_ssse3()
588 -{ use integer;
589 +{
590 my $body = shift;
591 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
592 my ($a,$b,$c,$d,$e);
593 @@ -735,7 +735,7 @@
594 }
596 sub Xtail_ssse3()
597 -{ use integer;
598 +{
599 my $body = shift;
600 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
601 my ($a,$b,$c,$d,$e);
602 @@ -945,7 +945,7 @@
603 &jmp (&label("loop"));
605 sub Xupdate_avx_16_31() # recall that $Xi starts wtih 4
606 -{ use integer;
607 +{
608 my $body = shift;
609 my @insns = (&$body,&$body,&$body,&$body); # 40 instructions
610 my ($a,$b,$c,$d,$e);
611 @@ -1023,7 +1023,7 @@
612 }
614 sub Xupdate_avx_32_79()
615 -{ use integer;
616 +{
617 my $body = shift;
618 my @insns = (&$body,&$body,&$body,&$body); # 32 to 48 instructions
619 my ($a,$b,$c,$d,$e);
620 @@ -1088,7 +1088,7 @@
621 }
623 sub Xuplast_avx_80()
624 -{ use integer;
625 +{
626 my $body = shift;
627 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
628 my ($a,$b,$c,$d,$e);
629 @@ -1123,7 +1123,7 @@
630 }
632 sub Xloop_avx()
633 -{ use integer;
634 +{
635 my $body = shift;
636 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
637 my ($a,$b,$c,$d,$e);
638 @@ -1147,7 +1147,7 @@
639 }
641 sub Xtail_avx()
642 -{ use integer;
643 +{
644 my $body = shift;
645 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
646 my ($a,$b,$c,$d,$e);
647 Index: crypto/sha/asm/sha1-x86_64.pl
648 --- crypto/sha/asm/sha1-x86_64.pl.orig 2011-07-04 15:01:42.000000000 +0200
649 +++ crypto/sha/asm/sha1-x86_64.pl 2012-06-27 10:10:05.000000000 +0200
650 @@ -367,7 +367,7 @@
651 }
653 sub Xupdate_ssse3_16_31() # recall that $Xi starts wtih 4
654 -{ use integer;
655 +{
656 my $body = shift;
657 my @insns = (&$body,&$body,&$body,&$body); # 40 instructions
658 my ($a,$b,$c,$d,$e);
659 @@ -448,7 +448,7 @@
660 }
662 sub Xupdate_ssse3_32_79()
663 -{ use integer;
664 +{
665 my $body = shift;
666 my @insns = (&$body,&$body,&$body,&$body); # 32 to 48 instructions
667 my ($a,$b,$c,$d,$e);
668 @@ -515,7 +515,7 @@
669 }
671 sub Xuplast_ssse3_80()
672 -{ use integer;
673 +{
674 my $body = shift;
675 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
676 my ($a,$b,$c,$d,$e);
677 @@ -549,7 +549,7 @@
678 }
680 sub Xloop_ssse3()
681 -{ use integer;
682 +{
683 my $body = shift;
684 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
685 my ($a,$b,$c,$d,$e);
686 @@ -574,7 +574,7 @@
687 }
689 sub Xtail_ssse3()
690 -{ use integer;
691 +{
692 my $body = shift;
693 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
694 my ($a,$b,$c,$d,$e);
695 @@ -778,7 +778,7 @@
696 ___
698 sub Xupdate_avx_16_31() # recall that $Xi starts wtih 4
699 -{ use integer;
700 +{
701 my $body = shift;
702 my @insns = (&$body,&$body,&$body,&$body); # 40 instructions
703 my ($a,$b,$c,$d,$e);
704 @@ -854,7 +854,7 @@
705 }
707 sub Xupdate_avx_32_79()
708 -{ use integer;
709 +{
710 my $body = shift;
711 my @insns = (&$body,&$body,&$body,&$body); # 32 to 48 instructions
712 my ($a,$b,$c,$d,$e);
713 @@ -919,7 +919,7 @@
714 }
716 sub Xuplast_avx_80()
717 -{ use integer;
718 +{
719 my $body = shift;
720 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
721 my ($a,$b,$c,$d,$e);
722 @@ -953,7 +953,7 @@
723 }
725 sub Xloop_avx()
726 -{ use integer;
727 +{
728 my $body = shift;
729 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
730 my ($a,$b,$c,$d,$e);
731 @@ -977,7 +977,7 @@
732 }
734 sub Xtail_avx()
735 -{ use integer;
736 +{
737 my $body = shift;
738 my @insns = (&$body,&$body,&$body,&$body); # 32 instructions
739 my ($a,$b,$c,$d,$e);
740 Index: util/clean-depend.pl
741 --- util/clean-depend.pl.orig 2007-09-19 16:53:18.000000000 +0200
742 +++ util/clean-depend.pl 2012-06-27 10:10:05.000000000 +0200
743 @@ -2,8 +2,6 @@
744 # Clean the dependency list in a makefile of standard includes...
745 # Written by Ben Laurie <ben@algroup.co.uk> 19 Jan 1999
747 -use strict;
748 -
749 while(<STDIN>) {
750 print;
751 last if /^# DO NOT DELETE THIS LINE/;
752 Index: util/mklink.pl
753 --- util/mklink.pl.orig 2008-12-19 14:35:09.000000000 +0100
754 +++ util/mklink.pl 2012-06-27 10:10:05.000000000 +0200
755 @@ -15,13 +15,12 @@
756 # Apart from this, this script should be able to handle even the most
757 # pathological cases.
759 -use Cwd;
760 -
761 my $from = shift;
762 my @files = @ARGV;
764 my @from_path = split(/[\\\/]/, $from);
765 -my $pwd = getcwd();
766 +my $pwd = `pwd`;
767 +$pwd =~ s/\r?\n$//s;
768 chomp($pwd);
769 my @pwd_path = split(/[\\\/]/, $pwd);