Subject: bug#17817: 24.3.91; Assertion failure in bidi.c (Cygwin-w32 build)

From: Ken Brown <[email-masked]>
Date: Fri, 20 Jun 2014 15:54:16 +0100

On 6/20/2014 3:47 PM, Eli Zaretskii wrote:
>> Date: Fri, 20 Jun 2014 15:40:28 +0100
>> From: Ken Brown <[email-masked]>
>> CC: [email-masked]
>>
>> (gdb) p type + 0
>> $2 = 1
>> (gdb) p UNKNOWN_BT + 0
>> $3 = 0
>> (gdb) p NEUTRAL_ON + 0
>> $4 = 23
>>
>> So, as you said, this is nonsense.
>
> Yeah.  But still, the machine insists the value was bad.  Hmmm...
>
> Can you show the disassembly of bidi_check_type?

(gdb) disas bidi_check_type
Dump of assembler code for function bidi_check_type:
    0x004d2837 <+0>:     push   %ebp
    0x004d2838 <+1>:     mov    %esp,%ebp
    0x004d283a <+3>:     sub    $0x18,%esp
    0x004d283d <+6>:     movzbl 0x9063f8,%eax
    0x004d2844 <+13>:    xor    $0x1,%eax
    0x004d2847 <+16>:    test   %al,%al
    0x004d2849 <+18>:    je     0x4d286d <bidi_check_type+54>
    0x004d284b <+20>:    cmpl   $0x17,0x8(%ebp)
    0x004d284f <+24>:    jbe    0x4d286d <bidi_check_type+54>
    0x004d2851 <+26>:    movl   $0x149,0x8(%esp)
    0x004d2859 <+34>:    movl   $0x86cc70,0x4(%esp)
    0x004d2861 <+42>:    movl   $0x86ccbc,(%esp)
    0x004d2868 <+49>:    call   0x56e818 <die>
    0x004d286d <+54>:    leave
    0x004d286e <+55>:    ret
End of assembler dump.