mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
Update.
* elf/dl-version.c (_dl_check_map_versions): New argument trace_mode. Before testing versions check that we actually loaded the object and whether we are in trace mode. If not loaded during tracing don't test versions in this object. (_dl_check_all_versions): Take new parameter and pass to _dl_check_map_versions. * sysdeps/generic/ldsodefs.h: Update prototypes for _dl_check_all_versions and _dl_check_map_versions. * elf/rtld.c (struct version_check_args): Add dotrace. (version_check_doit): Pass args->dotrace to _dl_check_all_versions. (dl_main): Pass info about trace mode to version_check_doit. * elf/dl-open.c (dl_open_worker): Pass zero as new argument to _dl_check_all_versions. * manual/users.texi (XPG Functions): Document utmpxname, getutmp, and getutmpx. Patch by Bryan Henderson <bryanh@giraffe-data.com>.
This commit is contained in:
@@ -283,6 +283,7 @@ struct map_args
|
||||
struct version_check_args
|
||||
{
|
||||
int doexit;
|
||||
int dotrace;
|
||||
};
|
||||
|
||||
static void
|
||||
@@ -305,7 +306,7 @@ static void
|
||||
version_check_doit (void *a)
|
||||
{
|
||||
struct version_check_args *args = (struct version_check_args *) a;
|
||||
if (_dl_check_all_versions (_dl_loaded, 1) && args->doexit)
|
||||
if (_dl_check_all_versions (_dl_loaded, 1, args->dotrace) && args->doexit)
|
||||
/* We cannot start the application. Abort now. */
|
||||
_exit (1);
|
||||
}
|
||||
@@ -842,6 +843,7 @@ of this helper program; chances are you did not intend to run this program.\n\
|
||||
{
|
||||
struct version_check_args args;
|
||||
args.doexit = mode == normal;
|
||||
args.dotrace = mode == trace;
|
||||
_dl_receive_error (print_missing_version, version_check_doit, &args);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user