Add the ELF relocation base to struct image_params. This will be
required to correctly relocate the executable entry point's function descriptor on powerpc64.
This commit is contained in:
parent
a107d8aac9
commit
a0ea661f5e
@ -943,6 +943,7 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp)
|
||||
|
||||
imgp->auxargs = elf_auxargs;
|
||||
imgp->interpreted = 0;
|
||||
imgp->reloc_base = addr;
|
||||
imgp->proc->p_osrel = osrel;
|
||||
|
||||
return (error);
|
||||
|
@ -372,6 +372,7 @@ do_execve(td, args, mac_p)
|
||||
imgp->execlabel = NULL;
|
||||
imgp->attr = &attr;
|
||||
imgp->entry_addr = 0;
|
||||
imgp->reloc_base = 0;
|
||||
imgp->vmspace_destroyed = 0;
|
||||
imgp->interpreted = 0;
|
||||
imgp->opened = 0;
|
||||
|
@ -56,6 +56,7 @@ struct image_params {
|
||||
struct vattr *attr; /* attributes of file */
|
||||
const char *image_header; /* head of file to exec */
|
||||
unsigned long entry_addr; /* entry address of target executable */
|
||||
unsigned long reloc_base; /* load address of image */
|
||||
char vmspace_destroyed; /* flag - we've blown away original vm space */
|
||||
char interpreted; /* flag - this executable is interpreted */
|
||||
char opened; /* flag - we have opened executable vnode */
|
||||
|
Loading…
Reference in New Issue
Block a user