aboutsummaryrefslogtreecommitdiff
path: root/linux-user/elfload.c
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2024-03-27 10:54:06 -1000
committerRichard Henderson <richard.henderson@linaro.org>2024-05-15 10:03:44 +0200
commit3c13b0ffe76057e93e007bedbad3cc556146e3ed (patch)
tree04c6c89b39d1ac382370910f50cb6e4c105a6d2e /linux-user/elfload.c
parenta0ea4becca28c1c14de5c3b8bff8343ab184070c (diff)
downloadqemu-3c13b0ffe76057e93e007bedbad3cc556146e3ed.zip
qemu-3c13b0ffe76057e93e007bedbad3cc556146e3ed.tar.gz
qemu-3c13b0ffe76057e93e007bedbad3cc556146e3ed.tar.bz2
linux-user/hppa: Force all code addresses to PRIV_USER
The kernel does this along the return path to user mode. Reviewed-by: Helge Deller <deller@gmx.de> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'linux-user/elfload.c')
-rw-r--r--linux-user/elfload.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index b473cda..c1e1511 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1887,8 +1887,8 @@ static inline void init_thread(struct target_pt_regs *regs,
static inline void init_thread(struct target_pt_regs *regs,
struct image_info *infop)
{
- regs->iaoq[0] = infop->entry;
- regs->iaoq[1] = infop->entry + 4;
+ regs->iaoq[0] = infop->entry | PRIV_USER;
+ regs->iaoq[1] = regs->iaoq[0] + 4;
regs->gr[23] = 0;
regs->gr[24] = infop->argv;
regs->gr[25] = infop->argc;