[Parted-maintainers] Bug#611011: gnu-fdisk: infinite loop while reading commands from pipe

Timo Juhani Lindfors timo.lindfors at iki.fi
Mon Jan 24 20:00:12 UTC 2011


Package: gnu-fdisk
Version: 1.2.4-3+b1
Severity: normal

Steps to reproduce:
1) dd if=/dev/zero of=img bs=1M count=0 seek=480
2) printf "n\np\n1\n61\na\n1\nw\nq\n" | /sbin/gfdisk -C 61 -H 255 -S 63 img

Expected results:
2) img has a partition table with one partition

Actual results:
2) fdisk does not exit but uses all available cpu time.

More info:
1) the infinite loop seems to contain instructions from the following functions:

_IO_feof
fdisk_interactive_mode
fdisk_command_line_prompt_words
str_list_length
fdisk_command_line_prompt_words
fdisk_interactive_mode
fdisk_command_line_get_word_count
str_list_length
fdisk_command_line_get_word_count
fdisk_interactive_mode
feof at plt

2) gdb shows this as

(gdb) define xsi
Type commands for definition of "xsi".
End with a line saying just "end".
>si
>x/2i $rip
>end
(gdb) xsi
34	in feof.c
0x7f52c30741c2 <_IO_feof+2>:	mov    %rdi,%r8
0x7f52c30741c5 <_IO_feof+5>:	test   %si,%si
(gdb) 
37	in feof.c
0x7f52c30741c5 <_IO_feof+5>:	test   %si,%si
0x7f52c30741c8 <_IO_feof+8>:	js     0x7f52c3074250 <_IO_feof+144>
(gdb) 
0x00007f52c30741c8	37	in feof.c
0x7f52c30741c8 <_IO_feof+8>:	js     0x7f52c3074250 <_IO_feof+144>
0x7f52c30741ce <_IO_feof+14>:	mov    0x88(%rdi),%rdx
(gdb) 
0x00007f52c30741ce	37	in feof.c
0x7f52c30741ce <_IO_feof+14>:	mov    0x88(%rdi),%rdx
0x7f52c30741d5 <_IO_feof+21>:	mov    %fs:0x10,%r9
(gdb) 
0x00007f52c30741d5	37	in feof.c
0x7f52c30741d5 <_IO_feof+21>:	mov    %fs:0x10,%r9
0x7f52c30741de <_IO_feof+30>:	cmp    %r9,0x8(%rdx)
(gdb) 
0x00007f52c30741de	37	in feof.c
0x7f52c30741de <_IO_feof+30>:	cmp    %r9,0x8(%rdx)
0x7f52c30741e2 <_IO_feof+34>:	je     0x7f52c307420c <_IO_feof+76>
(gdb) 
0x00007f52c30741e2	37	in feof.c
0x7f52c30741e2 <_IO_feof+34>:	je     0x7f52c307420c <_IO_feof+76>
0x7f52c30741e4 <_IO_feof+36>:	mov    $0x1,%esi
(gdb) 
0x00007f52c30741e4	37	in feof.c
0x7f52c30741e4 <_IO_feof+36>:	mov    $0x1,%esi
0x7f52c30741e9 <_IO_feof+41>:	xor    %eax,%eax
(gdb) 
0x00007f52c30741e9	37	in feof.c
0x7f52c30741e9 <_IO_feof+41>:	xor    %eax,%eax
0x7f52c30741eb <_IO_feof+43>:	cmpl   $0x0,0x2fa3f6(%rip)        # 0x7f52c336e5e8 <__libc_multiple_threads>
(gdb) 
0x00007f52c30741eb	37	in feof.c
0x7f52c30741eb <_IO_feof+43>:	cmpl   $0x0,0x2fa3f6(%rip)        # 0x7f52c336e5e8 <__libc_multiple_threads>
0x7f52c30741f2 <_IO_feof+50>:	je     0x7f52c30741fc <_IO_feof+60>
(gdb) 
0x00007f52c30741f2	37	in feof.c
0x7f52c30741f2 <_IO_feof+50>:	je     0x7f52c30741fc <_IO_feof+60>
0x7f52c30741f4 <_IO_feof+52>:	lock cmpxchg %esi,(%rdx)
(gdb) 
0x00007f52c30741fc	37	in feof.c
0x7f52c30741fc <_IO_feof+60>:	cmpxchg %esi,(%rdx)
0x7f52c30741ff <_IO_feof+63>:	jne    0x7f52c3074259 <_L_lock_28>
(gdb) 
0x00007f52c30741ff	37	in feof.c
0x7f52c30741ff <_IO_feof+63>:	jne    0x7f52c3074259 <_L_lock_28>
0x7f52c3074201 <_IO_feof+65>:	mov    0x88(%r8),%rdx
(gdb) 
0x00007f52c3074201	37	in feof.c
0x7f52c3074201 <_IO_feof+65>:	mov    0x88(%r8),%rdx
0x7f52c3074208 <_IO_feof+72>:	mov    %r9,0x8(%rdx)
(gdb) 
0x00007f52c3074208	37	in feof.c
0x7f52c3074208 <_IO_feof+72>:	mov    %r9,0x8(%rdx)
0x7f52c307420c <_IO_feof+76>:	addl   $0x1,0x4(%rdx)
(gdb) 
0x00007f52c307420c	37	in feof.c
0x7f52c307420c <_IO_feof+76>:	addl   $0x1,0x4(%rdx)
0x7f52c3074210 <_IO_feof+80>:	mov    (%r8),%eax
(gdb) 
38	in feof.c
0x7f52c3074210 <_IO_feof+80>:	mov    (%r8),%eax
0x7f52c3074213 <_IO_feof+83>:	mov    %eax,%esi
(gdb) 
0x00007f52c3074213	38	in feof.c
0x7f52c3074213 <_IO_feof+83>:	mov    %eax,%esi
0x7f52c3074215 <_IO_feof+85>:	shr    $0x4,%esi
(gdb) 
0x00007f52c3074215	38	in feof.c
0x7f52c3074215 <_IO_feof+85>:	shr    $0x4,%esi
0x7f52c3074218 <_IO_feof+88>:	and    $0x1,%esi
(gdb) 
0x00007f52c3074218	38	in feof.c
0x7f52c3074218 <_IO_feof+88>:	and    $0x1,%esi
0x7f52c307421b <_IO_feof+91>:	test   %ax,%ax
(gdb) 
39	in feof.c
0x7f52c307421b <_IO_feof+91>:	test   %ax,%ax
0x7f52c307421e <_IO_feof+94>:	js     0x7f52c3074249 <_IO_feof+137>
(gdb) 
0x00007f52c307421e	39	in feof.c
0x7f52c307421e <_IO_feof+94>:	js     0x7f52c3074249 <_IO_feof+137>
0x7f52c3074220 <_IO_feof+96>:	mov    0x4(%rdx),%eax
(gdb) 
0x00007f52c3074220	39	in feof.c
0x7f52c3074220 <_IO_feof+96>:	mov    0x4(%rdx),%eax
0x7f52c3074223 <_IO_feof+99>:	sub    $0x1,%eax
(gdb) 
0x00007f52c3074223	39	in feof.c
0x7f52c3074223 <_IO_feof+99>:	sub    $0x1,%eax
0x7f52c3074226 <_IO_feof+102>:	test   %eax,%eax
(gdb) 
0x00007f52c3074226	39	in feof.c
0x7f52c3074226 <_IO_feof+102>:	test   %eax,%eax
0x7f52c3074228 <_IO_feof+104>:	mov    %eax,0x4(%rdx)
(gdb) 
0x00007f52c3074228	39	in feof.c
0x7f52c3074228 <_IO_feof+104>:	mov    %eax,0x4(%rdx)
0x7f52c307422b <_IO_feof+107>:	jne    0x7f52c3074249 <_IO_feof+137>
(gdb) 
0x00007f52c307422b	39	in feof.c
0x7f52c307422b <_IO_feof+107>:	jne    0x7f52c3074249 <_IO_feof+137>
0x7f52c307422d <_IO_feof+109>:	movq   $0x0,0x8(%rdx)
(gdb) 
0x00007f52c307422d	39	in feof.c
0x7f52c307422d <_IO_feof+109>:	movq   $0x0,0x8(%rdx)
0x7f52c3074235 <_IO_feof+117>:	cmpl   $0x0,0x2fa3ac(%rip)        # 0x7f52c336e5e8 <__libc_multiple_threads>
(gdb) 
0x00007f52c3074235	39	in feof.c
0x7f52c3074235 <_IO_feof+117>:	cmpl   $0x0,0x2fa3ac(%rip)        # 0x7f52c336e5e8 <__libc_multiple_threads>
0x7f52c307423c <_IO_feof+124>:	je     0x7f52c3074245 <_IO_feof+133>
(gdb) 
0x00007f52c307423c	39	in feof.c
0x7f52c307423c <_IO_feof+124>:	je     0x7f52c3074245 <_IO_feof+133>
0x7f52c307423e <_IO_feof+126>:	lock decl (%rdx)
(gdb) 
0x00007f52c3074245	39	in feof.c
0x7f52c3074245 <_IO_feof+133>:	decl   (%rdx)
0x7f52c3074247 <_IO_feof+135>:	jne    0x7f52c3074271 <_L_unlock_59>
(gdb) 
0x00007f52c3074247	39	in feof.c
0x7f52c3074247 <_IO_feof+135>:	jne    0x7f52c3074271 <_L_unlock_59>
0x7f52c3074249 <_IO_feof+137>:	mov    %esi,%eax
(gdb) 
41	in feof.c
0x7f52c3074249 <_IO_feof+137>:	mov    %esi,%eax
0x7f52c307424b <_IO_feof+139>:	retq   
(gdb) 
0x00007f52c307424b in _IO_feof (fp=0x7f52c33696a0) at feof.c:41
41	in feof.c
0x7f52c307424b <_IO_feof+139>:	retq   
0x7f52c307424c <_IO_feof+140>:	nopl   0x0(%rax)
(gdb) 
0x000000000041195f in fdisk_interactive_mode (dev=0x7fffcb41c9d8, cmd_list=0x6193a0) at ui.c:747
747		  if (feof (stdin))
0x41195f <fdisk_interactive_mode+720>:	test   %eax,%eax
0x411961 <fdisk_interactive_mode+722>:	je     0x411977 <fdisk_interactive_mode+744>
(gdb) 
0x0000000000411961	747		  if (feof (stdin))
0x411961 <fdisk_interactive_mode+722>:	je     0x411977 <fdisk_interactive_mode+744>
0x411963 <fdisk_interactive_mode+724>:	mov    $0xa,%edi
(gdb) 
752		  prompt_possibilities = 0;
0x411977 <fdisk_interactive_mode+744>:	movl   $0x0,0x207927(%rip)        # 0x6192a8 <prompt_possibilities>
0x411981 <fdisk_interactive_mode+754>:	mov    -0x48(%rbp),%rax
(gdb) 
753		  fdisk_command_line_prompt_words ("Command (m for help):", 
0x411981 <fdisk_interactive_mode+754>:	mov    -0x48(%rbp),%rax
0x411985 <fdisk_interactive_mode+758>:	mov    $0x1,%ecx
(gdb) 
0x0000000000411985	753		  fdisk_command_line_prompt_words ("Command (m for help):", 
0x411985 <fdisk_interactive_mode+758>:	mov    $0x1,%ecx
0x41198a <fdisk_interactive_mode+763>:	mov    %rax,%rdx
(gdb) 
0x000000000041198a	753		  fdisk_command_line_prompt_words ("Command (m for help):", 
0x41198a <fdisk_interactive_mode+763>:	mov    %rax,%rdx
0x41198d <fdisk_interactive_mode+766>:	mov    $0x0,%esi
(gdb) 
0x000000000041198d	753		  fdisk_command_line_prompt_words ("Command (m for help):", 
0x41198d <fdisk_interactive_mode+766>:	mov    $0x0,%esi
0x411992 <fdisk_interactive_mode+771>:	mov    $0x4159be,%edi
(gdb) 
0x0000000000411992	753		  fdisk_command_line_prompt_words ("Command (m for help):", 
0x411992 <fdisk_interactive_mode+771>:	mov    $0x4159be,%edi
0x411997 <fdisk_interactive_mode+776>:	callq  0x411ede <fdisk_command_line_prompt_words>
(gdb) 
0x0000000000411997	753		  fdisk_command_line_prompt_words ("Command (m for help):", 
0x411997 <fdisk_interactive_mode+776>:	callq  0x411ede <fdisk_command_line_prompt_words>
0x41199c <fdisk_interactive_mode+781>:	movl   $0x1,0x207902(%rip)        # 0x6192a8 <prompt_possibilities>
(gdb) 
fdisk_command_line_prompt_words (prompt=0x0, def=0x0, possibilities=0x1bcbb10, multi_word=1) at ui.c:926
926	{
0x411ede <fdisk_command_line_prompt_words>:	push   %rbp
0x411edf <fdisk_command_line_prompt_words+1>:	mov    %rsp,%rbp
(gdb) 
0x0000000000411edf	926	{
0x411edf <fdisk_command_line_prompt_words+1>:	mov    %rsp,%rbp
0x411ee2 <fdisk_command_line_prompt_words+4>:	sub    $0x40,%rsp
(gdb) 
0x0000000000411ee2	926	{
0x411ee2 <fdisk_command_line_prompt_words+4>:	sub    $0x40,%rsp
0x411ee6 <fdisk_command_line_prompt_words+8>:	mov    %rdi,-0x28(%rbp)
(gdb) 
0x0000000000411ee6	926	{
0x411ee6 <fdisk_command_line_prompt_words+8>:	mov    %rdi,-0x28(%rbp)
0x411eea <fdisk_command_line_prompt_words+12>:	mov    %rsi,-0x30(%rbp)
(gdb) 
0x0000000000411eea	926	{
0x411eea <fdisk_command_line_prompt_words+12>:	mov    %rsi,-0x30(%rbp)
0x411eee <fdisk_command_line_prompt_words+16>:	mov    %rdx,-0x38(%rbp)
(gdb) 
0x0000000000411eee	926	{
0x411eee <fdisk_command_line_prompt_words+16>:	mov    %rdx,-0x38(%rbp)
0x411ef2 <fdisk_command_line_prompt_words+20>:	mov    %ecx,-0x3c(%rbp)
(gdb) 
0x0000000000411ef2	926	{
0x411ef2 <fdisk_command_line_prompt_words+20>:	mov    %ecx,-0x3c(%rbp)
0x411ef5 <fdisk_command_line_prompt_words+23>:	mov    -0x30(%rbp),%rax
(gdb) 
929		char*	_def = (char*) def;
0x411ef5 <fdisk_command_line_prompt_words+23>:	mov    -0x30(%rbp),%rax
0x411ef9 <fdisk_command_line_prompt_words+27>:	mov    %rax,-0x10(%rbp)
(gdb) 
0x0000000000411ef9	929		char*	_def = (char*) def;
0x411ef9 <fdisk_command_line_prompt_words+27>:	mov    %rax,-0x10(%rbp)
0x411efd <fdisk_command_line_prompt_words+31>:	movl   $0x0,-0x4(%rbp)
(gdb) 
930		int	_def_needs_free = 0;
0x411efd <fdisk_command_line_prompt_words+31>:	movl   $0x0,-0x4(%rbp)
0x411f04 <fdisk_command_line_prompt_words+38>:	cmpq   $0x0,-0x30(%rbp)
(gdb) 
932		if (!def && str_list_length (possibilities) == 1) {
0x411f04 <fdisk_command_line_prompt_words+38>:	cmpq   $0x0,-0x30(%rbp)
0x411f09 <fdisk_command_line_prompt_words+43>:	jne    0x411f33 <fdisk_command_line_prompt_words+85>
(gdb) 
0x0000000000411f09	932		if (!def && str_list_length (possibilities) == 1) {
0x411f09 <fdisk_command_line_prompt_words+43>:	jne    0x411f33 <fdisk_command_line_prompt_words+85>
0x411f0b <fdisk_command_line_prompt_words+45>:	mov    -0x38(%rbp),%rax
(gdb) 
0x0000000000411f0b	932		if (!def && str_list_length (possibilities) == 1) {
0x411f0b <fdisk_command_line_prompt_words+45>:	mov    -0x38(%rbp),%rax
0x411f0f <fdisk_command_line_prompt_words+49>:	mov    %rax,%rdi
(gdb) 
0x0000000000411f0f	932		if (!def && str_list_length (possibilities) == 1) {
0x411f0f <fdisk_command_line_prompt_words+49>:	mov    %rax,%rdi
0x411f12 <fdisk_command_line_prompt_words+52>:	callq  0x4108ec <str_list_length>
(gdb) 
0x0000000000411f12	932		if (!def && str_list_length (possibilities) == 1) {
0x411f12 <fdisk_command_line_prompt_words+52>:	callq  0x4108ec <str_list_length>
0x411f17 <fdisk_command_line_prompt_words+57>:	cmp    $0x1,%eax
(gdb) 
str_list_length (list=0x1bcbb10) at strlist.c:604
604	{
0x4108ec <str_list_length>:	push   %rbp
0x4108ed <str_list_length+1>:	mov    %rsp,%rbp
(gdb) 
0x00000000004108ed	604	{
0x4108ed <str_list_length+1>:	mov    %rsp,%rbp
0x4108f0 <str_list_length+4>:	mov    %rdi,-0x18(%rbp)
(gdb) 
0x00000000004108f0	604	{
0x4108f0 <str_list_length+4>:	mov    %rdi,-0x18(%rbp)
0x4108f4 <str_list_length+8>:	movl   $0x0,-0xc(%rbp)
(gdb) 
605		int		length = 0;
0x4108f4 <str_list_length+8>:	movl   $0x0,-0xc(%rbp)
0x4108fb <str_list_length+15>:	mov    -0x18(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x4108fb <str_list_length+15>:	mov    -0x18(%rbp),%rax
0x4108ff <str_list_length+19>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x00000000004108ff	608		for (walk = list; walk; walk = walk->next)
0x4108ff <str_list_length+19>:	mov    %rax,-0x8(%rbp)
0x410903 <str_list_length+23>:	jmp    0x410914 <str_list_length+40>
(gdb) 
0x0000000000410903	608		for (walk = list; walk; walk = walk->next)
0x410903 <str_list_length+23>:	jmp    0x410914 <str_list_length+40>
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
609			length++;
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x410909 <str_list_length+29>:	mov    -0x8(%rbp),%rax
0x41090d <str_list_length+33>:	mov    (%rax),%rax
(gdb) 
0x000000000041090d	608		for (walk = list; walk; walk = walk->next)
0x41090d <str_list_length+33>:	mov    (%rax),%rax
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x0000000000410910	608		for (walk = list; walk; walk = walk->next)
0x410910 <str_list_length+36>:	mov    %rax,-0x8(%rbp)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
611		return length;
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
0x41091e <str_list_length+50>:	leaveq 
(gdb) 
612	}
0x41091e <str_list_length+50>:	leaveq 
0x41091f <str_list_length+51>:	retq   
(gdb) 
0x000000000041091f in str_list_length (list=0x0) at strlist.c:612
612	}
0x41091f <str_list_length+51>:	retq   
0x410920 <init_termcap_library>:	push   %rbp
(gdb) 
0x0000000000411f17 in fdisk_command_line_prompt_words (prompt=0x4159be "Command (m for help):", def=0x0, possibilities=0x1bcbb10, multi_word=1) at ui.c:932
932		if (!def && str_list_length (possibilities) == 1) {
0x411f17 <fdisk_command_line_prompt_words+57>:	cmp    $0x1,%eax
0x411f1a <fdisk_command_line_prompt_words+60>:	jne    0x411f33 <fdisk_command_line_prompt_words+85>
(gdb) 
0x0000000000411f1a	932		if (!def && str_list_length (possibilities) == 1) {
0x411f1a <fdisk_command_line_prompt_words+60>:	jne    0x411f33 <fdisk_command_line_prompt_words+85>
0x411f1c <fdisk_command_line_prompt_words+62>:	mov    -0x38(%rbp),%rax
(gdb) 
937		if (fdisk_opt_script_mode) {
0x411f33 <fdisk_command_line_prompt_words+85>:	mov    0x209a4b(%rip),%eax        # 0x61b984 <fdisk_opt_script_mode>
0x411f39 <fdisk_command_line_prompt_words+91>:	test   %eax,%eax
(gdb) 
0x0000000000411f39	937		if (fdisk_opt_script_mode) {
0x411f39 <fdisk_command_line_prompt_words+91>:	test   %eax,%eax
0x411f3b <fdisk_command_line_prompt_words+93>:	je     0x411f5e <fdisk_command_line_prompt_words+128>
(gdb) 
0x0000000000411f3b	937		if (fdisk_opt_script_mode) {
0x411f3b <fdisk_command_line_prompt_words+93>:	je     0x411f5e <fdisk_command_line_prompt_words+128>
0x411f3d <fdisk_command_line_prompt_words+95>:	cmpq   $0x0,-0x10(%rbp)
(gdb) 
938			if (_def)
0x411f3d <fdisk_command_line_prompt_words+95>:	cmpq   $0x0,-0x10(%rbp)
0x411f42 <fdisk_command_line_prompt_words+100>:	je     0x412015 <fdisk_command_line_prompt_words+311>
(gdb) 
0x0000000000411f42	938			if (_def)
0x411f42 <fdisk_command_line_prompt_words+100>:	je     0x412015 <fdisk_command_line_prompt_words+311>
0x411f48 <fdisk_command_line_prompt_words+106>:	mov    -0x10(%rbp),%rax
(gdb) 
940			return;
0x412015 <fdisk_command_line_prompt_words+311>:	nop
0x412016 <fdisk_command_line_prompt_words+312>:	leaveq 
(gdb) 
961	}
0x412016 <fdisk_command_line_prompt_words+312>:	leaveq 
0x412017 <fdisk_command_line_prompt_words+313>:	retq   
(gdb) 
0x0000000000412017 in fdisk_command_line_prompt_words (prompt=0x4097cc "H\213\005\065\024!", def=0x7fffcb41c9b0 "ðÉAËÿ\177", possibilities=0x409205, multi_word=32767) at ui.c:961
961	}
0x412017 <fdisk_command_line_prompt_words+313>:	retq   
0x412018 <fdisk_command_line_flush>:	push   %rbp
(gdb) 
fdisk_interactive_mode (dev=0x7fffcb41c9d8, cmd_list=0x6193a0) at ui.c:755
755		  prompt_possibilities = 1;
0x41199c <fdisk_interactive_mode+781>:	movl   $0x1,0x207902(%rip)        # 0x6192a8 <prompt_possibilities>
0x4119a6 <fdisk_interactive_mode+791>:	mov    $0x0,%eax
(gdb) 
745	      while (!fdisk_command_line_get_word_count ()) 
0x4119a6 <fdisk_interactive_mode+791>:	mov    $0x0,%eax
0x4119ab <fdisk_interactive_mode+796>:	callq  0x411ec9 <fdisk_command_line_get_word_count>
(gdb) 
0x00000000004119ab	745	      while (!fdisk_command_line_get_word_count ()) 
0x4119ab <fdisk_interactive_mode+796>:	callq  0x411ec9 <fdisk_command_line_get_word_count>
0x4119b0 <fdisk_interactive_mode+801>:	test   %eax,%eax
(gdb) 
fdisk_command_line_get_word_count () at ui.c:919
919	{
0x411ec9 <fdisk_command_line_get_word_count>:	push   %rbp
0x411eca <fdisk_command_line_get_word_count+1>:	mov    %rsp,%rbp
(gdb) 
0x0000000000411eca	919	{
0x411eca <fdisk_command_line_get_word_count+1>:	mov    %rsp,%rbp
0x411ecd <fdisk_command_line_get_word_count+4>:	mov    0x209774(%rip),%rax        # 0x61b648 <command_line>
(gdb) 
920		return str_list_length (command_line);
0x411ecd <fdisk_command_line_get_word_count+4>:	mov    0x209774(%rip),%rax        # 0x61b648 <command_line>
0x411ed4 <fdisk_command_line_get_word_count+11>:	mov    %rax,%rdi
(gdb) 
0x0000000000411ed4	920		return str_list_length (command_line);
0x411ed4 <fdisk_command_line_get_word_count+11>:	mov    %rax,%rdi
0x411ed7 <fdisk_command_line_get_word_count+14>:	callq  0x4108ec <str_list_length>
(gdb) 
0x0000000000411ed7	920		return str_list_length (command_line);
0x411ed7 <fdisk_command_line_get_word_count+14>:	callq  0x4108ec <str_list_length>
0x411edc <fdisk_command_line_get_word_count+19>:	leaveq 
(gdb) 
str_list_length (list=0x4159be) at strlist.c:604
604	{
0x4108ec <str_list_length>:	push   %rbp
0x4108ed <str_list_length+1>:	mov    %rsp,%rbp
(gdb) 
0x00000000004108ed	604	{
0x4108ed <str_list_length+1>:	mov    %rsp,%rbp
0x4108f0 <str_list_length+4>:	mov    %rdi,-0x18(%rbp)
(gdb) 
0x00000000004108f0	604	{
0x4108f0 <str_list_length+4>:	mov    %rdi,-0x18(%rbp)
0x4108f4 <str_list_length+8>:	movl   $0x0,-0xc(%rbp)
(gdb) 
605		int		length = 0;
0x4108f4 <str_list_length+8>:	movl   $0x0,-0xc(%rbp)
0x4108fb <str_list_length+15>:	mov    -0x18(%rbp),%rax
(gdb) 
608		for (walk = list; walk; walk = walk->next)
0x4108fb <str_list_length+15>:	mov    -0x18(%rbp),%rax
0x4108ff <str_list_length+19>:	mov    %rax,-0x8(%rbp)
(gdb) 
0x00000000004108ff	608		for (walk = list; walk; walk = walk->next)
0x4108ff <str_list_length+19>:	mov    %rax,-0x8(%rbp)
0x410903 <str_list_length+23>:	jmp    0x410914 <str_list_length+40>
(gdb) 
0x0000000000410903	608		for (walk = list; walk; walk = walk->next)
0x410903 <str_list_length+23>:	jmp    0x410914 <str_list_length+40>
0x410905 <str_list_length+25>:	addl   $0x1,-0xc(%rbp)
(gdb) 
0x0000000000410914	608		for (walk = list; walk; walk = walk->next)
0x410914 <str_list_length+40>:	cmpq   $0x0,-0x8(%rbp)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
(gdb) 
0x0000000000410919	608		for (walk = list; walk; walk = walk->next)
0x410919 <str_list_length+45>:	jne    0x410905 <str_list_length+25>
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
(gdb) 
611		return length;
0x41091b <str_list_length+47>:	mov    -0xc(%rbp),%eax
0x41091e <str_list_length+50>:	leaveq 
(gdb) 
612	}
0x41091e <str_list_length+50>:	leaveq 
0x41091f <str_list_length+51>:	retq   
(gdb) 
0x000000000041091f in str_list_length (list=0x0) at strlist.c:612
612	}
0x41091f <str_list_length+51>:	retq   
0x410920 <init_termcap_library>:	push   %rbp
(gdb) 
fdisk_command_line_get_word_count () at ui.c:921
921	}
0x411edc <fdisk_command_line_get_word_count+19>:	leaveq 
0x411edd <fdisk_command_line_get_word_count+20>:	retq   
(gdb) 
0x0000000000411edd in fdisk_command_line_get_word_count () at ui.c:921
921	}
0x411edd <fdisk_command_line_get_word_count+20>:	retq   
0x411ede <fdisk_command_line_prompt_words>:	push   %rbp
(gdb) 
0x00000000004119b0 in fdisk_interactive_mode (dev=0x7fffcb41c9d8, cmd_list=0x6193a0) at ui.c:745
745	      while (!fdisk_command_line_get_word_count ()) 
0x4119b0 <fdisk_interactive_mode+801>:	test   %eax,%eax
0x4119b2 <fdisk_interactive_mode+803>:	je     0x411950 <fdisk_interactive_mode+705>
(gdb) 
0x00000000004119b2	745	      while (!fdisk_command_line_get_word_count ()) 
0x4119b2 <fdisk_interactive_mode+803>:	je     0x411950 <fdisk_interactive_mode+705>
0x4119b4 <fdisk_interactive_mode+805>:	mov    $0x0,%eax
(gdb) 
747		  if (feof (stdin))
0x411950 <fdisk_interactive_mode+705>:	mov    0x207971(%rip),%rax        # 0x6192c8 <stdin@@GLIBC_2.2.5>
0x411957 <fdisk_interactive_mode+712>:	mov    %rax,%rdi
(gdb) 
0x0000000000411957	747		  if (feof (stdin))
0x411957 <fdisk_interactive_mode+712>:	mov    %rax,%rdi
0x41195a <fdisk_interactive_mode+715>:	callq  0x403f90 <feof at plt>
(gdb) 
0x000000000041195a	747		  if (feof (stdin))
0x41195a <fdisk_interactive_mode+715>:	callq  0x403f90 <feof at plt>
0x41195f <fdisk_interactive_mode+720>:	test   %eax,%eax
(gdb) 
0x0000000000403f90 in feof at plt ()
0x403f90 <feof at plt>:	jmpq   *0x2146d2(%rip)        # 0x618668 <_GLOBAL_OFFSET_TABLE_+1096>
0x403f96 <feof at plt+6>:	pushq  $0x86
(gdb) 
_IO_feof (fp=0x7f52c33696a0) at feof.c:37
37	feof.c: No such file or directory.
	in feof.c
0x7f52c30741c0 <_IO_feof>:	mov    (%rdi),%esi
0x7f52c30741c2 <_IO_feof+2>:	mov    %rdi,%r8
(gdb) 
34	in feof.c
0x7f52c30741c2 <_IO_feof+2>:	mov    %rdi,%r8
0x7f52c30741c5 <_IO_feof+5>:	test   %si,%si


-- System Information:
Debian Release: 6.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=fi_FI (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Versions of packages gnu-fdisk depends on:
ii  dpkg                      1.15.8.8       Debian package management system
ii  install-info              4.13a.dfsg.1-6 Manage installed documentation in 
ii  libc6                     2.11.2-7       Embedded GNU C Library: Shared lib
ii  libncurses5               5.7+20100313-5 shared libraries for terminal hand
ii  libparted0debian1         2.3-5          The GNU Parted disk partitioning s
ii  libreadline6              6.1-3          GNU readline and history libraries
ii  libuuid1                  2.17.2-5       Universally Unique ID library

gnu-fdisk recommends no packages.

gnu-fdisk suggests no packages.

-- no debconf information





More information about the Parted-maintainers mailing list