diff mbox

linux-user: Use abi_ulong for TARGET_ELF_PAGESTART

Message ID 1429542920-47029-1-git-send-email-yongbok.kim@imgtec.com
State New
Headers show

Commit Message

Yongbok Kim April 20, 2015, 3:15 p.m. UTC
TARGET_ELF_PAGESTART is required to use abi_ulong to correctly handle
addresses for different target bits width.
This patch fixes a problem when running a 64-bit user mode application
on 32-bit host machines.

Signed-off-by: Yongbok Kim <yongbok.kim@imgtec.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
---
 linux-user/elfload.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

Comments

Yongbok Kim June 2, 2015, 9:12 a.m. UTC | #1
ping!

On 20/04/2015 16:15, Yongbok Kim wrote:
> TARGET_ELF_PAGESTART is required to use abi_ulong to correctly handle
> addresses for different target bits width.
> This patch fixes a problem when running a 64-bit user mode application
> on 32-bit host machines.
> 
> Signed-off-by: Yongbok Kim <yongbok.kim@imgtec.com>
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  linux-user/elfload.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/linux-user/elfload.c b/linux-user/elfload.c
> index 399c021..edf0cf4 100644
> --- a/linux-user/elfload.c
> +++ b/linux-user/elfload.c
> @@ -1227,7 +1227,8 @@ struct exec
>  
>  /* Necessary parameters */
>  #define TARGET_ELF_EXEC_PAGESIZE TARGET_PAGE_SIZE
> -#define TARGET_ELF_PAGESTART(_v) ((_v) & ~(unsigned long)(TARGET_ELF_EXEC_PAGESIZE-1))
> +#define TARGET_ELF_PAGESTART(_v) ((_v) & \
> +                                 ~(abi_ulong)(TARGET_ELF_EXEC_PAGESIZE-1))
>  #define TARGET_ELF_PAGEOFFSET(_v) ((_v) & (TARGET_ELF_EXEC_PAGESIZE-1))
>  
>  #define DLINFO_ITEMS 14
>
Riku Voipio June 12, 2015, 12:42 p.m. UTC | #2
Hi,

Applied to linux-user que, thanks

Riku

On Tuesday, June 2, 2015 12:12:21 PM EEST, Yongbok Kim wrote:
> ping!
>
> On 20/04/2015 16:15, Yongbok Kim wrote:
>> TARGET_ELF_PAGESTART is required to use abi_ulong to correctly handle
>> addresses for different target bits width.
>> This patch fixes a problem when running a 64-bit user mode application
>> on 32-bit host machines.
>> 
>> Signed-off-by: Yongbok Kim <yongbok.kim@imgtec.com> ...
>
>
>
diff mbox

Patch

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 399c021..edf0cf4 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1227,7 +1227,8 @@  struct exec
 
 /* Necessary parameters */
 #define TARGET_ELF_EXEC_PAGESIZE TARGET_PAGE_SIZE
-#define TARGET_ELF_PAGESTART(_v) ((_v) & ~(unsigned long)(TARGET_ELF_EXEC_PAGESIZE-1))
+#define TARGET_ELF_PAGESTART(_v) ((_v) & \
+                                 ~(abi_ulong)(TARGET_ELF_EXEC_PAGESIZE-1))
 #define TARGET_ELF_PAGEOFFSET(_v) ((_v) & (TARGET_ELF_EXEC_PAGESIZE-1))
 
 #define DLINFO_ITEMS 14