Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Oct 2015 17:28:07 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r288454 - head/usr.bin/truss
Message-ID:  <201510011728.t91HS7fo006633@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Thu Oct  1 17:28:07 2015
New Revision: 288454
URL: https://svnweb.freebsd.org/changeset/base/288454

Log:
  - Remove extra integer argument from truncate() and ftruncate().  This is
    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.

Modified:
  head/usr.bin/truss/syscalls.c

Modified: head/usr.bin/truss/syscalls.c
==============================================================================
--- head/usr.bin/truss/syscalls.c	Thu Oct  1 17:09:20 2015	(r288453)
+++ head/usr.bin/truss/syscalls.c	Thu Oct  1 17:28:07 2015	(r288454)
@@ -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,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201510011728.t91HS7fo006633>