From f06bded8ddf0b4adef7748b6b23624bcce5c28c1 Mon Sep 17 00:00:00 2001 From: Gareth McMullin Date: Fri, 25 Nov 2011 22:55:07 +1300 Subject: [PATCH] linux: Set SO_REUSEADDR on gdb server socket. Renamed HOST environment variable to PROBE_HOST. Thanks to Michael Smith for the patch. --- src/Makefile | 10 +++++----- src/linux/gdb_if.c | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/Makefile b/src/Makefile index c1db87ce..87f0b0a6 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,14 +1,14 @@ -ifndef HOST -HOST = stm32 +ifndef PROBE_HOST +PROBE_HOST = stm32 endif -VPATH += $(HOST) +VPATH += $(PROBE_HOST) BUILDDATE := `date +"%Y%m%d"` CFLAGS += -Wall -Wextra -Wno-pointer-sign -Wno-char-subscripts\ -O0 -std=gnu99 -g3 -DBUILDDATE=\"$(BUILDDATE)\"\ - -I. -Iinclude -I$(HOST) \ + -I. -Iinclude -I$(PROBE_HOST) \ -DVERSION_SUFFIX=\"`../scripts/setlocalversion`\" SRC = gdb_if.c \ @@ -30,7 +30,7 @@ SRC = gdb_if.c \ arm7tdmi.c \ stm32f4.c \ -include $(HOST)/Makefile.inc +include $(PROBE_HOST)/Makefile.inc OBJ = $(SRC:.c=.o) diff --git a/src/linux/gdb_if.c b/src/linux/gdb_if.c index 7edab8fa..4b4f4a5e 100644 --- a/src/linux/gdb_if.c +++ b/src/linux/gdb_if.c @@ -47,12 +47,16 @@ int gdb_if_init(void) WSAStartup(MAKEWORD(2, 2), &wsaData); #endif struct sockaddr_in addr; + int opt; addr.sin_family = AF_INET; addr.sin_port = htons(2000); addr.sin_addr.s_addr = htonl(INADDR_ANY); assert((gdb_if_serv = socket(PF_INET, SOCK_STREAM, 0)) != -1); + opt = 1; + assert(setsockopt(gdb_if_serv, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) != -1); + assert(bind(gdb_if_serv, (void*)&addr, sizeof(addr)) != -1); assert(listen(gdb_if_serv, 1) != -1);