Date: Mon, 1 Jun 1998 18:19:46 -0500 From: "Scot W. Hetzel" <hetzels@westbend.net> To: "Mike Smith" <mike@smith.net.au> Cc: <current@FreeBSD.ORG> Subject: Re: ppp cannot find libalias Message-ID: <046601bd8db3$c49fa0a0$c3e0d9cf@admin.westbend.net>
next in thread | raw e-mail | index | archive | help
From: Mike Smith <mike@smith.net.au>
>Not even the hint cache. Note that this is the a.out rtld; I don't
>know (yet) where to look for the ELF one.
>
Mike, I cleaned up your code, I HATE goto's.
Scot
anon_open();
+ if (path == NULL)
+ return NULL;
+
+ /* If path is not qualified, search for it on the standard searchpath */
+ name = (strchr(path, '/') != NULL) ? strdup(path) : rtfindfile(path);
+
/* Map the object, and the objects on which it depends */
smp = map_object(path, (struct sod *) NULL, (struct so_map *) NULL);
- if(smp == NULL) /* Failed */
- return NULL;
+ if(smp != NULL) /* Succeeded */
{
LM_PRIVATE(smp)->spd_flags |= RTLD_DL;
/* Relocate and initialize all newly-mapped objects */
- if(link_map_tail != old_tail) { /* We have mapped some new objects */
+ if(link_map_tail != old_tail) && (reloc_dag(smp, bind_now) != -1)
- if(reloc_dag(smp, bind_now) == -1) /* Failed */
- return NULL;
init_dag(smp);
else
+ smp = NULL;
-}
unmaphints();
anon_close();
}
+ free(name);
return smp;
}
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?046601bd8db3$c49fa0a0$c3e0d9cf>
