PATCH: BZ #14683: Static dlopen abort on $ORIGIN

Roland McGrath roland@hack.frob.com
Thu Oct 11 23:44:00 GMT 2012


> --- a/elf/dl-open.c
> +++ b/elf/dl-open.c
> @@ -206,6 +206,14 @@ dl_open_worker (void *a)
>  	      goto found_caller;
>  	    }
>  
> +#ifndef SHARED
> +	  /* In statically linked apps there might be only vDSO.  */
> +	  if (call_map
> +	      && (caller_dlopen < (const void *) call_map->l_map_start
> +		  || caller_dlopen >= (const void *) call_map->l_map_end))
> +	    call_map = NULL;
> +#endif
> +
>      found_caller:
>        if (args->nsid == __LM_ID_CALLER)
>  	{

It should just omit the initial setting of CALL_MAP for !SHARED,
shouldn't it?


Thanks,
Roland



More information about the Libc-alpha mailing list