Patchwork flatload: fix non-GOT relocations

login
register
mail settings
Submitter Corey J. Boyle
Date Oct. 4, 2013, 10:50 p.m.
Message ID <1380927030-28198-1-git-send-email-corey@kansanian.com>
Download mbox | patch
Permalink /patch/280759/
State New
Headers show

Comments

Corey J. Boyle - Oct. 4, 2013, 10:50 p.m.
From: "Corey J. Boyle" <corey@kansanian.com>

Use target address rather than host address when performing
non-GOT relocations

Signed-off-by: Corey J. Boyle <corey@kansanian.com>
---
 linux-user/flatload.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Peter Maydell - Oct. 5, 2013, 8:04 a.m.
On 5 October 2013 07:50, Corey J. Boyle <corey@kansanian.com> wrote:
> From: "Corey J. Boyle" <corey@kansanian.com>
>
> Use target address rather than host address when performing
> non-GOT relocations
>
> Signed-off-by: Corey J. Boyle <corey@kansanian.com>
> ---
>  linux-user/flatload.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/linux-user/flatload.c b/linux-user/flatload.c
> index 58f679e..c13a201 100644
> --- a/linux-user/flatload.c
> +++ b/linux-user/flatload.c
> @@ -44,7 +44,7 @@
>  #define ntohl(x) be32_to_cpu(x)
>  #include <target_flat.h>
>
> -//#define DEBUG
> +#define DEBUG

I assume you didn't mean to leave debugging enabled...

thanks
-- PMM
Corey J. Boyle - Oct. 5, 2013, 11:28 a.m.
On Sat, Oct 5, 2013 at 4:04 AM, Peter Maydell <peter.maydell@linaro.org>wrote:

> On 5 October 2013 07:50, Corey J. Boyle <corey@kansanian.com> wrote:
> > From: "Corey J. Boyle" <corey@kansanian.com>
> >
> > Use target address rather than host address when performing
> > non-GOT relocations
> >
> > Signed-off-by: Corey J. Boyle <corey@kansanian.com>
> > ---
> >  linux-user/flatload.c |    4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/linux-user/flatload.c b/linux-user/flatload.c
> > index 58f679e..c13a201 100644
> > --- a/linux-user/flatload.c
> > +++ b/linux-user/flatload.c
> > @@ -44,7 +44,7 @@
> >  #define ntohl(x) be32_to_cpu(x)
> >  #include <target_flat.h>
> >
> > -//#define DEBUG
> > +#define DEBUG
>
> I assume you didn't mean to leave debugging enabled...
>
> No, I didn't mean for that to stick around.  I'll upload a new patch.

Thanks
Corey

Patch

diff --git a/linux-user/flatload.c b/linux-user/flatload.c
index 58f679e..c13a201 100644
--- a/linux-user/flatload.c
+++ b/linux-user/flatload.c
@@ -44,7 +44,7 @@ 
 #define ntohl(x) be32_to_cpu(x)
 #include <target_flat.h>
 
-//#define DEBUG
+#define DEBUG
 
 #ifdef DEBUG
 #define	DBG_FLT(...)	printf(__VA_ARGS__)
@@ -633,7 +633,7 @@  static int load_flat_file(struct linux_binprm * bprm,
             /* Get the pointer's value.  */
             if (get_user_ual(addr, rp))
                 return -EFAULT;
-            addr = flat_get_addr_from_rp(rp, relval, flags, &persistent);
+            addr = flat_get_addr_from_rp(addr, relval, flags, &persistent);
             if (addr != 0) {
                 /*
                  * Do the relocation.  PIC relocs in the data section are