From b9cb1326481302719ad8bdad6b6247bca42a629b Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Wed, 6 Jul 2005 16:55:58 +0000
Subject: [PATCH] Sync dlopen error handling for the *BSDs ... seems to me I've
 done this before, but they were out of sync again.  Per Kris Jurka.

---
 src/backend/port/dynloader/freebsd.c | 7 ++++---
 src/backend/port/dynloader/netbsd.c  | 2 +-
 src/backend/port/dynloader/openbsd.c | 2 +-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/backend/port/dynloader/freebsd.c b/src/backend/port/dynloader/freebsd.c
index 5b18707928f..87b661696a0 100644
--- a/src/backend/port/dynloader/freebsd.c
+++ b/src/backend/port/dynloader/freebsd.c
@@ -1,4 +1,4 @@
-/*-
+/*
  * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
  * Portions Copyright (c) 1990 The Regents of the University of California.
  * All rights reserved.
@@ -37,12 +37,13 @@ static char sccsid[] = "@(#)dl.c	5.4 (Berkeley) 2/23/91";
 #endif   /* LIBC_SCCS and not lint */
 
 #include "postgres.h"
-#include "dynloader.h"
 
 #include <nlist.h>
 #include <link.h>
 #include <dlfcn.h>
 
+#include "dynloader.h"
+
 static char error_message[BUFSIZ];
 
 char *
@@ -67,7 +68,7 @@ BSD44_derived_dlopen(const char *file, int num)
 
 	if ((vp = dlopen((char *) file, num)) == NULL)
 		snprintf(error_message, sizeof(error_message),
-				 "dlopen '%s' failed. (%s)", file, dlerror());
+				 "dlopen (%s) failed: %s", file, dlerror());
 	return vp;
 #endif
 }
diff --git a/src/backend/port/dynloader/netbsd.c b/src/backend/port/dynloader/netbsd.c
index 72bd516597a..f1271da72de 100644
--- a/src/backend/port/dynloader/netbsd.c
+++ b/src/backend/port/dynloader/netbsd.c
@@ -68,7 +68,7 @@ BSD44_derived_dlopen(const char *file, int num)
 
 	if ((vp = dlopen((char *) file, num)) == NULL)
 		snprintf(error_message, sizeof(error_message),
-				 "dlopen (%s) failed", file);
+				 "dlopen (%s) failed: %s", file, dlerror());
 	return vp;
 #endif
 }
diff --git a/src/backend/port/dynloader/openbsd.c b/src/backend/port/dynloader/openbsd.c
index 72bd516597a..f1271da72de 100644
--- a/src/backend/port/dynloader/openbsd.c
+++ b/src/backend/port/dynloader/openbsd.c
@@ -68,7 +68,7 @@ BSD44_derived_dlopen(const char *file, int num)
 
 	if ((vp = dlopen((char *) file, num)) == NULL)
 		snprintf(error_message, sizeof(error_message),
-				 "dlopen (%s) failed", file);
+				 "dlopen (%s) failed: %s", file, dlerror());
 	return vp;
 #endif
 }
-- 
GitLab