Back out my change from 6 April PDT that added a new dlversion()
function. It was an ill-considered feature. It didn't solve the problem I wanted it to solve. And it added Yet Another Version Number that would have to be maintained at every release point. I'm nuking it now before anybody grows too fond of it.
This commit is contained in:
parent
9b512bf44d
commit
072c9803b2
@ -66,7 +66,6 @@ int dlclose __P((void *));
|
||||
const char *dlerror __P((void));
|
||||
void *dlopen __P((const char *, int));
|
||||
void *dlsym __P((void *, const char *));
|
||||
int dlversion __P((void));
|
||||
__END_DECLS
|
||||
|
||||
#endif /* !_DLFCN_H_ */
|
||||
|
@ -94,14 +94,6 @@ dlsym(void *handle, const char *name)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#pragma weak dlversion
|
||||
int
|
||||
dlversion(void)
|
||||
{
|
||||
_rtld_error(sorry);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#else /* a.out format */
|
||||
|
||||
#include <sys/types.h>
|
||||
@ -173,11 +165,4 @@ dlsym(void *handle, const char *name)
|
||||
return (__ldso_entry->dlsym)(handle, name);
|
||||
}
|
||||
|
||||
/* We don't support dlversion() on a.out systems. */
|
||||
int
|
||||
dlversion(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* __ELF__ */
|
||||
|
@ -34,7 +34,7 @@
|
||||
.Os FreeBSD
|
||||
.Dt DLOPEN 3
|
||||
.Sh NAME
|
||||
.Nm dlopen, dlsym, dlerror, dlclose, dlversion
|
||||
.Nm dlopen, dlsym, dlerror, dlclose
|
||||
.Nd programmatic interface to the dynamic linker
|
||||
.Sh SYNOPSIS
|
||||
.Fd #include <dlfcn.h>
|
||||
@ -46,8 +46,6 @@
|
||||
.Fn dlerror "void"
|
||||
.Ft int
|
||||
.Fn dlclose "void *handle"
|
||||
.Ft int
|
||||
.Fn dlversion "void"
|
||||
.Sh DESCRIPTION
|
||||
These functions provide a simple programmatic interface to the services of the
|
||||
dynamic linker.
|
||||
@ -221,19 +219,6 @@ The object-intrinsic functions
|
||||
and
|
||||
.Fn _fini
|
||||
are called with no arguments, and are not expected to return values.
|
||||
.Pp
|
||||
.Fn dlversion
|
||||
returns the version number of the dynamic linker. Interpreted
|
||||
as a decimal number, the version number has the form
|
||||
.Em rrrsss .
|
||||
.Em rrr
|
||||
corresponds to the base operating system release version, e.g., 400
|
||||
for release 4.0.0.
|
||||
.Em sss
|
||||
is a serial number that increases monotonically within each release
|
||||
version. If the installed dynamic linker is too old to support
|
||||
.Fn dlversion ,
|
||||
0 is returned.
|
||||
.Sh NOTES
|
||||
ELF executables need to be linked
|
||||
using the
|
||||
@ -249,8 +234,6 @@ and
|
||||
return the null pointer in the event of errors.
|
||||
.Fn dlclose
|
||||
returns 0 on success, or -1 if an error occurred.
|
||||
.Fn dlversion
|
||||
returns 0 if the dynamic linker is too old to support it.
|
||||
Whenever an error has been detected, a message detailing it can be
|
||||
retrieved via a call to
|
||||
.Fn dlerror .
|
||||
|
@ -22,7 +22,7 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: rtld.c,v 1.21 1999/04/09 06:42:00 jdp Exp $
|
||||
* $Id: rtld.c,v 1.22 1999/04/21 04:06:57 jdp Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -51,14 +51,6 @@
|
||||
#include "debug.h"
|
||||
#include "rtld.h"
|
||||
|
||||
/*
|
||||
* Version number queried by dlversion(). The first 3 digits represent
|
||||
* the base FreeBSD release. The last 3 digits are a serial number.
|
||||
* Increase this when you fix a significant bug or add a significant
|
||||
* feature.
|
||||
*/
|
||||
#define DL_VERSION 400001
|
||||
|
||||
/*
|
||||
* Debugging support.
|
||||
*/
|
||||
@ -141,7 +133,6 @@ static func_ptr_type exports[] = {
|
||||
(func_ptr_type) &dlopen,
|
||||
(func_ptr_type) &dlsym,
|
||||
(func_ptr_type) &dladdr,
|
||||
(func_ptr_type) &dlversion,
|
||||
NULL
|
||||
};
|
||||
|
||||
@ -1248,12 +1239,6 @@ dlsym(void *handle, const char *name)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int
|
||||
dlversion(void)
|
||||
{
|
||||
return DL_VERSION;
|
||||
}
|
||||
|
||||
int
|
||||
dladdr(const void *addr, Dl_info *info)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user