--- Makefile.tool.am.orig
+++ Makefile.tool.am
@@ -49,6 +49,8 @@
 	-Wl,-M,/usr/lib/ld/map.noexstk
 TOOL_LDFLAGS_COMMON_FREEBSD = -static \
 	-nodefaultlibs -nostartfiles -Wl,-u,_start @FLAG_NO_BUILD_ID@
+TOOL_LDFLAGS_COMMON_OPENBSD = -static \
+	-nodefaultlibs -nostartfiles -Wl,-u,_start @FLAG_NO_BUILD_ID@
 
 TOOL_LDFLAGS_X86_LINUX = \
 	$(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M32@
@@ -56,12 +58,18 @@
 TOOL_LDFLAGS_X86_FREEBSD = \
 	$(TOOL_LDFLAGS_COMMON_FREEBSD) @FLAG_M32@
 
+TOOL_LDFLAGS_X86_OPENBSD = \
+	$(TOOL_LDFLAGS_COMMON_OPENBSD) @FLAG_M32@
+
 TOOL_LDFLAGS_AMD64_LINUX = \
 	$(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M64@
 
 TOOL_LDFLAGS_AMD64_FREEBSD = \
 	$(TOOL_LDFLAGS_COMMON_FREEBSD) @FLAG_M64@
 
+TOOL_LDFLAGS_AMD64_OPENBSD = \
+	$(TOOL_LDFLAGS_COMMON_OPENBSD) @FLAG_M64@
+
 TOOL_LDFLAGS_PPC32_LINUX = \
 	$(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M32@
 
@@ -143,6 +151,9 @@
 LIBREPLACEMALLOC_X86_FREEBSD = \
 	$(top_builddir)/coregrind/libreplacemalloc_toolpreload-x86-freebsd.a
 
+LIBREPLACEMALLOC_X86_OPENBSD = \
+	$(top_builddir)/coregrind/libreplacemalloc_toolpreload-x86-openbsd.a
+
 LIBREPLACEMALLOC_ARM_LINUX = \
 	$(top_builddir)/coregrind/libreplacemalloc_toolpreload-arm-linux.a
 
@@ -152,6 +163,9 @@
 LIBREPLACEMALLOC_AMD64_FREEBSD = \
 	$(top_builddir)/coregrind/libreplacemalloc_toolpreload-amd64-freebsd.a
 
+LIBREPLACEMALLOC_AMD64_OPENBSD = \
+	$(top_builddir)/coregrind/libreplacemalloc_toolpreload-amd64-openbsd.a
+
 LIBREPLACEMALLOC_X86_DARWIN = \
 	$(top_builddir)/coregrind/libreplacemalloc_toolpreload-x86-darwin.a
 
@@ -216,6 +230,16 @@
 LIBREPLACEMALLOC_LDFLAGS_AMD64_FREEBSD = \
 	-Wl,--whole-archive \
 	$(LIBREPLACEMALLOC_AMD64_FREEBSD) \
+	-Wl,--no-whole-archive
+
+LIBREPLACEMALLOC_LDFLAGS_X86_OPENBSD = \
+	-Wl,--whole-archive \
+	$(LIBREPLACEMALLOC_X86_OPENBSD) \
+	-Wl,--no-whole-archive
+
+LIBREPLACEMALLOC_LDFLAGS_AMD64_OPENBSD = \
+	-Wl,--whole-archive \
+	$(LIBREPLACEMALLOC_AMD64_OPENBSD) \
 	-Wl,--no-whole-archive
 
 LIBREPLACEMALLOC_LDFLAGS_X86_DARWIN = \
