Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 02 Jun 1998 10:11:01 -0700
From:      Mike Smith <mike@smith.net.au>
To:        "Scot W. Hetzel" <hetzels@westbend.net>
Cc:        "Mike Smith" <mike@smith.net.au>, current@FreeBSD.ORG
Subject:   Re: ppp cannot find libalias 
Message-ID:  <199806021711.KAA01018@antipodes.cdrom.com>
In-Reply-To: Your message of "Mon, 01 Jun 1998 18:19:46 CDT." <046601bd8db3$c49fa0a0$c3e0d9cf@admin.westbend.net> 

next in thread | previous 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.

Terry likes them.  I find them easier to deal with than insane nesting.

Unfortunately I can't use your diff as-is as it appears to have suffered 
catastrophic whitespace damage, but I take your point. 

Are there any disagreements with the basic idea, ie. use rtfindfile() 
to locate files requested by dlopen() if they do not contain path 
components?

> 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
> 

-- 
\\  Sometimes you're ahead,       \\  Mike Smith
\\  sometimes you're behind.      \\  mike@smith.net.au
\\  The race is long, and in the  \\  msmith@freebsd.org
\\  end it's only with yourself.  \\  msmith@cdrom.com



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?199806021711.KAA01018>