From a0b200db764e324850a61ab605068e1e91d692e8 Mon Sep 17 00:00:00 2001 From: marco Date: Sat, 21 Jan 2012 11:56:40 +0000 Subject: [PATCH] * Add dlvsym under ifdef ELF, defined ELF for the OSes I could check (FreeBSD, OpenBSD, Linux) Mantis #18892 git-svn-id: trunk@20134 - --- rtl/unix/dl.pp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rtl/unix/dl.pp b/rtl/unix/dl.pp index b909d1f011..226f715af3 100644 --- a/rtl/unix/dl.pp +++ b/rtl/unix/dl.pp @@ -27,6 +27,10 @@ const {$endif} {$endif} +{$if defined(linux) or defined(freebsd) or defined(openbsd)} + {$define ELF} // ELF symbol versioning. +{$endif} + {$if defined(linux) and defined(cpuarm)} { arm-linux seems to require this } {$linklib c} @@ -56,6 +60,9 @@ type function dlopen(Name : PChar; Flags : longint) : Pointer; cdecl; external libdl; function dlsym(Lib : Pointer; Name : Pchar) : Pointer; cdecl; external Libdl; +{$ifdef ELF} +function dlvsym(Lib : Pointer; Name : Pchar; Version: Pchar) : Pointer; cdecl; external Libdl; +{$endif} function dlclose(Lib : Pointer) : Longint; cdecl; external libdl; function dlerror() : Pchar; cdecl; external libdl; { overloaded for compatibility with hmodule }