ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] ncurses
@ 2001-04-18 10:44 Sir Raorn
  2001-04-18 10:57 ` Alexander Bokovoy
  0 siblings, 1 reply; 3+ messages in thread
From: Sir Raorn @ 2001-04-18 10:44 UTC (permalink / raw)
  To: devel

Проблема в следующем - не работает nodelay(stdscr, TRUE/1) (на самом деле
оно вообще не работает), хотя с wtimeout(stdscr, 0/-1) все OK...

Об'ясните мне пожалуйста, что это значит:

00028a30 <nodelay>:
   28a30:       55                      push   %ebp
   28a31:       89 e5                   mov    %esp,%ebp
   28a33:       8b 55 08                mov    0x8(%ebp),%edx
   28a36:       85 d2                   test   %edx,%edx
   28a38:       74 16                   je     28a50 <nodelay+0x20>
   28a3a:       31 c0                   xor    %eax,%eax
   28a3c:       83 7d 0c 01             cmpl   $0x1,0xc(%ebp)
   28a40:       0f 94 c0                sete   %al
   28a43:       48                      dec    %eax
   28a44:       89 42 3c                mov    %eax,0x3c(%edx)
>                                                   ^^^^^^^^^^
   28a47:       31 c0                   xor    %eax,%eax
   28a49:       eb 08                   jmp    28a53 <nodelay+0x23>
   28a4b:       90                      nop
   28a4c:       8d 74 26 00             lea    0x0(%esi,1),%esi
   28a50:       83 c8 ff                or     $0xffffffff,%eax
   28a53:       5d                      pop    %ebp
   28a54:       c3                      ret

и как оно соответствует следующему коду:

int
nodelay(WINDOW *win, bool flag)
{
    T((T_CALLED("nodelay(%p,%d)"), win, flag));

    if (win) {
        if (flag == TRUE)
            win->_delay = 0;
        else
            win->_delay = -1;
        returnCode(OK);
    } else
        returnCode(ERR);
}

и почему, когда я пересобирал курзи, у меня получилось:

0002877c <nodelay>:
   2877c:       55                      push   %ebp
   2877d:       89 e5                   mov    %esp,%ebp
   2877f:       8b 55 08                mov    0x8(%ebp),%edx
   28782:       8a 45 0c                mov    0xc(%ebp),%al
   28785:       85 d2                   test   %edx,%edx
   28787:       74 18                   je     287a1 <nodelay+0x25>
   28789:       3c 01                   cmp    $0x1,%al
   2878b:       75 09                   jne    28796 <nodelay+0x1a>
   2878d:       c7 42 24 00 00 00 00    movl   $0x0,0x24(%edx)
>                                                   ^^^^^^^^^^
   28794:       eb 07                   jmp    2879d <nodelay+0x21>
   28796:       c7 42 24 ff ff ff ff    movl   $0xffffffff,0x24(%edx)
>                                                          ^^^^^^^^^^
   2879d:       31 c0                   xor    %eax,%eax
   2879f:       eb 05                   jmp    287a6 <nodelay+0x2a>
   287a1:       b8 ff ff ff ff          mov    $0xffffffff,%eax
   287a6:       89 ec                   mov    %ebp,%esp
   287a8:       5d                      pop    %ebp
   287a9:       c3                      ret

Первый дамп это objdump --disassemble /lib/libncurses.so.5.2, второй
то же самое на свежесобранные курзи (rpm -bc, потом objdump)...

Все из Spring2001...

-- 
                                      Regards, Sir Raorn.
,-----------------------------------.----------------------.
|   Registered Linux user #177282   |  ICQ UIN #68527095   |
`-----------------------------------^----------------------'
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [devel] ncurses
  2001-04-18 10:44 [devel] ncurses Sir Raorn
@ 2001-04-18 10:57 ` Alexander Bokovoy
  2001-04-18 11:28   ` Sir Raorn
  0 siblings, 1 reply; 3+ messages in thread
From: Alexander Bokovoy @ 2001-04-18 10:57 UTC (permalink / raw)
  To: devel

