]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
- Remove extra integer argument from truncate() and ftruncate(). This is
authorjhb <jhb@FreeBSD.org>
Thu, 1 Oct 2015 17:28:07 +0000 (17:28 +0000)
committerjhb <jhb@FreeBSD.org>
Thu, 1 Oct 2015 17:28:07 +0000 (17:28 +0000)
  probably fallout from the removal of the extra padding argument before
  off_t in 7.  However, that padding still exists for 32-bit powerpc, so
  use QUAD_ALIGN.
- Fix QUAD_ALIGN to be zero for powerpc64.  It should only be set to 1
  for 32-bit platforms that add padding to align 64-bit arguments.

usr.bin/truss/syscalls.c

index f46a2e17e1be96418b252a691d26d6a7c3b1ec2b..187f40d461073a339a94788ca88e7f05cf984f64 100644 (file)
@@ -71,7 +71,7 @@ __FBSDID("$FreeBSD$");
 #include "syscall.h"
 
 /* 64-bit alignment on 32-bit platforms. */
-#ifdef __powerpc__
+#if !defined(__LP64__) && defined(__powerpc__)
 #define        QUAD_ALIGN      1
 #else
 #define        QUAD_ALIGN      0
@@ -320,10 +320,10 @@ static struct syscall syscalls[] = {
          .args = { { PipeFds | OUT, 0 } } },
        { .name = "pipe2", .ret_type = 1, .nargs = 2,
          .args = { { Ptr, 0 }, { Open, 1 } } },
-       { .name = "truncate", .ret_type = 1, .nargs = 3,
-         .args = { { Name | IN, 0 }, { Int | IN, 1 }, { Quad | IN, 2 } } },
-       { .name = "ftruncate", .ret_type = 1, .nargs = 3,
-         .args = { { Int | IN, 0 }, { Int | IN, 1 }, { Quad | IN, 2 } } },
+       { .name = "truncate", .ret_type = 1, .nargs = 2,
+         .args = { { Name | IN, 0 }, { Quad | IN, 1 + QUAD_ALIGN } } },
+       { .name = "ftruncate", .ret_type = 1, .nargs = 2,
+         .args = { { Int | IN, 0 }, { Quad | IN, 1 + QUAD_ALIGN } } },
        { .name = "kill", .ret_type = 1, .nargs = 2,
          .args = { { Int | IN, 0 }, { Signal | IN, 1 } } },
        { .name = "munmap", .ret_type = 1, .nargs = 2,