]> git.proxmox.com Git - mirror_qemu.git/blobdiff - vl.c
gdbserver fix
[mirror_qemu.git] / vl.c
diff --git a/vl.c b/vl.c
index c05def228e7f1bea7340c083a09d17dcd9f38431..1757036c0529ae6b148903e10f339bbba9138b0b 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -6499,8 +6499,7 @@ static BOOL WINAPI qemu_ctrl_handler(DWORD type)
 int main(int argc, char **argv)
 {
 #ifdef CONFIG_GDBSTUB
-    int use_gdbstub;
-    char gdbstub_port_name[128];
+    int use_gdbstub, gdbstub_port;
 #endif
     int i, cdrom_index;
     int snapshot, linux_boot;
@@ -6568,7 +6567,7 @@ int main(int argc, char **argv)
     bios_size = BIOS_SIZE;
 #ifdef CONFIG_GDBSTUB
     use_gdbstub = 0;
-    sprintf(gdbstub_port_name, "%d", DEFAULT_GDBSTUB_PORT);
+    gdbstub_port = DEFAULT_GDBSTUB_PORT;
 #endif
     snapshot = 0;
     nographic = 0;
@@ -6812,7 +6811,7 @@ int main(int argc, char **argv)
                 use_gdbstub = 1;
                 break;
             case QEMU_OPTION_p:
-                pstrcpy(gdbstub_port_name, sizeof(gdbstub_port_name), optarg);
+                gdbstub_port = atoi(optarg);
                 break;
 #endif
             case QEMU_OPTION_L:
@@ -7220,19 +7219,13 @@ int main(int argc, char **argv)
 
 #ifdef CONFIG_GDBSTUB
     if (use_gdbstub) {
-        CharDriverState *chr;
-        int port;
-
-        port = atoi(gdbstub_port_name);
-        if (port != 0)
-            sprintf(gdbstub_port_name, "tcp::%d,nowait,nodelay,server", port);
-        chr = qemu_chr_open(gdbstub_port_name);
-        if (!chr) {
-            fprintf(stderr, "qemu: could not open gdbstub device '%s'\n",
-                    gdbstub_port_name);
+        /* XXX: use standard host:port notation and modify options
+           accordingly. */
+        if (gdbserver_start_port(gdbstub_port) < 0) {
+            fprintf(stderr, "qemu: could not open gdbstub device on port '%d'\n",
+                    gdbstub_port);
             exit(1);
         }
-        gdbserver_start(chr);
     } else 
 #endif
     if (loadvm)