[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] target_posix_types.h
From: |
Thayne Harbaugh |
Subject: |
Re: [Qemu-devel] [PATCH] target_posix_types.h |
Date: |
Wed, 14 Nov 2007 14:19:27 -0700 |
On Wed, 2007-11-14 at 20:39 +0000, Paul Brook wrote:
> > This means that time_t had to be tracked down on varying architectures
> > to find the size and there was an assumption made that time_t is 32 bits
> > - which isn't true for all targets. The next problem is that if the
> > target is 32 bits but the host is 64 bits then there's a sign extension
> > problem because (time_t)-1 is used for an error condition. If you don't
> > correctly assign assign the 32-bit -1 to a 64-bit type then, rather than
> > -1, you get 4294967295.
>
> Is there any guarantee that time_t is a signed type? The fact that you said
> (time_t)-1 suggests it could be an unsigned type. If time_t is an unsigned
> type, then casting to a wider value is still wrong. You have to special-case
> the error condition.
>
> In the case of time_t this only becomes relevant after 32-bit time_t wrap in
> approx. 99 years time, but I'd expect there are cases where it matters.
time_t is only one example. There are similar problems with the
handling of struct target_iovec. There are still other places with
similar problems.
Yes, special casing can work. There's the possible problem of value
truncation when moving between 32 and 64 bits.
- Re: [Qemu-devel] [PATCH] target_posix_types.h, (continued)
- Re: [Qemu-devel] [PATCH] target_posix_types.h, Fabrice Bellard, 2007/11/14
- Re: [Qemu-devel] [PATCH] target_posix_types.h, Thayne Harbaugh, 2007/11/14
- Re: [Qemu-devel] [PATCH] target_posix_types.h, Fabrice Bellard, 2007/11/14
- Re: [Qemu-devel] [PATCH] target_posix_types.h, Thayne Harbaugh, 2007/11/14
- Re: [Qemu-devel] [PATCH] target_posix_types.h, Paul Brook, 2007/11/14
- Re: [Qemu-devel] [PATCH] target_posix_types.h, Warner Losh, 2007/11/14
- Re: [Qemu-devel] [PATCH] target_posix_types.h, Thayne Harbaugh, 2007/11/14
- Re: [Qemu-devel] [PATCH] target_posix_types.h,
Thayne Harbaugh <=
- Re: [Qemu-devel] [PATCH] target_posix_types.h, Paul Brook, 2007/11/14
- Re: [Qemu-devel] [PATCH] target_posix_types.h, Thayne Harbaugh, 2007/11/14