Hi,

Am 30.08.2012 14:30, schrieb Erik de Castro Lopo:
> I'm working on implementing Posix timers in linux-user.
> 
> I'm having trouble figuring out how to handle the timer_t type.
> Consider the following code with say 32 bit ARM being emulated
> on 64 bit x86-64:
> 
>     timer_t timerid;
> 
>     err = timer_create(clockid, &sev, &timerid);
>     err = timer_gettime(timerid, &curr);
> 
> The issue is that memory for the timer_t value in the 32 bit
> target is alloacted on the tack (where the timer_t is 4 bytes)
> but the value provided by the 64 bit host where the timer_t is
> 8 bytes.
> 
> Any suggestions on dealing with this?

typedef target_ulong target_timer_t;

or abi_ulong, or without the u if signed.

Depending on where/how you use this, you may need to convert back and
forth between host and target values.

Regards,
Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

Reply via email to