* [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