Fix for Bug 3671 - QEMU GDB stub listens on IPv6-only port on Windows 7
The connection string used by the GDB stub does not specify which
version of the Internet Protocol should be used by the port on
which it listens. On host platforms with IPv6 support, such as
Windows 7, this means that the stub listens on an IPv6-only port.
Since the GDB client uses IPv4, this means that the client cannot
connect to QEMU.
.syntax no_register_prefix
.macro start
.text
.global main
main:
.endm
.macro quit
jump pass
nop
.endm
.macro pass
jump pass
nop
.endm
.macro startnostack
start
.endm
.macro fail
.data
99:
.asciz " checkr3 failed\n"
.text
move.d 99b, $r10
jsr _fail
nop
.endm
.macro checkr3 val
cmp.d 0x\val, $r3
beq 100f
nop
.data
99:
.asciz "checkr3 failed\n"
.text
move.d 99b, $r10
jsr _fail
nop
100:
.endm
; Test the condition codes
.macro test_cc N Z V C
.if \N
bpl 9f
nop
.else
bmi 9f
nop
.endif
.if \Z
bne 9f
nop
.else
beq 9f
nop
.endif
.if \V
bvc 9f
nop
.else
bvs 9f
nop
.endif
.if \C
bcc 9f
nop
.else
bcs 9f
nop
.endif
ba 8f
nop
9:
.data
99:
.asciz "test_move_cc failed\n"
.text
move.d 99b, $r10
jsr _fail
nop
8:
.endm
.macro test_move_cc N Z V C
.if \N
bpl 9f
nop
.else
bmi 9f
nop
.endif
.if \Z
bne 9f
nop
.else
beq 9f
nop
.endif
ba 8f
nop
9:
.data
99:
.asciz "test_move_cc failed\n"
.text
move.d 99b, $r10
jsr _fail
nop
8:
.endm