On Wed, Apr 18, 2001 at 02:44:42PM +0400, Sir Raorn wrote:
> Проблема в следующем - не работает nodelay(stdscr, TRUE/1) (на самом деле
> оно вообще не работает), хотя с wtimeout(stdscr, 0/-1) все OK...
> 
> Об'ясните мне пожалуйста, что это значит:
> 
> 00028a30 <nodelay>:
>    28a30:       55                      push   %ebp
>    28a31:       89 e5                   mov    %esp,%ebp
>    28a33:       8b 55 08                mov    0x8(%ebp),%edx
>    28a36:       85 d2                   test   %edx,%edx
>    28a38:       74 16                   je     28a50 <nodelay+0x20>
>    28a3a:       31 c0                   xor    %eax,%eax
>    28a3c:       83 7d 0c 01             cmpl   $0x1,0xc(%ebp)
>    28a40:       0f 94 c0                sete   %al
>    28a43:       48                      dec    %eax
>    28a44:       89 42 3c                mov    %eax,0x3c(%edx)
> >                                                   ^^^^^^^^^^
>    28a47:       31 c0                   xor    %eax,%eax
>    28a49:       eb 08                   jmp    28a53 <nodelay+0x23>
>    28a4b:       90                      nop
>    28a4c:       8d 74 26 00             lea    0x0(%esi,1),%esi
>    28a50:       83 c8 ff                or     $0xffffffff,%eax
>    28a53:       5d                      pop    %ebp
>    28a54:       c3                      ret
> 
> и как оно соответствует следующему коду:
> 
> int
> nodelay(WINDOW *win, bool flag)
> {
>     T((T_CALLED("nodelay(%p,%d)"), win, flag));
> 
>     if (win) {
>         if (flag == TRUE)
>             win->_delay = 0;
>         else
>             win->_delay = -1;
>         returnCode(OK);
>     } else
>         returnCode(ERR);
> }
Нормально соответствует. Какое, по Вашему, смещение у _delay в WINDOW?

> 
> и почему, когда я пересобирал курзи, у меня получилось:
> 
> 0002877c <nodelay>:
>    2877c:       55                      push   %ebp
>    2877d:       89 e5                   mov    %esp,%ebp
>    2877f:       8b 55 08                mov    0x8(%ebp),%edx
>    28782:       8a 45 0c                mov    0xc(%ebp),%al
>    28785:       85 d2                   test   %edx,%edx
>    28787:       74 18                   je     287a1 <nodelay+0x25>
>    28789:       3c 01                   cmp    $0x1,%al
>    2878b:       75 09                   jne    28796 <nodelay+0x1a>
>    2878d:       c7 42 24 00 00 00 00    movl   $0x0,0x24(%edx)
> >                                                   ^^^^^^^^^^
>    28794:       eb 07                   jmp    2879d <nodelay+0x21>
>    28796:       c7 42 24 ff ff ff ff    movl   $0xffffffff,0x24(%edx)
> >                                                          ^^^^^^^^^^
>    2879d:       31 c0                   xor    %eax,%eax
>    2879f:       eb 05                   jmp    287a6 <nodelay+0x2a>
>    287a1:       b8 ff ff ff ff          mov    $0xffffffff,%eax
>    287a6:       89 ec                   mov    %ebp,%esp
>    287a8:       5d                      pop    %ebp
>    287a9:       c3                      ret
> 
> Первый дамп это objdump --disassemble /lib/libncurses.so.5.2, второй
> то же самое на свежесобранные курзи (rpm -bc, потом objdump)...
Не вижу проблемы. Вы на какой архитектуре собирали?


-- 
Sincerely yours, Alexander Bokovoy 
  The Midgard Project    | ALT  Linux  Team | Minsk Linux Users Group
 www.midgard-project.org | www.altlinux.ru  |    www.minsk-lug.net 
-- You won't skid if you stay in a rut.
		-- Frank Hubbard
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [devel] ncurses
  2001-04-18 10:57 ` Alexander Bokovoy
@ 2001-04-18 11:28   ` Sir Raorn
  0 siblings, 0 replies; 3+ messages in thread
From: Sir Raorn @ 2001-04-18 11:28 UTC (permalink / raw)
  To: devel

On Wed, Apr 18, 2001 at 01:57:26PM +0300, Alexander Bokovoy wrote:
[/dev/null]
> Нормально соответствует. Какое, по Вашему, смещение у _delay в WINDOW?
Хм... Теперь я уже даже не знаю... Почему у меня при пересборке 0x24?


> > Первый дамп это objdump --disassemble /lib/libncurses.so.5.2, второй
> > то же самое на свежесобранные курзи (rpm -bc, потом objdump)...
> Не вижу проблемы. Вы на какой архитектуре собирали?
i586-mandrake-linux, все по дефолту...


-- 
                                      Regards, Sir Raorn.
,-----------------------------------.----------------------.
|   Registered Linux user #177282   |  ICQ UIN #68527095   |
`-----------------------------------^----------------------'
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-04-18 11:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-04-18 10:44 [devel] ncurses Sir Raorn
2001-04-18 10:57 ` Alexander Bokovoy
2001-04-18 11:28   ` Sir Raorn

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git