[Announce] Libgcrypt 1.4.0 (stable) released

Ismail Dönmez ismail at pardus.org.tr
Tue Dec 11 16:20:32 CET 2007


Tuesday 11 December 2007 17:11:46 tarihinde Marcus Brinkmann şunları yazmıştı:
> At Tue, 11 Dec 2007 14:53:37 +0200,
>
> Ismail Dnmez <ismail at pardus.org.tr> wrote:
> > Monday 10 December 2007 21:01:06 tarihinde Werner Koch unlar yazmt:
> > > Hello!
> > >
> > > We are pleased to announce the availability of Libgcrypt 1.4.0.  This
> > > is the new stable version of Libgcrypt and upward compatible with the
> > > 1.2 series.
> >
> > All tests fail here, already reported to bug-libgcrypt but can't find it
> > on the web so here it goes (this is same as Gentoo bug  #201917) :
> >
> > Hi all,
> >
> > I got all 16 tests crash with libgcrypt 1.4.0. It looks like
> > CFLAGS="-O2 -fomit-frame-pointer" causes the crash. First I thought it
> > was a compiler bug since I use gcc 4.3.0 trunk but valgrind reports the
> > following invalid read :
> >
> > ==28359== Invalid read of size 1
> > ==28359==    at 0x4037356: _gcry_detect_hw_features (hwfeatures.c:95)
> > ==28359==  Address 0x4707b263 is not stack'd, malloc'd or (recently)
> > free'd
> >
> > All tests give the similar gdb backtrace :
> >
> > (gdb) bt
> > #0  0xb7f61356 in _gcry_detect_hw_features () at hwfeatures.c:95
> > #1  0xb7f5ded8 in global_init () at global.c:81
> > #2  0xb7f5e5b3 in _gcry_check_version (req_version=0x8048e54 "1.4.0") at
> > global.c:171
> > #3  0xb7f5d06b in gcry_check_version (req_version=0x8048e54 "1.4.0") at
> > visibility.c:66
> > #4  0x08048a45 in main (argc=Cannot access memory at address 0xd)
> > hmac.c:161
> >
> > Since hwfeatures.c line 95 refers to an inline asm block, I can't debug
> > this myself. Any help is appreciated.
>
> Can you check with objdump -d which instruction in the asm it is that
> gives the error?  (maybe send me the objdump -d output for the binary
> matching the above log).

objdump -d output attached.

Thanks,
ismail

-- 
Never learn by your mistakes, if you do you may never dare to try again.
-------------- next part --------------

./hmac:     file format elf32-i386

Disassembly of section .init:

08048590 <_init>:
 8048590:	55                   	push   %ebp
 8048591:	89 e5                	mov    %esp,%ebp
 8048593:	53                   	push   %ebx
 8048594:	83 ec 04             	sub    $0x4,%esp
 8048597:	e8 00 00 00 00       	call   804859c <_init+0xc>
 804859c:	5b                   	pop    %ebx
 804859d:	81 c3 58 1a 00 00    	add    $0x1a58,%ebx
 80485a3:	8b 93 fc ff ff ff    	mov    -0x4(%ebx),%edx
 80485a9:	85 d2                	test   %edx,%edx
 80485ab:	74 05                	je     80485b2 <_init+0x22>
 80485ad:	e8 2e 00 00 00       	call   80485e0 <__gmon_start__ at plt>
 80485b2:	e8 a9 01 00 00       	call   8048760 <frame_dummy>
 80485b7:	e8 84 07 00 00       	call   8048d40 <__do_global_ctors_aux>
 80485bc:	58                   	pop    %eax
 80485bd:	5b                   	pop    %ebx
 80485be:	c9                   	leave  
 80485bf:	c3                   	ret    
Disassembly of section .plt:

080485c0 <gcry_check_version at plt-0x10>:
 80485c0:	ff 35 f8 9f 04 08    	pushl  0x8049ff8
 80485c6:	ff 25 fc 9f 04 08    	jmp    *0x8049ffc
 80485cc:	00 00                	add    %al,(%eax)
	...

080485d0 <gcry_check_version at plt>:
 80485d0:	ff 25 00 a0 04 08    	jmp    *0x804a000
 80485d6:	68 00 00 00 00       	push   $0x0
 80485db:	e9 e0 ff ff ff       	jmp    80485c0 <_init+0x30>

080485e0 <__gmon_start__ at plt>:
 80485e0:	ff 25 04 a0 04 08    	jmp    *0x804a004
 80485e6:	68 08 00 00 00       	push   $0x8
 80485eb:	e9 d0 ff ff ff       	jmp    80485c0 <_init+0x30>

080485f0 <putchar at plt>:
 80485f0:	ff 25 08 a0 04 08    	jmp    *0x804a008
 80485f6:	68 10 00 00 00       	push   $0x10
 80485fb:	e9 c0 ff ff ff       	jmp    80485c0 <_init+0x30>

08048600 <__libc_start_main at plt>:
 8048600:	ff 25 0c a0 04 08    	jmp    *0x804a00c
 8048606:	68 18 00 00 00       	push   $0x18
 804860b:	e9 b0 ff ff ff       	jmp    80485c0 <_init+0x30>

08048610 <gcry_control at plt>:
 8048610:	ff 25 10 a0 04 08    	jmp    *0x804a010
 8048616:	68 20 00 00 00       	push   $0x20
 804861b:	e9 a0 ff ff ff       	jmp    80485c0 <_init+0x30>

08048620 <gcry_md_write at plt>:
 8048620:	ff 25 14 a0 04 08    	jmp    *0x804a014
 8048626:	68 28 00 00 00       	push   $0x28
 804862b:	e9 90 ff ff ff       	jmp    80485c0 <_init+0x30>

08048630 <printf at plt>:
 8048630:	ff 25 18 a0 04 08    	jmp    *0x804a018
 8048636:	68 30 00 00 00       	push   $0x30
 804863b:	e9 80 ff ff ff       	jmp    80485c0 <_init+0x30>

08048640 <gpg_strerror at plt>:
 8048640:	ff 25 1c a0 04 08    	jmp    *0x804a01c
 8048646:	68 38 00 00 00       	push   $0x38
 804864b:	e9 70 ff ff ff       	jmp    80485c0 <_init+0x30>

08048650 <fwrite at plt>:
 8048650:	ff 25 20 a0 04 08    	jmp    *0x804a020
 8048656:	68 40 00 00 00       	push   $0x40
 804865b:	e9 60 ff ff ff       	jmp    80485c0 <_init+0x30>

08048660 <gcry_md_setkey at plt>:
 8048660:	ff 25 24 a0 04 08    	jmp    *0x804a024
 8048666:	68 48 00 00 00       	push   $0x48
 804866b:	e9 50 ff ff ff       	jmp    80485c0 <_init+0x30>

08048670 <gcry_md_close at plt>:
 8048670:	ff 25 28 a0 04 08    	jmp    *0x804a028
 8048676:	68 50 00 00 00       	push   $0x50
 804867b:	e9 40 ff ff ff       	jmp    80485c0 <_init+0x30>

08048680 <gcry_md_get_algo_dlen at plt>:
 8048680:	ff 25 2c a0 04 08    	jmp    *0x804a02c
 8048686:	68 58 00 00 00       	push   $0x58
 804868b:	e9 30 ff ff ff       	jmp    80485c0 <_init+0x30>

08048690 <vfprintf at plt>:
 8048690:	ff 25 30 a0 04 08    	jmp    *0x804a030
 8048696:	68 60 00 00 00       	push   $0x60
 804869b:	e9 20 ff ff ff       	jmp    80485c0 <_init+0x30>

080486a0 <gcry_md_read at plt>:
 80486a0:	ff 25 34 a0 04 08    	jmp    *0x804a034
 80486a6:	68 68 00 00 00       	push   $0x68
 80486ab:	e9 10 ff ff ff       	jmp    80485c0 <_init+0x30>

080486b0 <exit at plt>:
 80486b0:	ff 25 38 a0 04 08    	jmp    *0x804a038
 80486b6:	68 70 00 00 00       	push   $0x70
 80486bb:	e9 00 ff ff ff       	jmp    80485c0 <_init+0x30>

080486c0 <gcry_md_open at plt>:
 80486c0:	ff 25 3c a0 04 08    	jmp    *0x804a03c
 80486c6:	68 78 00 00 00       	push   $0x78
 80486cb:	e9 f0 fe ff ff       	jmp    80485c0 <_init+0x30>
Disassembly of section .text:

080486d0 <_start>:
 80486d0:	31 ed                	xor    %ebp,%ebp
 80486d2:	5e                   	pop    %esi
 80486d3:	89 e1                	mov    %esp,%ecx
 80486d5:	83 e4 f0             	and    $0xfffffff0,%esp
 80486d8:	50                   	push   %eax
 80486d9:	54                   	push   %esp
 80486da:	52                   	push   %edx
 80486db:	68 c0 8c 04 08       	push   $0x8048cc0
 80486e0:	68 d0 8c 04 08       	push   $0x8048cd0
 80486e5:	51                   	push   %ecx
 80486e6:	56                   	push   %esi
 80486e7:	68 f0 89 04 08       	push   $0x80489f0
 80486ec:	e8 0f ff ff ff       	call   8048600 <__libc_start_main at plt>
 80486f1:	f4                   	hlt    
 80486f2:	90                   	nop    
 80486f3:	90                   	nop    
 80486f4:	90                   	nop    
 80486f5:	90                   	nop    
 80486f6:	90                   	nop    
 80486f7:	90                   	nop    
 80486f8:	90                   	nop    
 80486f9:	90                   	nop    
 80486fa:	90                   	nop    
 80486fb:	90                   	nop    
 80486fc:	90                   	nop    
 80486fd:	90                   	nop    
 80486fe:	90                   	nop    
 80486ff:	90                   	nop    

08048700 <__do_global_dtors_aux>:
 8048700:	55                   	push   %ebp
 8048701:	89 e5                	mov    %esp,%ebp
 8048703:	53                   	push   %ebx
 8048704:	83 ec 04             	sub    $0x4,%esp
 8048707:	80 3d 48 a0 04 08 00 	cmpb   $0x0,0x804a048
 804870e:	75 40                	jne    8048750 <__do_global_dtors_aux+0x50>
 8048710:	8b 15 4c a0 04 08    	mov    0x804a04c,%edx
 8048716:	b8 10 9f 04 08       	mov    $0x8049f10,%eax
 804871b:	2d 0c 9f 04 08       	sub    $0x8049f0c,%eax
 8048720:	c1 f8 02             	sar    $0x2,%eax
 8048723:	8d 58 ff             	lea    -0x1(%eax),%ebx
 8048726:	39 da                	cmp    %ebx,%edx
 8048728:	73 1f                	jae    8048749 <__do_global_dtors_aux+0x49>
 804872a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
 8048730:	8d 42 01             	lea    0x1(%edx),%eax
 8048733:	a3 4c a0 04 08       	mov    %eax,0x804a04c
 8048738:	ff 14 85 0c 9f 04 08 	call   *0x8049f0c(,%eax,4)
 804873f:	8b 15 4c a0 04 08    	mov    0x804a04c,%edx
 8048745:	39 da                	cmp    %ebx,%edx
 8048747:	72 e7                	jb     8048730 <__do_global_dtors_aux+0x30>
 8048749:	c6 05 48 a0 04 08 01 	movb   $0x1,0x804a048
 8048750:	83 c4 04             	add    $0x4,%esp
 8048753:	5b                   	pop    %ebx
 8048754:	5d                   	pop    %ebp
 8048755:	c3                   	ret    
 8048756:	8d 76 00             	lea    0x0(%esi),%esi
 8048759:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi

08048760 <frame_dummy>:
 8048760:	55                   	push   %ebp
 8048761:	89 e5                	mov    %esp,%ebp
 8048763:	83 ec 08             	sub    $0x8,%esp
 8048766:	a1 14 9f 04 08       	mov    0x8049f14,%eax
 804876b:	85 c0                	test   %eax,%eax
 804876d:	74 12                	je     8048781 <frame_dummy+0x21>
 804876f:	b8 00 00 00 00       	mov    $0x0,%eax
 8048774:	85 c0                	test   %eax,%eax
 8048776:	74 09                	je     8048781 <frame_dummy+0x21>
 8048778:	c7 04 24 14 9f 04 08 	movl   $0x8049f14,(%esp)
 804877f:	ff d0                	call   *%eax
 8048781:	c9                   	leave  
 8048782:	c3                   	ret    
 8048783:	90                   	nop    
 8048784:	90                   	nop    
 8048785:	90                   	nop    
 8048786:	90                   	nop    
 8048787:	90                   	nop    
 8048788:	90                   	nop    
 8048789:	90                   	nop    
 804878a:	90                   	nop    
 804878b:	90                   	nop    
 804878c:	90                   	nop    
 804878d:	90                   	nop    
 804878e:	90                   	nop    
 804878f:	90                   	nop    

08048790 <fail>:
 8048790:	83 ec 0c             	sub    $0xc,%esp
 8048793:	8d 44 24 14          	lea    0x14(%esp),%eax
 8048797:	89 44 24 08          	mov    %eax,0x8(%esp)
 804879b:	8b 44 24 10          	mov    0x10(%esp),%eax
 804879f:	89 44 24 04          	mov    %eax,0x4(%esp)
 80487a3:	a1 44 a0 04 08       	mov    0x804a044,%eax
 80487a8:	89 04 24             	mov    %eax,(%esp)
 80487ab:	e8 e0 fe ff ff       	call   8048690 <vfprintf at plt>
 80487b0:	83 05 54 a0 04 08 01 	addl   $0x1,0x804a054
 80487b7:	83 c4 0c             	add    $0xc,%esp
 80487ba:	c3                   	ret    
 80487bb:	90                   	nop    
 80487bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi

080487c0 <die>:
 80487c0:	83 ec 0c             	sub    $0xc,%esp
 80487c3:	8d 44 24 14          	lea    0x14(%esp),%eax
 80487c7:	89 44 24 08          	mov    %eax,0x8(%esp)
 80487cb:	8b 44 24 10          	mov    0x10(%esp),%eax
 80487cf:	89 44 24 04          	mov    %eax,0x4(%esp)
 80487d3:	a1 44 a0 04 08       	mov    0x804a044,%eax
 80487d8:	89 04 24             	mov    %eax,(%esp)
 80487db:	e8 b0 fe ff ff       	call   8048690 <vfprintf at plt>
 80487e0:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
 80487e7:	e8 c4 fe ff ff       	call   80486b0 <exit at plt>
 80487ec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi

080487f0 <check_one_mac>:
 80487f0:	83 ec 3c             	sub    $0x3c,%esp
 80487f3:	89 44 24 14          	mov    %eax,0x14(%esp)
 80487f7:	89 44 24 04          	mov    %eax,0x4(%esp)
 80487fb:	8d 44 24 28          	lea    0x28(%esp),%eax
 80487ff:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
 8048803:	89 cb                	mov    %ecx,%ebx
 8048805:	89 6c 24 38          	mov    %ebp,0x38(%esp)
 8048809:	89 d5                	mov    %edx,%ebp
 804880b:	89 74 24 30          	mov    %esi,0x30(%esp)
 804880f:	89 7c 24 34          	mov    %edi,0x34(%esp)
 8048813:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
 804881a:	00 
 804881b:	89 04 24             	mov    %eax,(%esp)
 804881e:	e8 9d fe ff ff       	call   80486c0 <gcry_md_open at plt>
 8048823:	85 c0                	test   %eax,%eax
 8048825:	0f 85 c5 00 00 00    	jne    80488f0 <check_one_mac+0x100>
 804882b:	8b 54 24 14          	mov    0x14(%esp),%edx
 804882f:	89 14 24             	mov    %edx,(%esp)
 8048832:	e8 49 fe ff ff       	call   8048680 <gcry_md_get_algo_dlen at plt>
 8048837:	89 44 24 18          	mov    %eax,0x18(%esp)
 804883b:	83 e8 01             	sub    $0x1,%eax
 804883e:	3d f3 01 00 00       	cmp    $0x1f3,%eax
 8048843:	77 7b                	ja     80488c0 <check_one_mac+0xd0>
 8048845:	8b 44 24 28          	mov    0x28(%esp),%eax
 8048849:	89 5c 24 08          	mov    %ebx,0x8(%esp)
 804884d:	89 6c 24 04          	mov    %ebp,0x4(%esp)
 8048851:	89 04 24             	mov    %eax,(%esp)
 8048854:	e8 07 fe ff ff       	call   8048660 <gcry_md_setkey at plt>
 8048859:	85 c0                	test   %eax,%eax
 804885b:	0f 85 b7 00 00 00    	jne    8048918 <check_one_mac+0x128>
 8048861:	8b 54 24 44          	mov    0x44(%esp),%edx
 8048865:	8b 74 24 40          	mov    0x40(%esp),%esi
 8048869:	8b 44 24 28          	mov    0x28(%esp),%eax
 804886d:	89 54 24 08          	mov    %edx,0x8(%esp)
 8048871:	89 74 24 04          	mov    %esi,0x4(%esp)
 8048875:	89 04 24             	mov    %eax,(%esp)
 8048878:	e8 a3 fd ff ff       	call   8048620 <gcry_md_write at plt>
 804887d:	8b 44 24 28          	mov    0x28(%esp),%eax
 8048881:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
 8048888:	00 
 8048889:	89 04 24             	mov    %eax,(%esp)
 804888c:	e8 0f fe ff ff       	call   80486a0 <gcry_md_read at plt>
 8048891:	8b 7c 24 18          	mov    0x18(%esp),%edi
 8048895:	8b 4c 24 18          	mov    0x18(%esp),%ecx
 8048899:	39 ff                	cmp    %edi,%edi
 804889b:	8b 7c 24 48          	mov    0x48(%esp),%edi
 804889f:	89 c6                	mov    %eax,%esi
 80488a1:	89 c5                	mov    %eax,%ebp
 80488a3:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
 80488a5:	0f 85 95 00 00 00    	jne    8048940 <check_one_mac+0x150>
 80488ab:	8b 44 24 28          	mov    0x28(%esp),%eax
 80488af:	89 04 24             	mov    %eax,(%esp)
 80488b2:	e8 b9 fd ff ff       	call   8048670 <gcry_md_close at plt>
 80488b7:	eb 23                	jmp    80488dc <check_one_mac+0xec>
 80488b9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
 80488c0:	8b 74 24 18          	mov    0x18(%esp),%esi
 80488c4:	8b 7c 24 14          	mov    0x14(%esp),%edi
 80488c8:	c7 04 24 b8 8d 04 08 	movl   $0x8048db8,(%esp)
 80488cf:	89 74 24 08          	mov    %esi,0x8(%esp)
 80488d3:	89 7c 24 04          	mov    %edi,0x4(%esp)
 80488d7:	e8 b4 fe ff ff       	call   8048790 <fail>
 80488dc:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
 80488e0:	8b 74 24 30          	mov    0x30(%esp),%esi
 80488e4:	8b 7c 24 34          	mov    0x34(%esp),%edi
 80488e8:	8b 6c 24 38          	mov    0x38(%esp),%ebp
 80488ec:	83 c4 3c             	add    $0x3c,%esp
 80488ef:	c3                   	ret    
 80488f0:	89 04 24             	mov    %eax,(%esp)
 80488f3:	e8 48 fd ff ff       	call   8048640 <gpg_strerror at plt>
 80488f8:	c7 04 24 94 8d 04 08 	movl   $0x8048d94,(%esp)
 80488ff:	89 44 24 08          	mov    %eax,0x8(%esp)
 8048903:	8b 44 24 14          	mov    0x14(%esp),%eax
 8048907:	89 44 24 04          	mov    %eax,0x4(%esp)
 804890b:	e8 80 fe ff ff       	call   8048790 <fail>
 8048910:	eb ca                	jmp    80488dc <check_one_mac+0xec>
 8048912:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
 8048918:	89 04 24             	mov    %eax,(%esp)
 804891b:	e8 20 fd ff ff       	call   8048640 <gpg_strerror at plt>
 8048920:	c7 04 24 e4 8d 04 08 	movl   $0x8048de4,(%esp)
 8048927:	89 44 24 08          	mov    %eax,0x8(%esp)
 804892b:	8b 44 24 14          	mov    0x14(%esp),%eax
 804892f:	89 44 24 04          	mov    %eax,0x4(%esp)
 8048933:	e8 58 fe ff ff       	call   8048790 <fail>
 8048938:	eb a2                	jmp    80488dc <check_one_mac+0xec>
 804893a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
 8048940:	c7 04 24 08 8e 04 08 	movl   $0x8048e08,(%esp)
 8048947:	e8 e4 fc ff ff       	call   8048630 <printf at plt>
 804894c:	8b 44 24 18          	mov    0x18(%esp),%eax
 8048950:	85 c0                	test   %eax,%eax
 8048952:	7e 7a                	jle    80489ce <check_one_mac+0x1de>
 8048954:	31 db                	xor    %ebx,%ebx
 8048956:	66 90                	xchg   %ax,%ax
 8048958:	0f b6 44 1d 00       	movzbl 0x0(%ebp,%ebx,1),%eax
 804895d:	83 c3 01             	add    $0x1,%ebx
 8048960:	c7 04 24 13 8e 04 08 	movl   $0x8048e13,(%esp)
 8048967:	89 44 24 04          	mov    %eax,0x4(%esp)
 804896b:	e8 c0 fc ff ff       	call   8048630 <printf at plt>
 8048970:	39 5c 24 18          	cmp    %ebx,0x18(%esp)
 8048974:	7f e2                	jg     8048958 <check_one_mac+0x168>
 8048976:	c7 04 24 19 8e 04 08 	movl   $0x8048e19,(%esp)
 804897d:	31 db                	xor    %ebx,%ebx
 804897f:	e8 ac fc ff ff       	call   8048630 <printf at plt>
 8048984:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
 8048988:	8b 54 24 48          	mov    0x48(%esp),%edx
 804898c:	0f b6 04 1a          	movzbl (%edx,%ebx,1),%eax
 8048990:	83 c3 01             	add    $0x1,%ebx
 8048993:	c7 04 24 13 8e 04 08 	movl   $0x8048e13,(%esp)
 804899a:	89 44 24 04          	mov    %eax,0x4(%esp)
 804899e:	e8 8d fc ff ff       	call   8048630 <printf at plt>
 80489a3:	39 5c 24 18          	cmp    %ebx,0x18(%esp)
 80489a7:	7f df                	jg     8048988 <check_one_mac+0x198>
 80489a9:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
 80489b0:	e8 3b fc ff ff       	call   80485f0 <putchar at plt>
 80489b5:	8b 74 24 14          	mov    0x14(%esp),%esi
 80489b9:	c7 04 24 25 8e 04 08 	movl   $0x8048e25,(%esp)
 80489c0:	89 74 24 04          	mov    %esi,0x4(%esp)
 80489c4:	e8 c7 fd ff ff       	call   8048790 <fail>
 80489c9:	e9 dd fe ff ff       	jmp    80488ab <check_one_mac+0xbb>
 80489ce:	c7 04 24 19 8e 04 08 	movl   $0x8048e19,(%esp)
 80489d5:	e8 56 fc ff ff       	call   8048630 <printf at plt>
 80489da:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
 80489e0:	eb c7                	jmp    80489a9 <check_one_mac+0x1b9>
 80489e2:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
 80489e9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi

080489f0 <main>:
 80489f0:	8d 4c 24 04          	lea    0x4(%esp),%ecx
 80489f4:	83 e4 f0             	and    $0xfffffff0,%esp
 80489f7:	ff 71 fc             	pushl  -0x4(%ecx)
 80489fa:	57                   	push   %edi
 80489fb:	56                   	push   %esi
 80489fc:	53                   	push   %ebx
 80489fd:	51                   	push   %ecx
 80489fe:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
 8048a04:	8b 41 04             	mov    0x4(%ecx),%eax
 8048a07:	83 39 01             	cmpl   $0x1,(%ecx)
 8048a0a:	7e 2b                	jle    8048a37 <main+0x47>
 8048a0c:	8b 58 04             	mov    0x4(%eax),%ebx
 8048a0f:	bf 42 8e 04 08       	mov    $0x8048e42,%edi
 8048a14:	b9 0a 00 00 00       	mov    $0xa,%ecx
 8048a19:	89 de                	mov    %ebx,%esi
 8048a1b:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
 8048a1d:	0f 84 b2 01 00 00    	je     8048bd5 <main+0x1e5>
 8048a23:	bf 4c 8e 04 08       	mov    $0x8048e4c,%edi
 8048a28:	b9 08 00 00 00       	mov    $0x8,%ecx
 8048a2d:	89 de                	mov    %ebx,%esi
 8048a2f:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
 8048a31:	0f 84 57 02 00 00    	je     8048c8e <main+0x29e>
 8048a37:	31 ff                	xor    %edi,%edi
 8048a39:	c7 04 24 54 8e 04 08 	movl   $0x8048e54,(%esp)
 8048a40:	e8 8b fb ff ff       	call   80485d0 <gcry_check_version at plt>
 8048a45:	85 c0                	test   %eax,%eax
 8048a47:	0f 84 55 02 00 00    	je     8048ca2 <main+0x2b2>
 8048a4d:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
 8048a54:	00 
 8048a55:	c7 04 24 25 00 00 00 	movl   $0x25,(%esp)
 8048a5c:	e8 af fb ff ff       	call   8048610 <gcry_control at plt>
 8048a61:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
 8048a68:	00 
 8048a69:	c7 04 24 26 00 00 00 	movl   $0x26,(%esp)
 8048a70:	e8 9b fb ff ff       	call   8048610 <gcry_control at plt>
 8048a75:	85 ff                	test   %edi,%edi
 8048a77:	74 1c                	je     8048a95 <main+0xa5>
 8048a79:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
 8048a80:	00 
 8048a81:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
 8048a88:	00 
 8048a89:	c7 04 24 14 00 00 00 	movl   $0x14,(%esp)
 8048a90:	e8 7b fb ff ff       	call   8048610 <gcry_control at plt>
 8048a95:	8b 35 50 a0 04 08    	mov    0x804a050,%esi
 8048a9b:	85 f6                	test   %esi,%esi
 8048a9d:	0f 85 c1 01 00 00    	jne    8048c64 <main+0x274>
 8048aa3:	31 c0                	xor    %eax,%eax
 8048aa5:	8d 7c 24 1c          	lea    0x1c(%esp),%edi
 8048aa9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
 8048ab0:	88 04 07             	mov    %al,(%edi,%eax,1)
 8048ab3:	83 c0 01             	add    $0x1,%eax
 8048ab6:	83 f8 40             	cmp    $0x40,%eax
 8048ab9:	75 f5                	jne    8048ab0 <main+0xc0>
 8048abb:	c7 44 24 08 85 8e 04 	movl   $0x8048e85,0x8(%esp)
 8048ac2:	08 
 8048ac3:	b9 40 00 00 00       	mov    $0x40,%ecx
 8048ac8:	89 fa                	mov    %edi,%edx
 8048aca:	c7 44 24 04 09 00 00 	movl   $0x9,0x4(%esp)
 8048ad1:	00 
 8048ad2:	b0 02                	mov    $0x2,%al
 8048ad4:	c7 04 24 9a 8e 04 08 	movl   $0x8048e9a,(%esp)
 8048adb:	e8 10 fd ff ff       	call   80487f0 <check_one_mac>
 8048ae0:	8b 1d 50 a0 04 08    	mov    0x804a050,%ebx
 8048ae6:	85 db                	test   %ebx,%ebx
 8048ae8:	0f 85 4c 01 00 00    	jne    8048c3a <main+0x24a>
 8048aee:	b8 30 00 00 00       	mov    $0x30,%eax
 8048af3:	90                   	nop    
 8048af4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
 8048af8:	88 44 07 d0          	mov    %al,-0x30(%edi,%eax,1)
 8048afc:	83 c0 01             	add    $0x1,%eax
 8048aff:	83 f8 44             	cmp    $0x44,%eax
 8048b02:	75 f4                	jne    8048af8 <main+0x108>
 8048b04:	b9 14 00 00 00       	mov    $0x14,%ecx
 8048b09:	89 fa                	mov    %edi,%edx
 8048b0b:	c7 44 24 08 bd 8e 04 	movl   $0x8048ebd,0x8(%esp)
 8048b12:	08 
 8048b13:	b0 02                	mov    $0x2,%al
 8048b15:	c7 44 24 04 09 00 00 	movl   $0x9,0x4(%esp)
 8048b1c:	00 
 8048b1d:	c7 04 24 d2 8e 04 08 	movl   $0x8048ed2,(%esp)
 8048b24:	e8 c7 fc ff ff       	call   80487f0 <check_one_mac>
 8048b29:	8b 0d 50 a0 04 08    	mov    0x804a050,%ecx
 8048b2f:	85 c9                	test   %ecx,%ecx
 8048b31:	0f 85 d9 00 00 00    	jne    8048c10 <main+0x220>
 8048b37:	b8 50 00 00 00       	mov    $0x50,%eax
 8048b3c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
 8048b40:	88 44 07 b0          	mov    %al,-0x50(%edi,%eax,1)
 8048b44:	83 c0 01             	add    $0x1,%eax
 8048b47:	3d b4 00 00 00       	cmp    $0xb4,%eax
 8048b4c:	75 f2                	jne    8048b40 <main+0x150>
 8048b4e:	89 fa                	mov    %edi,%edx
 8048b50:	b9 64 00 00 00       	mov    $0x64,%ecx
 8048b55:	c7 44 24 08 f5 8e 04 	movl   $0x8048ef5,0x8(%esp)
 8048b5c:	08 
 8048b5d:	b0 02                	mov    $0x2,%al
 8048b5f:	c7 44 24 04 09 00 00 	movl   $0x9,0x4(%esp)
 8048b66:	00 
 8048b67:	c7 04 24 0a 8f 04 08 	movl   $0x8048f0a,(%esp)
 8048b6e:	e8 7d fc ff ff       	call   80487f0 <check_one_mac>
 8048b73:	8b 15 50 a0 04 08    	mov    0x804a050,%edx
 8048b79:	85 d2                	test   %edx,%edx
 8048b7b:	75 69                	jne    8048be6 <main+0x1f6>
 8048b7d:	b8 70 00 00 00       	mov    $0x70,%eax
 8048b82:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
 8048b88:	88 44 07 90          	mov    %al,-0x70(%edi,%eax,1)
 8048b8c:	83 c0 01             	add    $0x1,%eax
 8048b8f:	3d a1 00 00 00       	cmp    $0xa1,%eax
 8048b94:	75 f2                	jne    8048b88 <main+0x198>
 8048b96:	c7 44 24 08 2d 8f 04 	movl   $0x8048f2d,0x8(%esp)
 8048b9d:	08 
 8048b9e:	b9 31 00 00 00       	mov    $0x31,%ecx
 8048ba3:	89 fa                	mov    %edi,%edx
 8048ba5:	c7 44 24 04 09 00 00 	movl   $0x9,0x4(%esp)
 8048bac:	00 
 8048bad:	b0 02                	mov    $0x2,%al
 8048baf:	c7 04 24 42 8f 04 08 	movl   $0x8048f42,(%esp)
 8048bb6:	e8 35 fc ff ff       	call   80487f0 <check_one_mac>
 8048bbb:	31 c0                	xor    %eax,%eax
 8048bbd:	83 3d 54 a0 04 08 00 	cmpl   $0x0,0x804a054
 8048bc4:	0f 95 c0             	setne  %al
 8048bc7:	81 c4 9c 00 00 00    	add    $0x9c,%esp
 8048bcd:	59                   	pop    %ecx
 8048bce:	5b                   	pop    %ebx
 8048bcf:	5e                   	pop    %esi
 8048bd0:	5f                   	pop    %edi
 8048bd1:	8d 61 fc             	lea    -0x4(%ecx),%esp
 8048bd4:	c3                   	ret    
 8048bd5:	c7 05 50 a0 04 08 01 	movl   $0x1,0x804a050
 8048bdc:	00 00 00 
 8048bdf:	31 ff                	xor    %edi,%edi
 8048be1:	e9 53 fe ff ff       	jmp    8048a39 <main+0x49>
 8048be6:	a1 44 a0 04 08       	mov    0x804a044,%eax
 8048beb:	c7 44 24 08 18 00 00 	movl   $0x18,0x8(%esp)
 8048bf2:	00 
 8048bf3:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
 8048bfa:	00 
 8048bfb:	c7 04 24 14 8f 04 08 	movl   $0x8048f14,(%esp)
 8048c02:	89 44 24 0c          	mov    %eax,0xc(%esp)
 8048c06:	e8 45 fa ff ff       	call   8048650 <fwrite at plt>
 8048c0b:	e9 6d ff ff ff       	jmp    8048b7d <main+0x18d>
 8048c10:	a1 44 a0 04 08       	mov    0x804a044,%eax
 8048c15:	c7 44 24 08 18 00 00 	movl   $0x18,0x8(%esp)
 8048c1c:	00 
 8048c1d:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
 8048c24:	00 
 8048c25:	c7 04 24 dc 8e 04 08 	movl   $0x8048edc,(%esp)
 8048c2c:	89 44 24 0c          	mov    %eax,0xc(%esp)
 8048c30:	e8 1b fa ff ff       	call   8048650 <fwrite at plt>
 8048c35:	e9 fd fe ff ff       	jmp    8048b37 <main+0x147>
 8048c3a:	a1 44 a0 04 08       	mov    0x804a044,%eax
 8048c3f:	c7 44 24 08 18 00 00 	movl   $0x18,0x8(%esp)
 8048c46:	00 
 8048c47:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
 8048c4e:	00 
 8048c4f:	c7 04 24 a4 8e 04 08 	movl   $0x8048ea4,(%esp)
 8048c56:	89 44 24 0c          	mov    %eax,0xc(%esp)
 8048c5a:	e8 f1 f9 ff ff       	call   8048650 <fwrite at plt>
 8048c5f:	e9 8a fe ff ff       	jmp    8048aee <main+0xfe>
 8048c64:	a1 44 a0 04 08       	mov    0x804a044,%eax
 8048c69:	c7 44 24 08 18 00 00 	movl   $0x18,0x8(%esp)
 8048c70:	00 
 8048c71:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
 8048c78:	00 
 8048c79:	c7 04 24 6c 8e 04 08 	movl   $0x8048e6c,(%esp)
 8048c80:	89 44 24 0c          	mov    %eax,0xc(%esp)
 8048c84:	e8 c7 f9 ff ff       	call   8048650 <fwrite at plt>
 8048c89:	e9 15 fe ff ff       	jmp    8048aa3 <main+0xb3>
 8048c8e:	c7 05 50 a0 04 08 01 	movl   $0x1,0x804a050
 8048c95:	00 00 00 
 8048c98:	bf 01 00 00 00       	mov    $0x1,%edi
 8048c9d:	e9 97 fd ff ff       	jmp    8048a39 <main+0x49>
 8048ca2:	c7 04 24 5a 8e 04 08 	movl   $0x8048e5a,(%esp)
 8048ca9:	e8 12 fb ff ff       	call   80487c0 <die>
 8048cae:	e9 9a fd ff ff       	jmp    8048a4d <main+0x5d>
 8048cb3:	90                   	nop    
 8048cb4:	90                   	nop    
 8048cb5:	90                   	nop    
 8048cb6:	90                   	nop    
 8048cb7:	90                   	nop    
 8048cb8:	90                   	nop    
 8048cb9:	90                   	nop    
 8048cba:	90                   	nop    
 8048cbb:	90                   	nop    
 8048cbc:	90                   	nop    
 8048cbd:	90                   	nop    
 8048cbe:	90                   	nop    
 8048cbf:	90                   	nop    

08048cc0 <__libc_csu_fini>:
 8048cc0:	f3 c3                	repz ret 
 8048cc2:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
 8048cc9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi

08048cd0 <__libc_csu_init>:
 8048cd0:	55                   	push   %ebp
 8048cd1:	57                   	push   %edi
 8048cd2:	56                   	push   %esi
 8048cd3:	53                   	push   %ebx
 8048cd4:	e8 58 00 00 00       	call   8048d31 <__i686.get_pc_thunk.bx>
 8048cd9:	81 c3 1b 13 00 00    	add    $0x131b,%ebx
 8048cdf:	83 ec 0c             	sub    $0xc,%esp
 8048ce2:	8b 6c 24 28          	mov    0x28(%esp),%ebp
 8048ce6:	8d bb 10 ff ff ff    	lea    -0xf0(%ebx),%edi
 8048cec:	e8 9f f8 ff ff       	call   8048590 <_init>
 8048cf1:	8d 83 10 ff ff ff    	lea    -0xf0(%ebx),%eax
 8048cf7:	29 c7                	sub    %eax,%edi
 8048cf9:	c1 ff 02             	sar    $0x2,%edi
 8048cfc:	85 ff                	test   %edi,%edi
 8048cfe:	74 29                	je     8048d29 <__libc_csu_init+0x59>
 8048d00:	31 f6                	xor    %esi,%esi
 8048d02:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
 8048d08:	8b 44 24 24          	mov    0x24(%esp),%eax
 8048d0c:	89 6c 24 08          	mov    %ebp,0x8(%esp)
 8048d10:	89 44 24 04          	mov    %eax,0x4(%esp)
 8048d14:	8b 44 24 20          	mov    0x20(%esp),%eax
 8048d18:	89 04 24             	mov    %eax,(%esp)
 8048d1b:	ff 94 b3 10 ff ff ff 	call   *-0xf0(%ebx,%esi,4)
 8048d22:	83 c6 01             	add    $0x1,%esi
 8048d25:	39 fe                	cmp    %edi,%esi
 8048d27:	72 df                	jb     8048d08 <__libc_csu_init+0x38>
 8048d29:	83 c4 0c             	add    $0xc,%esp
 8048d2c:	5b                   	pop    %ebx
 8048d2d:	5e                   	pop    %esi
 8048d2e:	5f                   	pop    %edi
 8048d2f:	5d                   	pop    %ebp
 8048d30:	c3                   	ret    

08048d31 <__i686.get_pc_thunk.bx>:
 8048d31:	8b 1c 24             	mov    (%esp),%ebx
 8048d34:	c3                   	ret    
 8048d35:	90                   	nop    
 8048d36:	90                   	nop    
 8048d37:	90                   	nop    
 8048d38:	90                   	nop    
 8048d39:	90                   	nop    
 8048d3a:	90                   	nop    
 8048d3b:	90                   	nop    
 8048d3c:	90                   	nop    
 8048d3d:	90                   	nop    
 8048d3e:	90                   	nop    
 8048d3f:	90                   	nop    

08048d40 <__do_global_ctors_aux>:
 8048d40:	55                   	push   %ebp
 8048d41:	89 e5                	mov    %esp,%ebp
 8048d43:	53                   	push   %ebx
 8048d44:	83 ec 04             	sub    $0x4,%esp
 8048d47:	a1 04 9f 04 08       	mov    0x8049f04,%eax
 8048d4c:	83 f8 ff             	cmp    $0xffffffff,%eax
 8048d4f:	74 13                	je     8048d64 <__do_global_ctors_aux+0x24>
 8048d51:	bb 04 9f 04 08       	mov    $0x8049f04,%ebx
 8048d56:	66 90                	xchg   %ax,%ax
 8048d58:	83 eb 04             	sub    $0x4,%ebx
 8048d5b:	ff d0                	call   *%eax
 8048d5d:	8b 03                	mov    (%ebx),%eax
 8048d5f:	83 f8 ff             	cmp    $0xffffffff,%eax
 8048d62:	75 f4                	jne    8048d58 <__do_global_ctors_aux+0x18>
 8048d64:	83 c4 04             	add    $0x4,%esp
 8048d67:	5b                   	pop    %ebx
 8048d68:	5d                   	pop    %ebp
 8048d69:	c3                   	ret    
 8048d6a:	90                   	nop    
 8048d6b:	90                   	nop    
Disassembly of section .fini:

08048d6c <_fini>:
 8048d6c:	55                   	push   %ebp
 8048d6d:	89 e5                	mov    %esp,%ebp
 8048d6f:	53                   	push   %ebx
 8048d70:	83 ec 04             	sub    $0x4,%esp
 8048d73:	e8 00 00 00 00       	call   8048d78 <_fini+0xc>
 8048d78:	5b                   	pop    %ebx
 8048d79:	81 c3 7c 12 00 00    	add    $0x127c,%ebx
 8048d7f:	e8 7c f9 ff ff       	call   8048700 <__do_global_dtors_aux>
 8048d84:	59                   	pop    %ecx
 8048d85:	5b                   	pop    %ebx
 8048d86:	c9                   	leave  
 8048d87:	c3                   	ret    


More information about the Gcrypt-devel mailing list