[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Patch: dyngen-exec.h for OpenBSD
From: |
Todd T. Fries |
Subject: |
Re: [Qemu-devel] Patch: dyngen-exec.h for OpenBSD |
Date: |
Thu, 5 Apr 2007 17:12:42 -0500 |
User-agent: |
Mutt/1.5.12-2006-07-14 |
Penned by Thiemo Seufer on 20070402 10:54.53, we have:
| > /* NOTE: standard headers should be used with special care at this
| > point because host CPU registers are used as global variables. Some
| > host headers do not allow that. */
| > #include <stddef.h>
| > -
| > +#ifdef __OpenBSD__
| > +#include <sys/types.h>
| > +#else
| > typedef unsigned char uint8_t;
| > typedef unsigned short uint16_t;
| > typedef unsigned int uint32_t;
| > @@ -61,6 +65,7 @@ typedef signed long int64_t;
| > typedef signed long long int64_t;
| > #endif
| > #endif
| > +#endif
|
| Is this specialcase really needed for OpenBSD?
Can you honestly tell me that on all platforms this is true?
Hello? Portability? sys/types.h defines these types portably.
Doing so the way this code does it, is not portable.
I left your non portable code to you; if systems in general
define these types in sys/types.h then just remove the
typedefs, problem solved.
| > /* XXX: This may be wrong for 64-bit ILP32 hosts. */
| > typedef void * host_reg_t;
| > @@ -78,11 +83,15 @@ typedef void * host_reg_t;
| > #define UINT32_MAX (4294967295U)
| > #define UINT64_MAX ((uint64_t)(18446744073709551615))
| >
| > +#ifdef __OpenBSD__
| > +typedef struct __sFILE FILE;
| > +#else
| > typedef struct FILE FILE;
| > extern int fprintf(FILE *, const char *, ...);
| > extern int printf(const char *, ...);
| > #undef NULL
| > #define NULL 0
| > +#endif
|
| Shouldn't this cover only the FILE typedef?
Why is it that qemu knows what the definition of these prototypes
are on all systems without consulting the header files. I have a
better idea, lets let the header files define the prototypes.
Who would have though of that?
.. of course I purposefully intended to remove cruft that is
in header files and belongs in header files.
I'll look at your other comments later, but these I see later in
the discussion are nearing inclusion with your recommended tweaks.
I'll submit patches to correct things again if necessary.
Thanks,
--
Todd Fries .. address@hidden
_____________________________________________
| \ 1.636.410.0632 (voice)
| Free Daemon Consulting, LLC \ 1.405.227.9094 (voice)
| http://FreeDaemonConsulting.com \ 1.866.792.3418 (FAX)
| "..in support of free software solutions." \ 250797 (FWD)
| \
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
37E7 D3EB 74D0 8D66 A68D B866 0326 204E 3F42 004A
http://todd.fries.net/pgp.txt