diff --git a/libexec/rtld-elf/libmap.c b/libexec/rtld-elf/libmap.c index bdb915118006..56e04fdaf209 100644 --- a/libexec/rtld-elf/libmap.c +++ b/libexec/rtld-elf/libmap.c @@ -41,7 +41,7 @@ static struct lm_list * lmp_init (char *); #define iseol(c) (((c) == '#') || ((c) == '\0') || \ ((c) == '\n') || ((c) == '\r')) -void +int lm_init (void) { FILE *fp; @@ -55,7 +55,7 @@ lm_init (void) TAILQ_INIT(&lmp_head); if ((fp = fopen(_PATH_LIBMAP_CONF, "r")) == NULL) - return; + return (1); p = NULL; while ((cp = fgets(line, MAXPATHLEN + 1, fp)) != NULL) { @@ -128,7 +128,7 @@ lm_init (void) lm_add(p, f, t); } fclose(fp); - return; + return (0); } static void diff --git a/libexec/rtld-elf/libmap.h b/libexec/rtld-elf/libmap.h index 8228ef8edcb1..f42df44d29e8 100644 --- a/libexec/rtld-elf/libmap.h +++ b/libexec/rtld-elf/libmap.h @@ -2,6 +2,6 @@ * $FreeBSD$ */ -void lm_init (void); +int lm_init (void); void lm_fini (void); char * lm_find (const char *, const char *); diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index e8cbf24cffff..801fa4b2cbe6 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -342,7 +342,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp) #ifdef WITH_LIBMAP if (!libmap_disable) - lm_init(); + libmap_disable = (bool)lm_init(); #endif dbg("loading LD_PRELOAD libraries");