Do not substitute interpeter if the brand interpreter path is
different from the interpreter path requested by the binary. Before this change, it is impossible to activate non-default interpreter for 32bit image on amd64, when /libexec/ld-elf32.so.1 file exists. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
This commit is contained in:
parent
1da650f6a6
commit
cc13042464
@ -1002,7 +1002,9 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp)
|
|||||||
if (error == 0)
|
if (error == 0)
|
||||||
have_interp = TRUE;
|
have_interp = TRUE;
|
||||||
}
|
}
|
||||||
if (!have_interp && newinterp != NULL) {
|
if (!have_interp && newinterp != NULL &&
|
||||||
|
(brand_info->interp_path == NULL ||
|
||||||
|
strcmp(interp, brand_info->interp_path) == 0)) {
|
||||||
error = __elfN(load_file)(imgp->proc, newinterp, &addr,
|
error = __elfN(load_file)(imgp->proc, newinterp, &addr,
|
||||||
&imgp->entry_addr, sv->sv_pagesize);
|
&imgp->entry_addr, sv->sv_pagesize);
|
||||||
if (error == 0)
|
if (error == 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user