Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: dynamic linking on OpenBSD



Quoting Andrej Borsenkow (Andrej.Borsenkow@xxxxxxxxxxxxxx):
> 1. Could you please send diff against configure.in not configure? We do not
> keep configure in CVS and it is hard to backport it. Even better, update to
> current CVS and diff against zshconfig.ac.
> 
> 2. Your patch looks like OpenBSD does not use ELF. Is it really the case?

It does on some platform use ELF.  On other (the majority), its a.out.
By using ${CC} -shared -fPIC is a sure way to generate a proper .so
across all the platforms (be it ELF or a.out).

Here is the diff against configure.in:

$OpenBSD$
--- configure.in.orig	Tue Jun  5 18:52:48 2001
+++ configure.in	Tue Jun  5 19:00:31 2001
@@ -1595,6 +1595,16 @@ char *argv[];
       ;;
     esac
   else
+    case "$host" in
+      *openbsd*)
+	DLLD="${DLLD=$CC}"
+	DLLDARG="${LDARG}"
+      ;;
+      * )
+	DLLD="${DLLD=ld}"
+	DLLDARG=""
+      ;;
+    esac
     DLLD="${DLLD=ld}"
     DLLDARG=""
   fi
@@ -1615,7 +1625,7 @@ char *argv[];
     netbsd*)      DLLDFLAGS="${DLLDFLAGS=${DLLDARG}-x -shared --whole-archive}" ;;
     aix*)         DLLDFLAGS="${DLLDFLAGS=-G -bexpall -lc}" ;;
     solaris*|sysv4*|esix*) DLLDFLAGS="${DLLDFLAGS=-G}" ;;
-    openbsd*)     DLLDFLAGS="${DLLDFLAGS=-Bshareable}" ;;
+    openbsd*)     DLLDFLAGS="${DLLDFLAGS=-shared -fPIC}" ;;
   esac
   case "$host" in
     *-hpux*)  EXTRA_LDFLAGS="${EXTRA_LDFLAGS=-Wl,-E}" ;;

Ciao,
  ...David

-- 
// david lebel <lebel@{lebel.org,nobiaze.com,openbsd.org}> //
// http://www.lebel.org/           http://www.nobiaze.com/ //
// pgp: 3633 6999 D47E 73ED 099F  4341 08A4 8E48 EF56 61D1 //



Messages sorted by: Reverse Date, Date, Thread, Author