Patchwork [v2] bsd-user: OS-agnostic 64-bit SYSCTL types

login
register
mail settings
Submitter Ed Maste
Date April 30, 2013, 1:29 p.m.
Message ID <1367328572-40615-1-git-send-email-emaste@freebsd.org>
Download mbox | patch
Permalink /patch/240614/
State New
Headers show

Comments

Ed Maste - April 30, 2013, 1:29 p.m.
Use existence of type as #ifdef condition rather than FreeBSD-specific
version check, as suggested by Patrick Welche.

Also handle the signed (CTLTYPE_S64) case identically to the unsigned
(CTLTYPE_U64) case, per later patches in the FreeBSD ports tree
(emulators/qemu-devel/files/patch-z-arm-bsd-user-001).

Signed-off-by: Ed Maste <emaste@freebsd.org>
---
v2: Delete stray : at end of #ifdef conditional 

 bsd-user/syscall.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
Michael Tokarev - May 3, 2013, 1:04 p.m.
30.04.2013 17:29, Ed Maste wrote:
> Use existence of type as #ifdef condition rather than FreeBSD-specific
> version check, as suggested by Patrick Welche.
> 
> Also handle the signed (CTLTYPE_S64) case identically to the unsigned
> (CTLTYPE_U64) case, per later patches in the FreeBSD ports tree
> (emulators/qemu-devel/files/patch-z-arm-bsd-user-001).

Applied to trivial-patches tree (8e4125147a8bc4da2c1e8eced722ebe31bafc19e),
thank you!

/mjt

Patch

diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c
index 69e3466..a4d1583 100644
--- a/bsd-user/syscall.c
+++ b/bsd-user/syscall.c
@@ -211,10 +211,11 @@  static int sysctl_oldcvt(void *holdp, size_t holdlen, uint32_t kind)
         *(uint64_t *)holdp = tswap64(*(unsigned long *)holdp);
         break;
 #endif
-#if !defined(__FreeBSD_version) || __FreeBSD_version < 900031
-    case CTLTYPE_QUAD:
-#else
+#ifdef CTLTYPE_U64
+    case CTLTYPE_S64:
     case CTLTYPE_U64:
+#else
+    case CTLTYPE_QUAD:
 #endif
         *(uint64_t *)holdp = tswap64(*(uint64_t *)holdp);
         break;