summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhang Le <r0bertz@gentoo.org>2009-11-25 01:01:46 +0800
committerZhang Le <r0bertz@gentoo.org>2009-11-25 01:01:46 +0800
commit318568ec040b971ee86662b6a2a2f7594acf525c (patch)
treefd69f570d93eb661940db9adedaa3e1595015bed
parentbinutils: added latest patch (diff)
downloadloongson-318568ec040b971ee86662b6a2a2f7594acf525c.tar.gz
loongson-318568ec040b971ee86662b6a2a2f7594acf525c.tar.bz2
loongson-318568ec040b971ee86662b6a2a2f7594acf525c.zip
added strace
Signed-off-by: Zhang Le <r0bertz@gentoo.org>
-rw-r--r--dev-util/strace/ChangeLog493
-rw-r--r--dev-util/strace/Manifest18
-rw-r--r--dev-util/strace/files/strace-4.5.11-fbsd.patch181
-rw-r--r--dev-util/strace/files/strace-4.5.12-libaio.patch60
-rw-r--r--dev-util/strace/files/strace-4.5.15-invalid-time.patch21
-rw-r--r--dev-util/strace/files/strace-4.5.16-getdents-infinite-loop.patch26
-rw-r--r--dev-util/strace/files/strace-4.5.16-mips-syscallent.patch24
-rw-r--r--dev-util/strace/files/strace-4.5.16-sh-updates.patch282
-rw-r--r--dev-util/strace/files/strace-4.5.16-sparc-fix.patch154
-rw-r--r--dev-util/strace/files/strace-4.5.16-sparc-socketipc.patch189
-rw-r--r--dev-util/strace/files/strace-4.5.16-sparc-times.patch35
-rw-r--r--dev-util/strace/files/strace-4.5.16-sparc-updates.patch40
-rw-r--r--dev-util/strace/files/strace-4.5.18-arm-cache.patch15
-rw-r--r--dev-util/strace/files/strace-4.5.18-arm-syscalls.patch162
-rw-r--r--dev-util/strace/files/strace-4.5.19-mips-n32.patch11
-rw-r--r--dev-util/strace/files/strace-fix-arm-bad-syscall.patch20
-rw-r--r--dev-util/strace/metadata.xml8
-rw-r--r--dev-util/strace/strace-4.5.19.ebuild38
18 files changed, 1777 insertions, 0 deletions
diff --git a/dev-util/strace/ChangeLog b/dev-util/strace/ChangeLog
new file mode 100644
index 0000000..da0d29b
--- /dev/null
+++ b/dev-util/strace/ChangeLog
@@ -0,0 +1,493 @@
+# ChangeLog for dev-util/strace
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/strace/ChangeLog,v 1.135 2009/11/11 21:11:20 vapier Exp $
+
+ 11 Nov 2009; Mike Frysinger <vapier@gentoo.org> strace-4.5.19.ebuild:
+ Fix up USE=aio disabling #292362 by Alex HeadHunter Pyattaev.
+
+ 28 Oct 2009; Jeroen Roovers <jer@gentoo.org> strace-4.5.19.ebuild:
+ Stable for HPPA (bug #250631).
+
+*strace-4.5.19 (27 Oct 2009)
+
+ 27 Oct 2009; Mike Frysinger <vapier@gentoo.org> +strace-4.5.19.ebuild:
+ Version bump.
+
+ 30 May 2009; Mike Frysinger <vapier@gentoo.org> strace-4.5.18.ebuild,
+ +files/strace-4.5.18-arm-cache.patch:
+ Fix build failure on arm due to missing cachectl.h #266014 by Pinky.
+
+ 14 Feb 2009; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.18-arm-syscalls.patch, strace-4.5.18.ebuild:
+ Add changes from upstream for ARM #241168 #258987.
+
+ 22 Jan 2009; Jeroen Roovers <jer@gentoo.org> strace-4.5.18.ebuild:
+ Reverting to ~hppa (bug #250631, reopening bug #241168).
+
+ 11 Nov 2008; Raúl Porcel <armin76@gentoo.org> strace-4.5.18.ebuild:
+ Revert, since it seems to fail
+
+ 10 Nov 2008; Raúl Porcel <armin76@gentoo.org> strace-4.5.18.ebuild:
+ arm/sh stable
+
+ 14 Oct 2008; Brent Baude <ranger@gentoo.org> strace-4.5.18.ebuild:
+ stable ppc64, bug 241168
+
+ 13 Oct 2008; Raúl Porcel <armin76@gentoo.org> strace-4.5.18.ebuild:
+ alpha/ia64/x86 stable wrt #241168
+
+ 12 Oct 2008; nixnut <nixnut@gentoo.org> strace-4.5.18.ebuild:
+ Stable on ppc wrt bug 241168
+
+ 11 Oct 2008; Richard Freeman <rich0@gentoo.org> strace-4.5.18.ebuild:
+ amd64 stable - 241168
+
+ 11 Oct 2008; Jeroen Roovers <jer@gentoo.org> strace-4.5.18.ebuild:
+ Stable for HPPA (bug #241168).
+
+ 11 Oct 2008; Friedrich Oslage <bluebird@gentoo.org> strace-4.5.18.ebuild:
+ Stable on sparc, bug #241168
+
+*strace-4.5.18 (29 Aug 2008)
+
+ 29 Aug 2008; Mike Frysinger <vapier@gentoo.org> +strace-4.5.18.ebuild:
+ Version bump.
+
+*strace-4.5.17 (16 Aug 2008)
+
+ 16 Aug 2008; Mike Frysinger <vapier@gentoo.org> +strace-4.5.17.ebuild:
+ Version bump.
+
+ 29 Jun 2008; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.16-sparc-fix.patch,
+ +files/strace-4.5.16-sparc-socketipc.patch, strace-4.5.16-r1.ebuild:
+ Fix building on sparc with patches from Fedora #229229.
+
+ 09 Apr 2008; Raúl Porcel <armin76@gentoo.org> strace-4.5.16-r1.ebuild:
+ alpha/ia64/x86 stable
+
+ 22 Feb 2008; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.16-sparc-times.patch, strace-4.5.16-r1.ebuild:
+ Fix building on sparc with -O3 #204457.
+
+ 05 Feb 2008; Markus Rothe <corsair@gentoo.org> strace-4.5.16-r1.ebuild:
+ Stable on ppc64
+
+ 04 Feb 2008; Jeroen Roovers <jer@gentoo.org> strace-4.5.16-r1.ebuild:
+ Stable for HPPA too.
+
+ 21 Jan 2008; Samuli Suominen <drac@gentoo.org> strace-4.5.16-r1.ebuild:
+ amd64 stable.
+
+ 14 Jan 2008; Tobias Scherbaum <dertobi123@gentoo.org>
+ strace-4.5.16-r1.ebuild:
+ ppc. stable
+
+ 14 Jan 2008; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.16-getdents-infinite-loop.patch,
+ strace-4.5.16-r1.ebuild:
+ Break out of infinite loop from corrupt getdents structs.
+
+ 26 Dec 2007; Raúl Porcel <armin76@gentoo.org> strace-4.5.16-r1.ebuild:
+ sparc stable wrt #197398
+
+ 15 Dec 2007; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.16-sparc-updates.patch, strace-4.5.16-r1.ebuild:
+ Fixes from upstream for building on sparc #162789.
+
+ 02 Nov 2007; Steve Dibb <beandog@gentoo.org> strace-4.5.16.ebuild:
+ amd64 stable, bug 197398
+
+*strace-4.5.16-r1 (01 Nov 2007)
+
+ 01 Nov 2007; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.16-mips-syscallent.patch,
+ +files/strace-4.5.16-sh-updates.patch, +strace-4.5.16-r1.ebuild:
+ Updates for mips/sh.
+
+ 30 Oct 2007; Markus Rothe <corsair@gentoo.org> strace-4.5.16.ebuild:
+ Stable on ppc64; bug #197398
+
+ 30 Oct 2007; nixnut <nixnut@gentoo.org> strace-4.5.16.ebuild:
+ Stable on ppc wrt bug 197398
+
+ 30 Oct 2007; Raúl Porcel <armin76@gentoo.org> strace-4.5.16.ebuild:
+ alpha/ia64 stable wrt #197398
+
+ 30 Oct 2007; Jeroen Roovers <jer@gentoo.org> strace-4.5.16.ebuild:
+ Stable for HPPA (bug #197398).
+
+ 29 Oct 2007; Dawid Węgliński <cla@gentoo.org> strace-4.5.16.ebuild:
+ Stable on x86 (bug #197398)
+
+ 30 Sep 2007; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.15-sh-SYS_ipc_subcall.patch, strace-4.5.15.ebuild,
+ strace-4.5.15-r1.ebuild, strace-4.5.16.ebuild:
+ Fix building on SuperH due to new ipc syscall check.
+
+ 04 Aug 2007; Tobias Scherbaum <dertobi123@gentoo.org>
+ strace-4.5.15.ebuild:
+ ppc stable, bug #187104
+
+*strace-4.5.16 (03 Aug 2007)
+
+ 03 Aug 2007; Mike Frysinger <vapier@gentoo.org> +strace-4.5.16.ebuild:
+ Version bump.
+
+ 31 Jul 2007; Christoph Mende <angelos@gentoo.org> strace-4.5.15.ebuild:
+ Stable on amd64 wrt bug #187104
+
+ 30 Jul 2007; Jeroen Roovers <jer@gentoo.org> strace-4.5.15.ebuild:
+ Stable for HPPA (bug #187104).
+
+ 30 Jul 2007; Markus Rothe <corsair@gentoo.org> strace-4.5.15.ebuild:
+ Stable on ppc64; bug #187104
+
+*strace-4.5.15-r1 (30 Jul 2007)
+
+ 30 Jul 2007; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.15-invalid-time.patch, +strace-4.5.15-r1.ebuild:
+ Fix from Harald van Dijk for crash when given localtime() returns a NULL
+ pointer #186369.
+
+ 28 Jul 2007; Raúl Porcel <armin76@gentoo.org> strace-4.5.15.ebuild:
+ alpha/ia64/x86 stable
+
+ 19 Feb 2007; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.15-mips-sprintsigmask.patch, strace-4.5.15.ebuild:
+ Fix building on mips due to updated sprintsigmask().
+
+*strace-4.5.15 (17 Jan 2007)
+
+ 17 Jan 2007; Mike Frysinger <vapier@gentoo.org> +strace-4.5.15.ebuild:
+ Version bump.
+
+ 02 Dec 2006; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.14-CTL_PROC.patch, strace-4.5.14.ebuild:
+ Fix building with 2.6.18+ headers #150907 by Mario Fetka.
+
+ 05 Oct 2006; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.14-PT_GETSIGINFO.patch, strace-4.5.14.ebuild:
+ Fix building with newer glibcs #149945 by Alexander Jenisch.
+
+ 12 Jul 2006; Aron Griffis <agriffis@gentoo.org> strace-4.5.14.ebuild:
+ Mark 4.5.14 stable on ia64. #137914
+
+ 09 Jul 2006; Joshua Kinard <kumba@gentoo.org> strace-4.5.14.ebuild:
+ Marked stable on mips.
+
+ 29 Jun 2006; Jose Luis Rivero <yoswink@gentoo.org> strace-4.5.14.ebuild:
+ Stable on alpha wrt bug #137914
+
+ 26 Jun 2006; Andrej Kacian <ticho@gentoo.org> strace-4.5.14.ebuild:
+ Stable on x86, bug #137914.
+
+ 25 Jun 2006; Christian Birchinger <joker@gentoo.org> strace-4.5.14.ebuild:
+ Added sparc stable keyword
+
+ 25 Jun 2006; Guy Martin <gmsoft@gentoo.org> strace-4.5.14.ebuild:
+ Stable on hppa.
+
+ 25 Jun 2006; Marcus D. Hanwell <cryos@gentoo.org> strace-4.5.14.ebuild:
+ Marked stable on amd64, bug 137914.
+
+ 25 Jun 2006; Tobias Scherbaum <dertobi123@gentoo.org>
+ strace-4.5.14.ebuild:
+ ppc stable, bug #137914
+
+ 25 Jun 2006; Markus Rothe <corsair@gentoo.org> strace-4.5.14.ebuild:
+ Stable on ppc64; bug #137914
+
+ 11 Jun 2006; Simon Stelling <blubb@gentoo.org> strace-4.5.12.ebuild:
+ stable on amd64
+
+ 25 May 2006; Guy Martin <gmsoft@gentoo.org> strace-4.5.12.ebuild:
+ Stable on hppa.
+
+ 21 May 2006; Markus Rothe <corsair@gentoo.org> strace-4.5.12.ebuild:
+ Stable on ppc64; now realy..
+
+ 11 May 2006; Michael Sterrett <mr_bones_@gentoo.org> strace-4.5.12.ebuild:
+ ppc64 needs dev-libs/libaio first
+
+ 08 May 2006; Markus Rothe <corsair@gentoo.org> strace-4.5.12.ebuild:
+ Stable on ppc64
+
+ 06 May 2006; Mark Loeser <halcy0n@gentoo.org> strace-4.5.12.ebuild:
+ Stable on x86
+
+ 02 May 2006; Gustavo Zacarias <gustavoz@gentoo.org> strace-4.5.12.ebuild:
+ Stable on sparc
+
+ 23 Mar 2006; Emanuele Giaquinta <exg@gentoo.org> strace-4.5.12.ebuild:
+ Stable on ppc.
+
+ 06 Feb 2006; Aron Griffis <agriffis@gentoo.org> strace-4.5.12.ebuild:
+ Mark 4.5.12 stable on alpha
+
+ 04 Feb 2006; Aron Griffis <agriffis@gentoo.org> strace-4.5.12.ebuild:
+ Mark 4.5.12 stable on ia64
+
+*strace-4.5.14 (18 Jan 2006)
+
+ 18 Jan 2006; Mike Frysinger <vapier@gentoo.org> +strace-4.5.14.ebuild:
+ Version bump.
+
+ 07 Jan 2006; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-fix-arm-bad-syscall.patch, strace-4.5.12.ebuild:
+ Add a patch to follow fake arm syscalls.
+
+ 20 Nov 2005; Mike Frysinger <vapier@gentoo.org>
+ files/strace-4.5.12-libaio.patch, strace-4.5.12.ebuild:
+ Update libaio patch to work with both old and new versions #103427.
+
+ 16 Sep 2005; Ciaran McCreesh <ciaranm@gentoo.org> ChangeLog:
+ Converted to UTF-8, fixed encoding screwups
+
+ 24 Aug 2005; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.12-libaio.patch, strace-4.5.12.ebuild:
+ Fix up libaio support #103427 by Mathieu Seigneurin.
+
+ 18 Aug 2005; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.12-quota.patch, strace-4.5.12.ebuild:
+ Fix building with newer glibc snapshots with a patch from upstream cvs
+ #102080 by Alexey Maximov/Hanno Meyer-Thurow/Mark Loeser.
+
+*strace-4.5.12 (12 Aug 2005)
+
+ 12 Aug 2005; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-dont-use-REG_SYSCALL-for-sh.patch,
+ +files/strace-superh-update.patch, +files/strace-undef-syscall.patch,
+ +strace-4.5.12.ebuild:
+ Version bump and fix SuperH support.
+
+ 29 Jun 2005; Joshua Kinard <kumba@gentoo.org> strace-4.5.11.ebuild:
+ Marked stable on mips.
+
+ 28 May 2005; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.5.11-alpha-stat64.patch, strace-4.5.11.ebuild:
+ Add a temp workaround to alpha stat64 issues.
+
+*strace-4.5.11 (24 May 2005)
+
+ 24 May 2005; Mike Frysinger <vapier@gentoo.org> +strace-4.5.11.ebuild:
+ Version bump #93657 by Diego Pettenò.
+
+ 08 Apr 2005; Markus Rothe <corsair@gentoo.org> strace-4.5.9.ebuild:
+ Stable on ppc64
+
+ 30 Mar 2005; Michael Hanselmann <hansmi@gentoo.org> strace-4.5.9.ebuild:
+ Stable on ppc.
+
+ 21 Mar 2005; Guy Martin <gmsoft@gentoo.org> strace-4.5.9.ebuild:
+ Stable on hppa.
+
+ 17 Mar 2005; Marcus D. Hanwell <cryos@gentoo.org> strace-4.5.9.ebuild:
+ Marked stable on amd64.
+
+ 14 Mar 2005; Gustavo Zacarias <gustavoz@gentoo.org> strace-4.5.9.ebuild:
+ Stable on sparc
+
+ 13 Mar 2005; Aron Griffis <agriffis@gentoo.org> strace-4.5.9.ebuild:
+ Stable on alpha and x86
+
+*strace-4.5.9 (11 Feb 2005)
+
+ 11 Feb 2005; Mike Frysinger <vapier@gentoo.org> +strace-4.5.9.ebuild:
+ Version bump.
+
+ 08 Feb 2005; Aron Griffis <agriffis@gentoo.org> strace-4.5.8.ebuild:
+ more ia64 fixes for building against linux26-headers-2.6.8.1-r2
+
+ 08 Feb 2005; Aron Griffis <agriffis@gentoo.org>
+ +files/strace-4.5.8-ia64.patch, strace-4.5.8.ebuild:
+ add ia64 patch and mark stable on ia64
+
+ 05 Feb 2005; Michael Hanselmann <hansmi@gentoo.org> strace-4.5.7.ebuild:
+ Stable on ppc.
+
+ 31 Dec 2004; Ciaran McCreesh <ciaranm@gentoo.org> :
+ Change encoding to UTF-8 for GLEP 31 compliance
+
+ 19 Dec 2004; Bryan Østergaard <kloeri@gentoo.org> strace-4.5.7.ebuild:
+ Stable on alpha.
+
+ 16 Dec 2004; Dylan Carlson <absinthe@gentoo.org> strace-4.5.7.ebuild:
+ Stable on amd64.
+
+ 26 Nov 2004; Jeremy Huddleston <eradicator@gentoo.org>
+ strace-4.5.8.ebuild:
+ -sparc.
+
+ 23 Nov 2004; Gustavo Zacarias <gustavoz@gentoo.org> strace-4.5.7.ebuild:
+ Stable on sparc
+
+*strace-4.5.8 (21 Nov 2004)
+
+ 21 Nov 2004; Mike Frysinger <vapier@gentoo.org>
+ +strace-4.5.8.ebuild:
+ Version bump #71696.
+
+*strace-4.5.7 (21 Sep 2004)
+
+ 22 Sep 2004; Danny van Dyk <kugelfang@gentoo.org> +strace-4.5.2.ebuild,
+ +files/strace-4.5.2-s390-april2004.diff:
+ Added strace-4.5.2 with s390 patches. This is the recommended version
+ in s390 acc. to Stream April 2004 and has been marked s390.
+
+ 21 Sep 2004; Mike Frysinger <vapier@gentoo.org> +strace-4.5.7.ebuild:
+ Version bump.
+
+ 07 Aug 2004; Tom Martin <slarti@gentoo.org> strace-4.4.94.ebuild:
+ Typo in DESCRIPTION: usefull -> useful. Bug 59717.
+
+ 05 Aug 2004; Mike Frysinger <vapier@gentoo.org> :
+ Version bump.
+
+ 01 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> strace-4.4.94.ebuild,
+ strace-4.4.98-r1.ebuild, strace-4.4.98.ebuild, strace-4.5.1.ebuild,
+ strace-4.5.ebuild:
+ virtual/glibc -> virtual/libc
+
+ 05 Jun 2004; <tuxus@gentoo.org> strace-4.4.98-r1.ebuild,
+ strace-4.4.98.ebuild:
+ Change ~mips -mips
+
+ 04 Jun 2004; Bryan Østergaard <kloeri@gentoo.org> strace-4.5.1.ebuild:
+ Stable on alpha.
+
+ 15 May 2004; Joshua Kinard <kumba@gentoo.org> strace-4.5.1.ebuild:
+ Marked stable on mips.
+
+ 06 May 2004; Gustavo Zacarias <gustavoz@gentoo.org> strace-4.5.1.ebuild:
+ Stable on sparc
+
+ 28 Apr 2004; Jon Portnoy <avenj@gentoo.org> strace-4.5.1.ebuild :
+ Stable on x86 and AMD64.
+
+*strace-4.4.98-r1 (18 Apr 2004)
+
+ 18 Apr 2004; Michael McCabe <randy@gentoo.org> +strace-4.4.98-r1.ebuild:
+ Added s390 specific fix to close bug 47916 and added s390 keyword
+
+*strace-4.4.98-r1 18 Apr 2004
+
+ 18 Apr 2004; <>
+ # INSERT ENTRY HERE
+
+ 16 Feb 2004; <tgall@gentoo.org> strace-4.5.1.ebuild:
+ Move to ppc64 stable
+
+ 05 Feb 2004; <tuxus@gentoo.org> strace-4.5.ebuild:
+ Move to mips stable
+
+ 12 Jan 2004; <gustavoz@gentoo.org> strace-4.5.1.ebuild:
+ patch exclusion for sparc, it's b0rked
+
+ 08 Jan 2004; Martin Holzer <mholzer@gentoo.org> strace-4.4.98.ebuild:
+ adding IUSE for static. Closes 36082
+
+ 28 Dec 2003; Joshua Kinard <kumba@gentoo.org> strace-4.4.98.ebuild:
+ Move to mips stable (~mips -> mips)
+
+ 25 Dec 2003; <plasmaroo@gentoo.org> strace-4.5.1.ebuild,
+ files/strace-4.5.1-2.6.patch:
+ Added a patch allowing strace to compile successfully on 2.6 kernels.
+
+*strace-4.5.1 (18 Nov 2003)
+
+ 18 Nov 2003; Martin Holzer <mholzer@gentoo.org> strace-4.5.1.ebuild:
+ Version bumped.
+
+ 28 Oct 2003; Chris PeBenito <pebenito@gentoo.org> strace-4.4-r1.ebuild:
+ Remove unneeded SELinux patch.
+
+ 22 Oct 2003; Bartosch Pixa <darkspecter@gentoo.org> strace-4.4.98.ebuild:
+ set ppc in keywords
+
+*strace-4.5 (25 Sep 2003)
+
+ 25 Sep 2003; Martin Holzer <mholzer@gentoo.org> strace-4.5.ebuild:
+ Version bumped.
+
+ 15 Jul 2003; Christian Birchinger <joker@gentoo.org> strace-4.4.98.ebuild:
+ Added sparc stable keyword
+
+ 13 Jun 2003; <msterret@gentoo.org> strace-4.4.93.ebuild,
+ strace-4.4.94.ebuild, strace-4.4.98.ebuild, strace-4.4.ebuild:
+ added IUSE
+
+*strace-4.4.98 (12 Jun 2003)
+
+ 04 Aug 2003; Guy Martin <gmsoft@gentoo.org> strace-4.4.98.ebuild :
+ Marked stable on hppa.
+
+ 12 Jun 2003; <msterret@gentoo.org> strace-4.4.98.ebuild:
+ version bump as per Bug 22718
+
+*strace-4.4.94 (03 Apr 2003)
+
+ 03 Apr 2003; Martin Holzer <mholzer@gentoo.org> strace-4.4.94.ebuild:
+ Version bumped. Closes #18668.
+
+*strace-4.4.93 (16 Feb 2003)
+
+ 03 Apr 2003; Martin Holzer <mholzer@gentoo.org> strace-4.4.93.ebuild:
+ Updated SRC_URI
+
+ 22 Feb 2003; Aron Griffis <agriffis@gentoo.org> strace-4.4.93.ebuild :
+ Mark stable on alpha
+
+ 16 Feb 2003; Jan Seidel <tuxus@gentoo.org> strace-4.4.93.ebuild :
+ Added mips to keywords
+
+ 14 Feb 2003; Guy Martin <gmsoft@gentoo.org> strace-4.4-r1.ebuild :
+ Added -DHPPA for gcc on hppa. Added hppa to keywords.
+
+*strace-4.4-r1 (31 Dec 2002)
+
+ 30 Mar 2003; Christian Birchinger <joker@gentoo.org> strace-4.4-r1.ebuild:
+ Added sparc stable keyword
+
+ 23 Mar 2003; Joshua Brindle <method@gentoo.org> strace-4.4-r1.ebuild:
+ added selinux support, thanks pebenito
+
+ 22 Mar 2003; Zach Welch <zwelch@gentoo.org> strace-4.4-r1.ebuild,
+ files/strace-4.4-arm-configure.patch, files/strace-4.4-arm.patch:
+ add ARM patches for strace
+
+ 31 Dec 2002; Mike Frysinger <vapier@gentoo.org> :
+ Added support for static.
+
+*strace-4.4 (27 Apr 2002)
+
+ 26 Sep 2002; Mike Frysinger <vapier@gentoo.org> :
+ Updated SRC_URI to mirror: and added alpha to KEYWORDS
+
+ 27 Aug 2002; Maarten Thibaut <murphy@gentoo.org> strace-4.4.ebuild :
+
+ Added sparc and sparc64 to keywords.
+ Bugfix for sparc and sparc64 where emerge would fail if the "-O3" option
+ were present in CFLAGS.
+
+ 01 Aug 2002; Mark Guertin <gerk@gentoo.org> strace-4.4.ebuild :
+
+ Added ppc to keywords
+
+ 17 May 2002; Bruce A. Locke <blocke@shivan.org> strace-4.4.ebuild :
+
+ SourceForge mirror change and general ebuild cleanup
+
+ 27 Apr 2002; Jon Nelson <jnelson@gentoo.org> ChangeLog :
+
+ Updated to 4.4
+
+*strace-4.3 (1 Feb 2002)
+
+ 1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog :
+
+ Added initial ChangeLog which should be updated whenever the package is
+ updated in any way. This changelog is targetted to users. This means that the
+ comments should well explained and written in clean English. The details about
+ writing correct changelogs are explained in the skel.ChangeLog file which you
+ can find in the root directory of the portage repository.
diff --git a/dev-util/strace/Manifest b/dev-util/strace/Manifest
new file mode 100644
index 0000000..5c6d653
--- /dev/null
+++ b/dev-util/strace/Manifest
@@ -0,0 +1,18 @@
+AUX strace-4.5.11-fbsd.patch 4767 RMD160 aa04c24f5dc8dd6baee0286e1901f31aee54f10a SHA1 9f97462ca68cf73cbf21c78a702c1d47525d73b5 SHA256 15e78c360ab72210b2e168d50e80b88e0188c149364545c9ff3f06d6b3b6f1fb
+AUX strace-4.5.12-libaio.patch 1552 RMD160 d4084416ed298ae07ea672569d04a22feb2f9188 SHA1 eec055eacba686d98bd36556be28eca96596b995 SHA256 6ea8fe265b9161ca708aa3b5fd31eee4584b9c7fcf829dcd8624a965fb048a78
+AUX strace-4.5.15-invalid-time.patch 546 RMD160 020f1dfca6ce14754c8dbb868d1c6ee76781f57f SHA1 1d5ee81ed7b67eaf703b95feb0252aa4166e1495 SHA256 629667aa905d69e69f938422107b4304aa6e8861752cde4756a884b3c8e5a4e7
+AUX strace-4.5.16-getdents-infinite-loop.patch 532 RMD160 c11ee44dfe3ffec644a274d9a6987edee5f68307 SHA1 cd7b9ed62c45a9fd10681daec1b2ad5467d28ea6 SHA256 de23eaf0b19f84187576135066365abee2fda81eb78d94ca49afd4a5fb0f8e93
+AUX strace-4.5.16-mips-syscallent.patch 1228 RMD160 5c394a686b7056c73a067f7bad5a3b364d46eb00 SHA1 3b7966c47c07670d675a9f7dd6021d300cd5e50a SHA256 759ab03adf5ff56260255733e863a9211634d8476f68ce679f70928215258c3f
+AUX strace-4.5.16-sh-updates.patch 12817 RMD160 e017dac383315c3d7d86f7644900d9598388bd9e SHA1 366669000fe348c77154bf609dc31b22718b056c SHA256 e9af8c2432472d90a4773cf021e13bdfc35cdc73d524dbb32fec967c55cc82bc
+AUX strace-4.5.16-sparc-fix.patch 7060 RMD160 25b696d52cda491616e89319b767f0445cb434f5 SHA1 4200a8ed53be1d11d75995b27472180b8ee79827 SHA256 025e2e9f0cd5c04109a586002700707bfdfb6c2f349c9a20ed803602d6120da9
+AUX strace-4.5.16-sparc-socketipc.patch 7361 RMD160 dc4e777eb0f8587fe92aaa1437f99ad38dee30f6 SHA1 83dd4967b28707500c4ac7f13f522aa453af6d4f SHA256 06cddf176f7688c969bff7d93a167f2d2ff3dd6dfa02ae694d50f01a99be6ea3
+AUX strace-4.5.16-sparc-times.patch 1479 RMD160 0c860369811d7edaad43dab266048d93f678c6f2 SHA1 6ebef31b30059c72686875b18bc95f21a75fccd3 SHA256 d61a7bef36b1be338cc53012856c934014ed6d9fa0f1fce1c4dc94b8fad5be0a
+AUX strace-4.5.16-sparc-updates.patch 1598 RMD160 1995fc8709bef1e957565f109dd5d04eb0d1e7d6 SHA1 48e837785a9c7a90f89603335a93ceb8b0f5f8ad SHA256 3f5dc7985b2f16988d4251421404abc7acb0ecb3d5741a39670a5964468bc2e0
+AUX strace-4.5.18-arm-cache.patch 287 RMD160 fa40d4b52b1e7a78bee7ca89e5a20f986cceb9b7 SHA1 5d00a896da38ae7104e817e87f30a0992cca3754 SHA256 15bbc28919097594c12316a4802123d2456aec29f0372c236820c2309046eaa7
+AUX strace-4.5.18-arm-syscalls.patch 6881 RMD160 e6476e2a98578b78c07ec999f71cf8de63370484 SHA1 8adec60ac5ef57387908d0f8255f97d7143b3f13 SHA256 94986f0ca348e71fc067b2ff71114a1fb70606e22b10427c048ffc04209ef149
+AUX strace-4.5.19-mips-n32.patch 378 RMD160 ce99e16c7bbee015b66a93d7bf52269dec7c75a9 SHA1 5f458a5f44748292cd7417f5b04e28f030662ff2 SHA256 1310baa57ceec80908da2e4f9084adece993faa5a27bc1d4f514189a086c753d
+AUX strace-fix-arm-bad-syscall.patch 560 RMD160 56cbe4c575118f78efa40abc7fc84852e30d502c SHA1 d9c4a8687cff9d68ebf892880073bc5585dd87e7 SHA256 b7f57f8fc46af991046e87a6afd2468f337f4ba42f8b4a78fdb8278c47b92aa9
+DIST strace-4.5.19.tar.bz2 499565 RMD160 6083c170d51f7218a6a997f26017881da06ffa65 SHA1 5554c2fd8ffae5c1e2b289b2024aa85a0889c989 SHA256 8997ce919e971b0ec45cd7006c6e1f9c7c0bce68ab59e3a629e1ddeda5013d08
+EBUILD strace-4.5.19.ebuild 1005 RMD160 c4d14087925d845da3ded0a3223c7c8b1e644197 SHA1 739c144ce39bef053a3e63dcb77f64ff231c6b70 SHA256 3551a348e2e8433257cc3399d9572d474121fc05e778ce1784a1857108c46109
+MISC ChangeLog 16427 RMD160 009a906dbd020bf91c6a1e5440765835ba73c123 SHA1 fba9147ab3cb4259f041afbf35a47b9075a19de6 SHA256 98605436bcc4c3772b221142221793d24204da2310383f384c110c58bb415411
+MISC metadata.xml 233 RMD160 a47b790cac786bc2f0113e285624754d993ff24a SHA1 a469acfc84253e985986c68afdc4f041506b8f80 SHA256 19ca9ce37dba257ea5593fe398ccf0c7dfdad973abd549dde5cd2d2d4dff9423
diff --git a/dev-util/strace/files/strace-4.5.11-fbsd.patch b/dev-util/strace/files/strace-4.5.11-fbsd.patch
new file mode 100644
index 0000000..1c1e31f
--- /dev/null
+++ b/dev-util/strace/files/strace-4.5.11-fbsd.patch
@@ -0,0 +1,181 @@
+Add support for FreeBSD.
+
+Patch by Piego Pettenò
+
+http://bugs.gentoo.org/93657
+
+--- strace-4.5.11/configure.ac
++++ strace-4.5.11/configure.ac
+@@ -192,16 +192,24 @@
+ fi
+
+ AC_CHECK_FUNCS(sigaction strerror strsignal pread sys_siglist _sys_siglist getdents mctl prctl sendmsg inet_ntop if_indextoname)
+-AC_CHECK_HEADERS([sys/reg.h sys/filio.h sys/acl.h sys/asynch.h sys/door.h stropts.h sys/conf.h sys/stream.h sys/tihdr.h sys/tiuser.h sys/sysconfig.h ioctls.h sys/ioctl.h sys/ptrace.h termio.h linux/ptrace.h asm/reg.h sys/uio.h sys/aio.h poll.h sys/poll.h sys/vfs.h asm/sysmips.h linux/utsname.h sys/nscsys.h mqueue.h sys/epoll.h], [], [])
++AC_CHECK_HEADERS([sys/reg.h sys/filio.h sys/acl.h sys/asynch.h sys/door.h stropts.h sys/conf.h sys/stream.h sys/tihdr.h sys/tiuser.h sys/sysconfig.h ioctls.h sys/ioctl.h sys/ptrace.h termio.h linux/ptrace.h asm/reg.h sys/uio.h sys/aio.h poll.h sys/poll.h sys/vfs.h asm/sysmips.h linux/utsname.h sys/nscsys.h mqueue.h sys/epoll.h sys/param.h], [], [])
+ AC_CHECK_HEADERS([linux/icmp.h linux/in6.h linux/netlink.h linux/if_packet.h],
+ [], [], [#include <linux/socket.h>])
+ AC_CHECK_HEADERS([asm/sigcontext.h], [], [], [#include <signal.h>])
+-AC_CHECK_HEADERS([netinet/tcp.h netinet/udp.h],,, [#include <netinet/in.h>])
++AC_CHECK_HEADERS([netinet/tcp.h netinet/udp.h],,,
++[#include <sys/types.h>
++#include <netinet/in.h>])
++
++AC_CHECK_HEADERS([sys/mount.h],,,
++[#include <sys/types.h>
++#include <sys/param.h>])
+
+ AC_MP_PROCFS
+ AC_POLLABLE_PROCFS
+
+-AC_CHECK_MEMBERS([struct msghdr.msg_control],,, [#include <sys/socket.h>])
++AC_CHECK_MEMBERS([struct msghdr.msg_control],,,
++[#include <sys/types.h>
++#include <sys/socket.h>])
+ AC_STRUCT_PR_SYSCALL
+
+ AC_CHECK_MEMBERS([struct T_conn_res.QUEUE_ptr,
+@@ -209,6 +217,19 @@
+ [#include <sys/stream.h>
+ #include <sys/tihdr.h>])
+
++AC_CHECK_MEMBERS([struct fsid.val,
++ struct fsid.__val],,,
++[#include <sys/types.h>
++#ifdef HAVE_SYS_PARAM_H
++# include <sys/param.h>
++#endif
++#ifdef HAVE_SYS_VFS_H
++# include <sys/vfs.h>
++#endif
++#ifdef HAVE_SYS_MOUNT_H
++# include <sys/mount.h>
++#endif])
++
+ AC_CHECK_TYPES([struct __old_kernel_stat],,, [#include <asm/stat.h>])
+
+ AC_CHECK_TYPES([struct pt_all_user_regs, struct ia64_fpreg],,,
+--- strace-4.5.11/file.c
++++ strace-4.5.11/file.c
+@@ -200,6 +200,10 @@
+ #include <ustat.h>
+ #endif
+
++#if defined(HAVE_STRUCT_FSID_VAL) && ! defined(HAVE_STRUCT_FSID___VAL)
++#define __val val
++#endif
++
+ /*
+ * This is a really dirty trick but it should always work. Traditional
+ * Unix says r/w/rw are 0/1/2, so we make them true flags 1/2/3 by
+@@ -2495,6 +2499,8 @@
+ }
+
+
++#ifdef LINUX
++
+ static const struct xlat advise[] = {
+ { POSIX_FADV_NORMAL, "POSIX_FADV_NORMAL" },
+ { POSIX_FADV_RANDOM, "POSIX_FADV_RANDOM" },
+@@ -2506,7 +2512,6 @@
+ };
+
+
+-#ifdef LINUX
+ int
+ sys_fadvise64(tcp)
+ struct tcb *tcp;
+@@ -2524,7 +2529,6 @@
+ }
+ return 0;
+ }
+-#endif
+
+
+ int
+@@ -2545,3 +2549,5 @@
+ }
+ return 0;
+ }
++
++#endif
+--- strace-4.5.11/net.c
++++ strace-4.5.11/net.c
+@@ -1112,6 +1112,7 @@
+ tprintf("}}");
+ return;
+ }
++#ifdef SCM_CREDENTIALS
+ if (u.cmsg.cmsg_type == SCM_CREDENTIALS
+ && CMSG_LEN(sizeof(struct ucred)) <= u.cmsg.cmsg_len) {
+ struct ucred *uc = (struct ucred *) CMSG_DATA (&u.cmsg);
+@@ -1119,6 +1120,7 @@
+ (long)uc->pid, (long)uc->uid, (long)uc->gid);
+ return;
+ }
++#endif
+ }
+ tprintf(", ...}");
+ }
+--- strace-4.5.11/sock.c
++++ strace-4.5.11/sock.c
+@@ -46,6 +46,7 @@
+ #endif
+ #endif
+ #include <net/if.h>
++#include <netinet/in.h>
+
+ extern const struct xlat addrfams[];
+
+@@ -55,16 +56,26 @@
+ { IFF_DEBUG, "IFF_DEBUG" },
+ { IFF_LOOPBACK, "IFF_LOOPBACK" },
+ { IFF_POINTOPOINT, "IFF_POINTOPOINT" },
++#ifdef IFF_NOTRAILERS
+ { IFF_NOTRAILERS, "IFF_NOTRAILERS" },
++#endif
+ { IFF_RUNNING, "IFF_RUNNING" },
+ { IFF_NOARP, "IFF_NOARP" },
+ { IFF_PROMISC, "IFF_PROMISC" },
+ { IFF_ALLMULTI, "IFF_ALLMULTI" },
++#ifdef IFF_MASTER
+ { IFF_MASTER, "IFF_MASTER" },
++#endif
++#ifdef IFF_SLAVE
+ { IFF_SLAVE, "IFF_SLAVE" },
++#endif
+ { IFF_MULTICAST, "IFF_MULTICAST" },
++#ifdef IFF_PORTSEL
+ { IFF_PORTSEL, "IFF_PORTSEL" },
++#endif
++#ifdef IFF_AUTOMEDIA
+ { IFF_AUTOMEDIA, "IFF_AUTOMEDIA" },
++#endif
+ { 0, NULL }
+ };
+
+--- strace-4.5.11/strace.c
++++ strace-4.5.11/strace.c
+@@ -617,6 +617,23 @@
+ cleanup();
+ exit(1);
+ }
++#ifdef FREEBSD
++ {
++ int status;
++ pid_t err;
++
++ do {
++ err = waitpid(pid, &status, WUNTRACED);
++ } while (err == -1 && errno == EINTR);
++ if (err == -1) {
++ fprintf(stderr,
++ "waitpid() failed: %s\n",
++ strerror(errno));
++ cleanup();
++ exit(1);
++ }
++ }
++#endif
+ #ifdef USE_PROCFS
+ if (proc_open(tcp, 0) < 0) {
+ fprintf(stderr, "trouble opening proc file\n");
diff --git a/dev-util/strace/files/strace-4.5.12-libaio.patch b/dev-util/strace/files/strace-4.5.12-libaio.patch
new file mode 100644
index 0000000..e24d3c3
--- /dev/null
+++ b/dev-util/strace/files/strace-4.5.12-libaio.patch
@@ -0,0 +1,60 @@
+Make libaio support a proper option and update the checks to support
+both new and old versions of libaio.
+
+http://bugs.gentoo.org/103427
+
+--- strace/configure.ac
++++ strace/configure.ac
+@@ -170,6 +170,26 @@
+ struct stat.st_rdev])
+ AC_STAT64
+
++AC_ARG_ENABLE(libaio,
++ AC_HELP_STRING([--enable-libaio],[enable support for libaio @<:@default=auto@:>@]),
++ [enable_libaio=$enableval],
++ [enable_libaio=auto]
++)
++if test "x$enable_libaio" != "xno" ; then
++ AC_CHECK_HEADER([libaio.h],[have_libaio=yes],[have_libaio=no])
++ if test "x$enable_libaio$have_libaio" = "xyesno" ; then
++ AC_MSG_ERROR(Could not detect libaio.h)
++ elif test "x$have_libaio" = "xyes" ; then
++ AC_DEFINE(HAVE_LIBAIO_H, 1, [System has libaio.h])
++ AC_CHECK_MEMBERS([
++ struct iocb.data,
++ struct iocb.aio_data,
++ struct iocb.key,
++ struct iocb.aio_key],
++ [], [], [#include <libaio.h>])
++ fi
++fi
++
+ AC_TYPE_SIGNAL
+ AC_TYPE_UID_T
+ AC_TYPE_MODE_T
+--- strace/desc.c
++++ strace/desc.c
+@@ -767,7 +767,11 @@
+ continue;
+ }
+ tprintf("{%p, %u, %hu, %hu, %d}",
++#ifdef HAVE_STRUCT_IOCB_AIO_DATA
++ iocb.aio_data, iocb.aio_data,
++#else
+ iocb.data, iocb.key,
++#endif
+ iocb.aio_lio_opcode,
+ iocb.aio_reqprio, iocb.aio_fildes);
+ }
+@@ -793,7 +797,11 @@
+ #ifdef HAVE_LIBAIO_H
+ if (umove(tcp, tcp->u_arg[1], &iocb) == 0) {
+ tprintf("{%p, %u, %hu, %hu, %d}, ",
++#ifdef HAVE_STRUCT_IOCB_AIO_DATA
++ iocb.aio_data, iocb.aio_data,
++#else
+ iocb.data, iocb.key,
++#endif
+ iocb.aio_lio_opcode,
+ iocb.aio_reqprio, iocb.aio_fildes);
+ } else
diff --git a/dev-util/strace/files/strace-4.5.15-invalid-time.patch b/dev-util/strace/files/strace-4.5.15-invalid-time.patch
new file mode 100644
index 0000000..895add8
--- /dev/null
+++ b/dev-util/strace/files/strace-4.5.15-invalid-time.patch
@@ -0,0 +1,21 @@
+http://bugs.gentoo.org/186369
+
+--- strace-4.5.15/file.c
++++ strace-4.5.15/file.c
+@@ -684,9 +684,13 @@
+ return buf;
+ }
+ tmp = localtime(&t);
+- sprintf(buf, "%02d/%02d/%02d-%02d:%02d:%02d",
+- tmp->tm_year + 1900, tmp->tm_mon + 1, tmp->tm_mday,
+- tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
++ if (tmp == NULL)
++ snprintf(buf, sizeof buf, "%lu",
++ (unsigned long) t);
++ else
++ sprintf(buf, "%02d/%02d/%02d-%02d:%02d:%02d",
++ tmp->tm_year + 1900, tmp->tm_mon + 1, tmp->tm_mday,
++ tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
+ return buf;
+ }
+
diff --git a/dev-util/strace/files/strace-4.5.16-getdents-infinite-loop.patch b/dev-util/strace/files/strace-4.5.16-getdents-infinite-loop.patch
new file mode 100644
index 0000000..20bdcdf
--- /dev/null
+++ b/dev-util/strace/files/strace-4.5.16-getdents-infinite-loop.patch
@@ -0,0 +1,26 @@
+if the getdents struct is corrupt, strace will loop forever
+
+--- strace/file.c
++++ strace/file.c
+@@ -2414,6 +2414,10 @@ struct tcb *tcp;
+ #endif /* SUNOS4 */
+ i += d->d_reclen;
+ dents++;
++ if (!d->d_reclen) {
++ fprintf(stderr, "[error: d->d_reclen == 0] ");
++ break;
++ }
+ }
+ if (!abbrev(tcp))
+ tprintf("}");
+@@ -2466,6 +2470,10 @@ struct tcb * tcp;
+ }
+ i += d->d_reclen;
+ dents++;
++ if (!d->d_reclen) {
++ fprintf(stderr, "[error: d->d_reclen == 0] ");
++ break;
++ }
+ }
+ if (!abbrev(tcp))
+ tprintf("}");
diff --git a/dev-util/strace/files/strace-4.5.16-mips-syscallent.patch b/dev-util/strace/files/strace-4.5.16-mips-syscallent.patch
new file mode 100644
index 0000000..71cb76d
--- /dev/null
+++ b/dev-util/strace/files/strace-4.5.16-mips-syscallent.patch
@@ -0,0 +1,24 @@
+Index: linux/mips/syscallent.h
+===================================================================
+RCS file: /cvsroot/strace/strace/linux/mips/syscallent.h,v
+retrieving revision 1.28
+diff -u -p -r1.28 syscallent.h
+--- linux/mips/syscallent.h 2 Aug 2007 01:44:14 -0000 1.28
++++ linux/mips/syscallent.h 31 Oct 2007 10:12:44 -0000
+@@ -4245,14 +4245,14 @@
+ { 3, 0, sys_io_submit, "io_submit" }, /* 4244 */
+ { 3, 0, sys_io_cancel, "io_cancel" }, /* 4245 */
+ { 1, TP, sys_exit, "exit_group" }, /* 4246 */
+- { 3, 0, printargs, "lookup_dcookie"}, /* 4247 */
++ { 4, 0, printargs, "lookup_dcookie"}, /* 4247 */
+ { 1, 0, sys_epoll_create, "epoll_create" }, /* 4248 */
+ { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 4249 */
+ { 3, TD, sys_epoll_wait, "epoll_wait" }, /* 4250 */
+ { 5, 0, sys_remap_file_pages, "remap_file_pages"}, /* 4251 */
+ { 1, 0, printargs, "set_tid_address"}, /* 4252 */
+ { 0, 0, sys_restart_syscall, "restart_syscall"}, /* 4253 */
+- { 7, 0, sys_fadvise64_64, "fadvise64_64" }, /* 4254 */
++ { 6, 0, sys_fadvise64_64, "fadvise64_64" }, /* 4254 */
+ { 3, TF, sys_statfs64, "statfs64" }, /* 4255 */
+ { 2, TD, sys_fstatfs64, "fstatfs64" }, /* 4256 */
+ { 3, 0, sys_timer_create, "timer_create" }, /* 4257 */
diff --git a/dev-util/strace/files/strace-4.5.16-sh-updates.patch b/dev-util/strace/files/strace-4.5.16-sh-updates.patch
new file mode 100644
index 0000000..2665b40
--- /dev/null
+++ b/dev-util/strace/files/strace-4.5.16-sh-updates.patch
@@ -0,0 +1,282 @@
+Index: configure.ac
+===================================================================
+RCS file: /cvsroot/strace/strace/configure.ac,v
+retrieving revision 1.52
+diff -u -p -r1.52 configure.ac
+--- configure.ac 3 Aug 2007 10:28:56 -0000 1.52
++++ configure.ac 31 Oct 2007 10:13:38 -0000
+@@ -91,7 +91,7 @@ hppa*|parisc*)
+ arch=hppa
+ AC_DEFINE([HPPA], 1, [Define for the HPPA architecture.])
+ ;;
+-sh)
++sh|sh[[234]]*)
+ arch=sh
+ AC_DEFINE([SH], 1, [Define for the SH architecture.])
+ ;;
+Index: linux/sh/syscallent.h
+===================================================================
+RCS file: /cvsroot/strace/strace/linux/sh/syscallent.h,v
+retrieving revision 1.16
+diff -u -p -r1.16 syscallent.h
+--- linux/sh/syscallent.h 2 Aug 2007 01:44:14 -0000 1.16
++++ linux/sh/syscallent.h 31 Oct 2007 10:13:39 -0000
+@@ -256,109 +256,107 @@
+ { 3, TD, sys_fcntl, "fcntl64" }, /* 221 */
+ { 4, 0, printargs, "SYS_222" }, /* 222 */
+ { 4, 0, printargs, "SYS_223" }, /* 223 */
+- { 4, 0, printargs, "SYS_224" }, /* 224 */
+- { 5, 0, printargs, "SYS_225" }, /* 225 */
+- { 5, 0, printargs, "SYS_226" }, /* 226 */
+- { 5, 0, printargs, "SYS_227" }, /* 227 */
+- { 5, 0, printargs, "SYS_228" }, /* 228 */
+- { 5, 0, printargs, "SYS_229" }, /* 229 */
+-
+- { 8, 0, printargs, "socket_subcall"}, /* 230 */
+- { 3, TN, sys_socket, "socket" }, /* 231 */
+- { 3, TN, sys_bind, "bind" }, /* 232 */
+- { 3, TN, sys_connect, "connect" }, /* 233 */
+- { 2, TN, sys_listen, "listen" }, /* 234 */
+- { 3, TN, sys_accept, "accept" }, /* 235 */
+- { 3, TN, sys_getsockname, "getsockname" }, /* 236 */
+- { 3, TN, sys_getpeername, "getpeername" }, /* 237 */
+- { 4, TN, sys_socketpair, "socketpair" }, /* 238 */
+- { 4, TN, sys_send, "send" }, /* 239 */
+- { 4, TN, sys_recv, "recv" }, /* 240 */
+- { 6, TN, sys_sendto, "sendto" }, /* 241 */
+- { 6, TN, sys_recvfrom, "recvfrom" }, /* 242 */
+- { 2, TN, sys_shutdown, "shutdown" }, /* 243 */
+- { 5, TN, sys_setsockopt, "setsockopt" }, /* 244 */
+- { 5, TN, sys_getsockopt, "getsockopt" }, /* 245 */
+- { 5, TN, sys_sendmsg, "sendmsg" }, /* 246 */
+- { 5, TN, sys_recvmsg, "recvmsg" }, /* 247 */
+- { 5, 0, printargs, "SYS_248" }, /* 248 */
+- { 5, 0, printargs, "SYS_249" }, /* 249 */
+-
+- { 4, 0, printargs, "ipc_subcall" }, /* 250 */
+- { 4, TI, sys_semop, "semop" }, /* 251 */
+- { 4, TI, sys_semget, "semget" }, /* 252 */
+- { 4, TI, sys_semctl, "semctl" }, /* 253 */
+- { 4, 0, printargs, "ipc_subcall" }, /* 254 */
+- { 4, 0, printargs, "ipc_subcall" }, /* 255 */
+- { 4, 0, printargs, "ipc_subcall" }, /* 256 */
+- { 4, 0, printargs, "ipc_subcall" }, /* 257 */
+- { 4, 0, printargs, "ipc_subcall" }, /* 258 */
+- { 4, 0, printargs, "ipc_subcall" }, /* 259 */
+- { 4, 0, printargs, "ipc_subcall" }, /* 260 */
+- { 4, TI, sys_msgsnd, "msgsnd" }, /* 261 */
+- { 4, TI, sys_msgrcv, "msgrcv" }, /* 262 */
+- { 4, TI, sys_msgget, "msgget" }, /* 263 */
+- { 4, TI, sys_msgctl, "msgctl" }, /* 264 */
+- { 4, 0, printargs, "ipc_subcall" }, /* 265 */
+- { 4, 0, printargs, "ipc_subcall" }, /* 266 */
+- { 4, 0, printargs, "ipc_subcall" }, /* 267 */
+- { 4, 0, printargs, "ipc_subcall" }, /* 268 */
+- { 4, 0, printargs, "ipc_subcall" }, /* 269 */
+- { 4, 0, printargs, "ipc_subcall" }, /* 270 */
+- { 4, TI, sys_shmat, "shmat" }, /* 271 */
+- { 4, TI, sys_shmdt, "shmdt" }, /* 272 */
+- { 4, TI, sys_shmget, "shmget" }, /* 273 */
+- { 4, TI, sys_shmctl, "shmctl" }, /* 274 */
+- { 5, 0, printargs, "SYS_275" }, /* 275 */
+- { 5, 0, printargs, "SYS_276" }, /* 276 */
+- { 5, 0, printargs, "SYS_277" }, /* 277 */
+- { 5, 0, printargs, "SYS_278" }, /* 278 */
+- { 5, 0, printargs, "SYS_279" }, /* 279 */
+- { 5, 0, printargs, "SYS_280" }, /* 280 */
+- { 5, 0, printargs, "SYS_281" }, /* 281 */
+- { 5, 0, printargs, "SYS_282" }, /* 282 */
+- { 5, 0, printargs, "SYS_283" }, /* 283 */
+- { 5, 0, printargs, "SYS_284" }, /* 284 */
+- { 5, 0, printargs, "SYS_285" }, /* 285 */
+- { 5, 0, printargs, "SYS_286" }, /* 286 */
+- { 5, 0, printargs, "SYS_287" }, /* 287 */
+- { 5, 0, printargs, "SYS_288" }, /* 288 */
+- { 5, 0, printargs, "SYS_289" }, /* 289 */
+- { 5, 0, printargs, "SYS_290" }, /* 290 */
+- { 5, 0, printargs, "SYS_291" }, /* 291 */
+- { 5, 0, printargs, "SYS_292" }, /* 292 */
++ { 4, 0, printargs, "gettid" }, /* 224 */
++ { 5, TD, sys_readahead, "readahead" }, /* 225 */
++ { 5, TF, sys_setxattr, "setxattr" }, /* 226 */
++ { 5, TF, sys_setxattr, "lsetxattr" }, /* 227 */
++ { 5, TD, sys_fsetxattr, "fsetxattr" }, /* 228 */
++ { 4, TF, sys_getxattr, "getxattr" }, /* 229 */
++ { 4, TF, sys_getxattr, "lgetxattr" }, /* 230 */
++ { 4, 0, sys_fgetxattr, "fgetxattr" }, /* 231 */
++ { 3, TF, sys_listxattr, "listxattr" }, /* 232 */
++ { 3, TF, sys_listxattr, "llistxattr" }, /* 233 */
++ { 3, 0, sys_flistxattr, "flistxattr" }, /* 234 */
++ { 2, TF, sys_removexattr, "removexattr" }, /* 235 */
++ { 2, TF, sys_removexattr, "lremovexattr" }, /* 236 */
++ { 2, TD, sys_fremovexattr, "fremovexattr" }, /* 237 */
++ { 2, TD, sys_kill, "tkill" }, /* 238 */
++ { 5, TD, sys_sendfile64, "sendfile64" }, /* 239 */
++ { 6, 0, sys_futex, "futex" }, /* 240 */
++ { 3, 0, sys_sched_setaffinity, "sched_setaffinity"}, /* 241 */
++ { 3, 0, sys_sched_getaffinity, "sched_getaffinity"}, /* 242 */
++ { 0, 0, printargs, "SYS_243" }, /* 243 */
++ { 0, 0, printargs, "SYS_244" }, /* 244 */
++ { 2, 0, sys_io_setup, "io_setup" }, /* 245 */
++ { 1, 0, sys_io_destroy, "io_destroy" }, /* 246 */
++ { 5, 0, sys_io_getevents, "io_getevents" }, /* 247 */
++ { 3, 0, sys_io_submit, "io_submit" }, /* 248 */
++ { 3, 0, sys_io_cancel, "io_cancel" }, /* 249 */
++ { 5, 0, sys_fadvise64, "fadvise64" }, /* 250 */
++ { 0, 0, printargs, "SYS_251" }, /* 251 */
++ { 1, TP, sys_exit, "exit_group" }, /* 252 */
++ { 4, 0, printargs, "lookup_dcookie"}, /* 253 */
++ { 1, 0, sys_epoll_create, "epoll_create" }, /* 254 */
++ { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 255 */
++ { 3, TD, sys_epoll_wait, "epoll_wait" }, /* 256 */
++ { 5, 0, sys_remap_file_pages, "remap_file_pages"}, /* 257 */
++ { 1, 0, printargs, "set_tid_address"}, /* 258 */
++ { 3, 0, sys_timer_create, "timer_create" }, /* 259 */
++ { 4, 0, sys_timer_settime, "timer_settime" }, /* 260 */
++ { 2, 0, sys_timer_gettime, "timer_gettime" }, /* 261 */
++ { 1, 0, sys_timer_getoverrun, "timer_getoverrun"}, /* 262 */
++ { 1, 0, sys_timer_delete, "timer_delete" }, /* 263 */
++ { 2, 0, sys_clock_settime, "clock_settime" }, /* 264 */
++ { 2, 0, sys_clock_gettime, "clock_gettime" }, /* 265 */
++ { 2, 0, sys_clock_getres, "clock_getres" }, /* 266 */
++ { 4, 0, sys_clock_nanosleep, "clock_nanosleep"}, /* 267 */
++ { 3, TF, sys_statfs64, "statfs64" }, /* 268 */
++ { 2, TD, sys_fstatfs64, "fstatfs64" }, /* 269 */
++ { 3, TS, sys_tgkill, "tgkill" }, /* 270 */
++ { 2, TF, sys_utimes, "utimes" }, /* 271 */
++ { 6, 0, sys_fadvise64_64, "fadvise64_64" }, /* 272 */
++ { 0, 0, printargs, "SYS_273" }, /* 273 */
++ { 4, 0, sys_mbind, "mbind" }, /* 274 */
++ { 5, 0, sys_get_mempolicy, "get_mempolicy" }, /* 275 */
++ { 3, 0, sys_set_mempolicy, "set_mempolicy" }, /* 276 */
++ { 4, 0, sys_mq_open, "mq_open" }, /* 277 */
++ { 1, 0, sys_mq_unlink, "mq_unlink" }, /* 278 */
++ { 5, 0, sys_mq_timedsend, "mq_timedsend" }, /* 279 */
++ { 5, 0, sys_mq_timedreceive, "mq_timedreceive"}, /* 280 */
++ { 2, 0, sys_mq_notify, "mq_notify" }, /* 281 */
++ { 3, 0, sys_mq_getsetattr, "mq_getsetattr" }, /* 282 */
++ { 5, 0, printargs, "kexec_load" }, /* 283 */
++ { 5, TP, sys_waitid, "waitid" }, /* 284 */
++ { 5, 0, printargs, "add_key" }, /* 285 */
++ { 4, 0, printargs, "request_key" }, /* 286 */
++ { 5, 0, printargs, "keyctl" }, /* 287 */
++ { 3, 0, printargs, "ioprio_set" }, /* 288 */
++ { 2, 0, printargs, "ioprio_get" }, /* 289 */
++ { 0, TD, printargs, "inotify_init" }, /* 290 */
++ { 3, TD, sys_inotify_add_watch, "inotify_add_watch"}, /* 291 */
++ { 2, TD, sys_inotify_rm_watch, "inotify_rm_watch"}, /* 292 */
+ { 5, 0, printargs, "SYS_293" }, /* 293 */
+- { 5, 0, printargs, "SYS_294" }, /* 294 */
+- { 5, 0, printargs, "SYS_295" }, /* 295 */
+- { 5, 0, printargs, "SYS_296" }, /* 296 */
+- { 5, 0, printargs, "SYS_297" }, /* 297 */
+- { 5, 0, printargs, "SYS_298" }, /* 298 */
+- { 5, 0, printargs, "SYS_299" }, /* 299 */
+- { 5, 0, printargs, "SYS_300" }, /* 300 */
+- { 5, 0, printargs, "SYS_301" }, /* 301 */
+- { 5, 0, printargs, "SYS_302" }, /* 302 */
+- { 5, 0, printargs, "SYS_303" }, /* 303 */
+- { 5, 0, printargs, "SYS_304" }, /* 304 */
+- { 5, 0, printargs, "SYS_305" }, /* 305 */
+- { 5, 0, printargs, "SYS_306" }, /* 306 */
+- { 5, 0, printargs, "SYS_307" }, /* 307 */
+- { 5, 0, printargs, "SYS_308" }, /* 308 */
+- { 5, 0, printargs, "SYS_309" }, /* 309 */
+- { 5, 0, printargs, "SYS_310" }, /* 310 */
+- { 5, 0, printargs, "SYS_311" }, /* 311 */
+- { 5, 0, printargs, "SYS_312" }, /* 312 */
+- { 5, 0, printargs, "SYS_313" }, /* 313 */
+- { 5, 0, printargs, "SYS_314" }, /* 314 */
+- { 5, 0, printargs, "SYS_315" }, /* 315 */
+- { 5, 0, printargs, "SYS_316" }, /* 316 */
++ { 4, 0, printargs, "migrate_pages" }, /* 294 */
++ { 4, TD|TF, sys_openat, "openat" }, /* 295 */
++ { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 296 */
++ { 4, TD|TF, sys_mknodat, "mknodat" }, /* 297 */
++ { 5, TD|TF, sys_fchownat, "fchownat" }, /* 298 */
++ { 3, TD|TF, sys_futimesat, "futimesat" }, /* 299 */
++ { 4, TD|TD, sys_newfstatat, "newfstatat" }, /* 300 */
++ { 3, TD|TF, sys_unlinkat, "unlinkat" }, /* 301 */
++ { 4, TD|TF, sys_renameat, "renameat" }, /* 302 */
++ { 5, TD|TF, sys_linkat, "linkat" }, /* 303 */
++ { 3, TD|TF, sys_symlinkat, "symlinkat" }, /* 304 */
++ { 4, TD|TF, sys_readlinkat, "readlinkat" }, /* 305 */
++ { 3, TD|TF, sys_fchmodat, "fchmodat" }, /* 306 */
++ { 3, TD|TF, sys_faccessat, "faccessat" }, /* 307 */
++ { 6, TD, sys_pselect6, "pselect6" }, /* 308 */
++ { 5, TD, sys_ppoll, "ppoll" }, /* 309 */
++ { 1, TP, sys_unshare, "unshare" }, /* 310 */
++ { 2, 0, printargs, "set_robust_list"}, /* 311 */
++ { 3, 0, printargs, "get_robust_list"}, /* 312 */
++ { 6, TD, printargs, "splice" }, /* 313 */
++ { 4, TD, printargs, "sync_file_range"}, /* 314 */
++ { 4, TD, printargs, "tee" }, /* 315 */
++ { 5, TD, printargs, "vmsplice" }, /* 316 */
+ { 6, 0, sys_move_pages, "move_pages" }, /* 317 */
+ { 3, 0, sys_getcpu, "getcpu" }, /* 318 */
+ { 5, TD, sys_epoll_pwait, "epoll_pwait" }, /* 319 */
+- { 5, 0, printargs, "SYS_320" }, /* 320 */
++ { 4, TD|TF, sys_utimensat, "utimensat" }, /* 320 */
+ { 3, TD|TS, sys_signalfd, "signalfd" }, /* 321 */
+ { 4, TD, sys_timerfd, "timerfd" }, /* 322 */
+ { 1, TD, sys_eventfd, "eventfd" }, /* 323 */
+- { 5, 0, printargs, "SYS_324" }, /* 324 */
++ { 6, 0, printargs, "fallocate" }, /* 324 */
+ { 5, 0, printargs, "SYS_325" }, /* 325 */
+ { 5, 0, printargs, "SYS_326" }, /* 326 */
+ { 5, 0, printargs, "SYS_327" }, /* 327 */
+@@ -435,7 +433,7 @@
+ { 5, 0, printargs, "SYS_398" }, /* 398 */
+ { 5, 0, printargs, "SYS_399" }, /* 399 */
+
+-#if SYS_ipc_subcall != 400
++#if SYS_socket_subcall != 400
+ #error fix me
+ #endif
+ { 8, 0, printargs, "socket_subcall"}, /* 400 */
+@@ -460,4 +458,29 @@
+ #if SYS_ipc_subcall != 418
+ #error fix me
+ #endif
++
+ { 4, 0, printargs, "ipc_subcall" }, /* 418 */
++ { 4, TI, sys_semop, "semop" }, /* 419 */
++ { 4, TI, sys_semget, "semget" }, /* 420 */
++ { 4, TI, sys_semctl, "semctl" }, /* 421 */
++ { 5, TI, sys_semtimedop, "semtimedop" }, /* 422 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 423 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 424 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 425 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 426 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 427 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 428 */
++ { 4, TI, sys_msgsnd, "msgsnd" }, /* 429 */
++ { 4, TI, sys_msgrcv, "msgrcv" }, /* 430 */
++ { 4, TI, sys_msgget, "msgget" }, /* 431 */
++ { 4, TI, sys_msgctl, "msgctl" }, /* 432 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 433 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 434 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 435 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 436 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 437 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 438 */
++ { 4, TI, sys_shmat, "shmat" }, /* 439 */
++ { 4, TI, sys_shmdt, "shmdt" }, /* 440 */
++ { 4, TI, sys_shmget, "shmget" }, /* 441 */
++ { 4, TI, sys_shmctl, "shmctl" }, /* 442 */
+Index: linux/sh64/syscallent.h
+===================================================================
+RCS file: /cvsroot/strace/strace/linux/sh64/syscallent.h,v
+retrieving revision 1.13
+diff -u -p -r1.13 syscallent.h
+--- linux/sh64/syscallent.h 2 Aug 2007 01:44:14 -0000 1.13
++++ linux/sh64/syscallent.h 31 Oct 2007 10:13:39 -0000
+@@ -429,7 +429,7 @@
+ { 5, 0, printargs, "SYS_398" }, /* 398 */
+ { 5, 0, printargs, "SYS_399" }, /* 399 */
+
+-#if SYS_ipc_subcall != 400
++#if SYS_socket_subcall != 400
+ #error fix me
+ #endif
+ { 8, 0, printargs, "socket_subcall"}, /* 400 */
diff --git a/dev-util/strace/files/strace-4.5.16-sparc-fix.patch b/dev-util/strace/files/strace-4.5.16-sparc-fix.patch
new file mode 100644
index 0000000..ed00bd7
--- /dev/null
+++ b/dev-util/strace/files/strace-4.5.16-sparc-fix.patch
@@ -0,0 +1,154 @@
+ripped from fedora and hacked a bit
+
+http://bugs.gentoo.org/229229
+
+diff -up strace-4.5.16/linux/sparc/syscallent.h.BAD strace-4.5.16/linux/sparc/syscallent.h
+--- strace-4.5.16/linux/sparc/syscallent.h.BAD 2008-03-26 10:09:47.000000000 -0500
++++ strace-4.5.16/linux/sparc/syscallent.h 2008-03-26 11:43:34.000000000 -0500
+@@ -23,7 +23,7 @@
+ { 2, 0, sys_capset, "capset" }, /* 22 */
+ { 1, 0, sys_setuid, "setuid" }, /* 23 */
+ { 0, 0, sys_getuid, "getuid" }, /* 24 */
+- { 1, 0, sys_time, "time" }, /* 25 */
++ { 1, 0, printargs, "vmsplice" }, /* 25 */
+ { 5, 0, sys_ptrace, "ptrace" }, /* 26 */
+ { 1, 0, sys_alarm, "alarm" }, /* 27 */
+ { 2, TS, sys_sigaltstack,"sigaltstack" }, /* 28 */
+@@ -65,8 +65,8 @@
+ { 0, 0, sys_getpagesize,"getpagesize" }, /* 64 */
+ { 3, 0, sys_msync, "msync" }, /* 65 */
+ { 0, TP, sys_vfork, "vfork" }, /* 66 */
+- { 5, TD, sys_pread, "pread" }, /* 67 */
+- { 5, TD, sys_pwrite, "pwrite" }, /* 68 */
++ { 5, TD, sys_pread, "pread64" }, /* 67 */
++ { 5, TD, sys_pwrite, "pwrite64" }, /* 68 */
+ { 0, 0, sys_geteuid, "geteuid32" }, /* 69 */
+ { 0, 0, sys_getegid, "getegid32" }, /* 70 */
+ { 6, 0, sys_mmap, "mmap" }, /* 71 */
+@@ -149,12 +149,12 @@
+ { 5, 0, printargs, "pciconfig_read" }, /* 148 */
+ { 5, 0, printargs, "pciconfig_write" }, /* 149 */
+ { 3, TN, sys_getsockname,"getsockname" }, /* 150 */
+- { 4, TN, sys_getmsg, "getmsg" }, /* 151 */
+- { 4, TN, sys_putmsg, "putmsg" }, /* 152 */
++ { 0, TD, printargs, "inotify_init" }, /* 151 */
++ { 3, TD, sys_inotify_add_watch, "inotify_add_watch" },/* 152 */
+ { 3, TD, sys_poll, "poll" }, /* 153 */
+ { 4, TD, sys_getdents64, "getdents64" }, /* 154 */
+ { 3, TD, sys_fcntl, "fcntl64" }, /* 155 */
+- { 4, 0, printargs, "getdirentries" }, /* 156 */
++ { 2, TD, sys_inotify_rm_watch, "inotify_rm_watch" },/* 156 */
+ { 2, TF, sys_statfs, "statfs" }, /* 157 */
+ { 2, TD, sys_fstatfs, "fstatfs" }, /* 158 */
+ { 1, TF, sys_umount, "oldumount" }, /* 159 */
+@@ -194,13 +194,13 @@
+ { 1, 0, sys_epoll_create,"epoll_create" }, /* 193 */
+ { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 194 */
+ { 4, TD, sys_epoll_wait, "epoll_wait" }, /* 195 */
+- { 2, 0, sys_ulimit, "ulimit" }, /* 196 */
++ { 3, 0, printargs, "ioprio_set"}, /* 196 */
+ { 0, 0, sys_getppid, "getppid" }, /* 197 */
+ { 3, TS, sys_sigaction, "sigaction" }, /* 198 */
+ { 5, 0, printargs, "sgetmask" }, /* 199 */
+ { 5, 0, printargs, "ssetmask" }, /* 200 */
+ { 3, TS, sys_sigsuspend, "sigsuspend" }, /* 201 */
+- { 2, TF, sys_lstat, "lstat" }, /* 202 */
++ { 2, TF, sys_oldlstat, "oldlstat" }, /* 202 */
+ { 1, TF, sys_uselib, "uselib" }, /* 203 */
+ { 3, TD, sys_readdir, "readdir" }, /* 204 */
+ { 4, TD, sys_readahead, "readahead" }, /* 205 */
+@@ -216,7 +216,7 @@
+ { 5, 0, sys_ipc, "ipc" }, /* 215 */
+ { 1, TS, sys_sigreturn, "sigreturn" }, /* 216 */
+ { 5, TP, sys_clone, "clone" }, /* 217 */
+- { 3, 0, sys_modify_ldt, "modify_ldt" }, /* 218 */
++ { 2, 0, printargs, "ioprio_get" }, /* 218 */
+ { 1, 0, sys_adjtimex, "adjtimex" }, /* 219 */
+ { 3, TS, sys_sigprocmask,"sigprocmask" }, /* 220 */
+ { 2, 0, sys_create_module,"create_module" }, /* 221 */
+@@ -228,9 +228,9 @@
+ { 5, 0, sys_afs_syscall,"afs_syscall" }, /* 227 */
+ { 1, 0, sys_setfsuid, "setfsuid" }, /* 228 */
+ { 1, 0, sys_setfsgid, "setfsgid" }, /* 229 */
+- { 5, TD, sys_select, "select" }, /* 230 */
++ { 5, TD, sys_select, "_newselect" }, /* 230 */
+ { 1, 0, sys_time, "time" }, /* 231 */
+- { 2, TF, sys_stat, "stat" }, /* 232 */
++ { 6, TD, printargs, "splice" }, /* 232 */
+ { 1, 0, sys_stime, "stime" }, /* 233 */
+ { 3, TF, sys_statfs64, "statfs64" }, /* 234 */
+ { 3, TD, sys_fstatfs64, "fstatfs64" }, /* 235 */
+@@ -253,7 +253,7 @@
+ { 1, 0, sys_getsid, "getsid" }, /* 252 */
+ { 1, TD, sys_fdatasync, "fdatasync" }, /* 253 */
+ { 3, 0, printargs, "nfsservctl" }, /* 254 */
+- { 5, 0, printargs, "aplib" }, /* 255 */
++ { 4, TD, printargs, "sync_file_range" }, /* 255 */
+ { 2, 0, sys_clock_settime,"clock_settime" }, /* 256 */
+ { 2, 0, sys_clock_gettime,"clock_gettime" }, /* 257 */
+ { 2, 0, sys_clock_getres,"clock_getres" }, /* 258 */
+@@ -300,18 +300,18 @@
+ { 1, TP, sys_unshare, "unshare" }, /* 299 */
+ { 2, 0, printargs, "set_robust_list" }, /* 300 */
+ { 3, 0, printargs, "get_robust_list" }, /* 301 */
+- { 5, 0, printargs, "SYS_302" }, /* 302 */
+- { 5, 0, printargs, "SYS_303" }, /* 303 */
+- { 5, 0, printargs, "SYS_304" }, /* 304 */
+- { 5, 0, printargs, "SYS_305" }, /* 305 */
+- { 5, 0, printargs, "SYS_306" }, /* 306 */
+- { 6, 0, sys_move_pages, "move_pages" }, /* 307 */
+- { 3, 0, sys_getcpu, "getcpu" }, /* 308 */
+- { 5, TD, sys_epoll_pwait,"epoll_pwait" }, /* 309 */
+- { 5, 0, printargs, "SYS_310" }, /* 310 */
+- { 3, TD|TS, sys_signalfd, "signalfd"}, /* 311 */
+- { 4, TD, sys_timerfd, "timerfd" }, /* 312 */
+- { 1, TD, sys_eventfd, "eventfd" }, /* 313 */
++ { 4, 0, printargs, "migrate_pages" }, /* 302 */
++ { 6, 0, sys_mbind, "mbind" }, /* 303 */
++ { 5, 0, sys_get_mempolicy, "get_mempolicy" }, /* 304 */
++ { 3, 0, sys_set_mempolicy, "set_mempolicy" }, /* 305 */
++ { 5, 0, printargs, "kexec_load" }, /* 306 */
++ { 6, 0, sys_move_pages, "move_pages" }, /* 307 */
++ { 3, 0, sys_getcpu, "getcpu" }, /* 308 */
++ { 5, TD, sys_epoll_pwait, "epoll_pwait" },/* 309 */
++ { 4, TD|TF, sys_utimensat, "utimensat"}, /* 310 */
++ { 3, TD|TS, sys_signalfd, "signalfd"}, /* 311 */
++ { 4, TD, sys_timerfd, "timerfd" }, /* 312 */
++ { 1, TD, sys_eventfd, "eventfd" }, /* 313 */
+ { 5, 0, printargs, "SYS_314" }, /* 314 */
+ { 5, 0, printargs, "SYS_315" }, /* 315 */
+ { 5, 0, printargs, "SYS_316" }, /* 316 */
+diff -up strace-4.5.16/linux/sparc/syscall.h.BAD strace-4.5.16/linux/sparc/syscall.h
+--- strace-4.5.16/linux/sparc/syscall.h.BAD 2008-03-26 12:00:19.000000000 -0500
++++ strace-4.5.16/linux/sparc/syscall.h 2008-03-26 12:00:07.000000000 -0500
+@@ -203,6 +203,9 @@ int sys_fstatfs64(), sys_clock_settime()
+ int sys_clock_getres(), sys_clock_nanosleep();
+ int sys_timer_create(), sys_timer_settime(), sys_timer_gettime();
+
++int sys_inotify_add_watch(), sys_inotify_rm_watch(), sys_oldlstat();
++int sys_mbind(), sys_get_mempolicy(), sys_set_mempolicy();
++int sys_utimensat();
+ int sys_io_setup(), sys_io_destroy(), sys_io_submit(), sys_io_cancel(), sys_io_getevents();
+ int sys_mq_open(), sys_mq_unlink(), sys_mq_timedsend(), sys_mq_timedreceive(), sys_mq_notify(), sys_mq_getsetattr();
+ int sys_waitid();
+diff -up strace-4.5.16/defs.h.BAD strace-4.5.16/defs.h
+--- strace-4.5.16/defs.h.BAD 2008-03-26 11:49:08.000000000 -0500
++++ strace-4.5.16/defs.h 2008-03-26 11:49:30.000000000 -0500
+@@ -192,8 +192,7 @@ extern int ptrace();
+ #define DEFAULT_PERSONALITY 0
+
+ #ifdef LINUXSPARC
+-#include <linux/a.out.h>
+-#include <asm/psr.h>
++#include <asm/a.out.h>
+ #define PERSONALITY0_WORDSIZE 4
+ #define PERSONALITY1_WORDSIZE 4
+ #undef SUPPORTED_PERSONALITIES
+@@ -201,6 +200,7 @@ extern int ptrace();
+ #define SUPPORTED_PERSONALITIES 3
+ #define PERSONALITY2_WORDSIZE 8
+ #else
++#include <asm/psr.h>
+ #define SUPPORTED_PERSONALITIES 2
+ #endif /* SPARC64 */
+ #endif /* LINUXSPARC */
diff --git a/dev-util/strace/files/strace-4.5.16-sparc-socketipc.patch b/dev-util/strace/files/strace-4.5.16-sparc-socketipc.patch
new file mode 100644
index 0000000..d27aebf
--- /dev/null
+++ b/dev-util/strace/files/strace-4.5.16-sparc-socketipc.patch
@@ -0,0 +1,189 @@
+ripped from fedora and hacked a bit
+
+http://bugs.gentoo.org/229229
+
+diff -up strace-4.5.16/linux/sparc/syscallent.h.BAD strace-4.5.16/linux/sparc/syscallent.h
+--- strace-4.5.16/linux/sparc/syscallent.h.BAD 2008-05-15 16:06:36.000000000 -0500
++++ strace-4.5.16/linux/sparc/syscallent.h 2008-05-15 18:21:01.000000000 -0500
+@@ -351,3 +351,57 @@
+ { 5, 0, printargs, "SYS_350" }, /* 350 */
+ { 5, 0, printargs, "SYS_351" }, /* 351 */
+ { 5, 0, printargs, "SYS_352" }, /* 352 */
++#if SYS_socket_subcall != 353
++ #error fix me
++#endif
++ { 8, 0, printargs, "socket_subcall" }, /* 353 */
++ { 3, TN, sys_socket, "socket" }, /* 354 */
++ { 3, TN, sys_bind, "bind" }, /* 355 */
++ { 3, TN, sys_connect, "connect" }, /* 356 */
++ { 2, TN, sys_listen, "listen" }, /* 357 */
++ { 3, TN, sys_accept, "accept" }, /* 358 */
++ { 3, TN, sys_getsockname, "getsockname" }, /* 359 */
++ { 3, TN, sys_getpeername, "getpeername" }, /* 360 */
++ { 4, TN, sys_socketpair, "socketpair" }, /* 361 */
++ { 4, TN, sys_send, "send" }, /* 362 */
++ { 4, TN, sys_recv, "recv" }, /* 363 */
++ { 6, TN, sys_sendto, "sendto" }, /* 364 */
++ { 6, TN, sys_recvfrom, "recvfrom" }, /* 365 */
++ { 2, TN, sys_shutdown, "shutdown" }, /* 366 */
++ { 5, TN, sys_setsockopt, "setsockopt" }, /* 367 */
++ { 5, TN, sys_getsockopt, "getsockopt" }, /* 368 */
++ { 5, TN, sys_sendmsg, "sendmsg" }, /* 369 */
++ { 5, TN, sys_recvmsg, "recvmsg" }, /* 370 */
++#if SYS_ipc_subcall != 371
++ #error fix me
++#endif
++ { 4, 0, printargs, "ipc_subcall" }, /* 371 */
++ { 4, TI, printargs, "semop" }, /* 372 */
++ { 4, TI, sys_semget, "semget" }, /* 373 */
++ { 4, TI, sys_semctl, "semctl" }, /* 374 */
++ { 5, TI, sys_semtimedop, "semtimedop" }, /* 375 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 376 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 377 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 378 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 379 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 380 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 381 */
++ { 4, TI, sys_msgsnd, "msgsnd" }, /* 382 */
++ { 4, TI, sys_msgrcv, "msgrcv" }, /* 383 */
++ { 4, TI, sys_msgget, "msgget" }, /* 384 */
++ { 4, TI, sys_msgctl, "msgctl" }, /* 385 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 386 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 387 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 388 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 389 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 390 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 391 */
++ { 4, TI, sys_shmat, "shmat" }, /* 392 */
++ { 4, TI, sys_shmdt, "shmdt" }, /* 393 */
++ { 4, TI, sys_shmget, "shmget" }, /* 394 */
++ { 4, TI, sys_shmctl, "shmctl" }, /* 395 */
++ { 5, 0, printargs, "SYS_343" }, /* 396 */
++ { 5, 0, printargs, "SYS_344" }, /* 397 */
++ { 5, 0, printargs, "SYS_345" }, /* 398 */
++ { 5, 0, printargs, "SYS_346" }, /* 399 */
++ { 5, 0, printargs, "SYS_347" }, /* 400 */
+diff -up strace-4.5.16/linux/sparc/syscall.h.BAD strace-4.5.16/linux/sparc/syscall.h
+--- strace-4.5.16/linux/sparc/syscall.h.BAD 2008-05-15 16:02:07.000000000 -0500
++++ strace-4.5.16/linux/sparc/syscall.h 2008-05-15 16:06:03.000000000 -0500
+@@ -213,4 +214,42 @@ int sys_fstatfs64(), sys_clock_settime()
+ int sys_clock_getres(), sys_clock_nanosleep();
+ int sys_timer_create(), sys_timer_settime(), sys_timer_gettime();
+
++int sys_semtimedop();
++# define SYS_socket_subcall 353
++#define SYS_sub_socket (SYS_socket_subcall + 1)
++#define SYS_sub_bind (SYS_socket_subcall + 2)
++#define SYS_sub_connect (SYS_socket_subcall + 3)
++#define SYS_sub_listen (SYS_socket_subcall + 4)
++#define SYS_sub_accept (SYS_socket_subcall + 5)
++#define SYS_sub_getsockname (SYS_socket_subcall + 6)
++#define SYS_sub_getpeername (SYS_socket_subcall + 7)
++#define SYS_sub_socketpair (SYS_socket_subcall + 8)
++#define SYS_sub_send (SYS_socket_subcall + 9)
++#define SYS_sub_recv (SYS_socket_subcall + 10)
++#define SYS_sub_sendto (SYS_socket_subcall + 11)
++#define SYS_sub_recvfrom (SYS_socket_subcall + 12)
++#define SYS_sub_shutdown (SYS_socket_subcall + 13)
++#define SYS_sub_setsockopt (SYS_socket_subcall + 14)
++#define SYS_sub_getsockopt (SYS_socket_subcall + 15)
++#define SYS_sub_sendmsg (SYS_socket_subcall + 16)
++#define SYS_sub_recvmsg (SYS_socket_subcall + 17)
++
++#define SYS_socket_nsubcalls 18
++
++#define SYS_ipc_subcall ((SYS_socket_subcall)+(SYS_socket_nsubcalls))
++#define SYS_sub_semop (SYS_ipc_subcall + 1)
++#define SYS_sub_semget (SYS_ipc_subcall + 2)
++#define SYS_sub_semctl (SYS_ipc_subcall + 3)
++#define SYS_sub_semtimedop (SYS_ipc_subcall + 4)
++#define SYS_sub_msgsnd (SYS_ipc_subcall + 11)
++#define SYS_sub_msgrcv (SYS_ipc_subcall + 12)
++#define SYS_sub_msgget (SYS_ipc_subcall + 13)
++#define SYS_sub_msgctl (SYS_ipc_subcall + 14)
++#define SYS_sub_shmat (SYS_ipc_subcall + 21)
++#define SYS_sub_shmdt (SYS_ipc_subcall + 22)
++#define SYS_sub_shmget (SYS_ipc_subcall + 23)
++#define SYS_sub_shmctl (SYS_ipc_subcall + 24)
++
++#define SYS_ipc_nsubcalls 25
++
+ #include "syscall1.h"
+diff -up strace-4.5.16/syscall.c.BAD strace-4.5.16/syscall.c
+--- strace-4.5.16/syscall.c.BAD 2008-05-15 16:01:49.000000000 -0500
++++ strace-4.5.16/syscall.c 2008-05-15 16:01:53.000000000 -0500
+@@ -579,51 +579,6 @@ static const struct subcall subcalls_tab
+ #endif /* FREEBSD */
+
+ #if !(defined(LINUX) && ( defined(ALPHA) || defined(MIPS) ))
+-
+-static const int socket_map [] = {
+- /* SYS_SOCKET */ 97,
+- /* SYS_BIND */ 104,
+- /* SYS_CONNECT */ 98,
+- /* SYS_LISTEN */ 106,
+- /* SYS_ACCEPT */ 99,
+- /* SYS_GETSOCKNAME */ 150,
+- /* SYS_GETPEERNAME */ 141,
+- /* SYS_SOCKETPAIR */ 135,
+- /* SYS_SEND */ 101,
+- /* SYS_RECV */ 102,
+- /* SYS_SENDTO */ 133,
+- /* SYS_RECVFROM */ 125,
+- /* SYS_SHUTDOWN */ 134,
+- /* SYS_SETSOCKOPT */ 105,
+- /* SYS_GETSOCKOPT */ 118,
+- /* SYS_SENDMSG */ 114,
+- /* SYS_RECVMSG */ 113
+-};
+-
+-#if defined (SPARC) || defined (SPARC64)
+-static void
+-sparc_socket_decode (tcp)
+-struct tcb *tcp;
+-{
+- volatile long addr;
+- volatile int i, n;
+-
+- if (tcp->u_arg [0] < 1 || tcp->u_arg [0] > sizeof(socket_map)/sizeof(int)+1){
+- return;
+- }
+- tcp->scno = socket_map [tcp->u_arg [0]-1];
+- n = tcp->u_nargs = sysent [tcp->scno].nargs;
+- addr = tcp->u_arg [1];
+- for (i = 0; i < n; i++){
+- int arg;
+- if (umoven (tcp, addr, sizeof (arg), (void *) &arg) < 0)
+- arg = 0;
+- tcp->u_arg [i] = arg;
+- addr += sizeof (arg);
+- }
+-}
+-#endif
+-
+ static void
+ decode_subcall(tcp, subcall, nsubcalls, style)
+ struct tcb *tcp;
+@@ -2382,7 +2337,7 @@ trace_syscall(struct tcb *tcp)
+
+ switch (known_scno(tcp)) {
+ #ifdef LINUX
+-#if !defined (ALPHA) && !defined(SPARC) && !defined(SPARC64) && !defined(MIPS) && !defined(HPPA)
++#if !defined (ALPHA) && !defined(MIPS) && !defined(HPPA)
+ case SYS_socketcall:
+ decode_subcall(tcp, SYS_socket_subcall,
+ SYS_socket_nsubcalls, deref_style);
+@@ -2391,12 +2346,7 @@ trace_syscall(struct tcb *tcp)
+ decode_subcall(tcp, SYS_ipc_subcall,
+ SYS_ipc_nsubcalls, shift_style);
+ break;
+-#endif /* !ALPHA && !MIPS && !SPARC && !SPARC64 && !HPPA */
+-#if defined (SPARC) || defined (SPARC64)
+- case SYS_socketcall:
+- sparc_socket_decode (tcp);
+- break;
+-#endif
++#endif /* !(ALPHA || MIPS || HPPA) */
+ #endif /* LINUX */
+ #ifdef SVR4
+ #ifdef SYS_pgrpsys_subcall
diff --git a/dev-util/strace/files/strace-4.5.16-sparc-times.patch b/dev-util/strace/files/strace-4.5.16-sparc-times.patch
new file mode 100644
index 0000000..9d1ee76
--- /dev/null
+++ b/dev-util/strace/files/strace-4.5.16-sparc-times.patch
@@ -0,0 +1,35 @@
+http://bugs.gentoo.org/204457
+
+------- Comment #5 From SpanKY 2008-01-06 18:08:07 0000 [reply] -------
+
+i dont have any way of actually run time testing this, but the fix is probably:
+- tprintf("st_atime=%s, ", sprinttime(statbuf.st_atime));
+- tprintf("st_mtime=%s, ", sprinttime(statbuf.st_mtime));
+- tprintf("st_ctime=%s}", sprinttime(statbuf.st_ctime));
++ tprintf("st_atime=%s, ", sprinttime(statbuf.st_atime.tv_sec));
++ tprintf("st_mtime=%s, ", sprinttime(statbuf.st_mtime.tv_sec));
++ tprintf("st_ctime=%s}", sprinttime(statbuf.st_ctime.tv_sec));
+
+sprinttime() takes a time_t which represents the time (in seconds). the time
+members of the solstatbuf are the time (in seconds) as well as nanosecond
+granularity. since sprinttime() doesnt include nanosecond granularity, we dont
+care about that part of the time.
+
+someone needs to find a sparc system running with the personality required and
+exercise this difference
+
+--- strace-4.5.16/file.c
++++ strace-4.5.16/file.c
+@@ -766,9 +766,9 @@
+ break;
+ }
+ if (!abbrev(tcp)) {
+- tprintf("st_atime=%s, ", sprinttime(statbuf.st_atime));
+- tprintf("st_mtime=%s, ", sprinttime(statbuf.st_mtime));
+- tprintf("st_ctime=%s}", sprinttime(statbuf.st_ctime));
++ tprintf("st_atime=%s, ", sprinttime(statbuf.st_atime.tv_sec));
++ tprintf("st_mtime=%s, ", sprinttime(statbuf.st_mtime.tv_sec));
++ tprintf("st_ctime=%s}", sprinttime(statbuf.st_ctime.tv_sec));
+ }
+ else
+ tprintf("...}");
diff --git a/dev-util/strace/files/strace-4.5.16-sparc-updates.patch b/dev-util/strace/files/strace-4.5.16-sparc-updates.patch
new file mode 100644
index 0000000..7d94fc4
--- /dev/null
+++ b/dev-util/strace/files/strace-4.5.16-sparc-updates.patch
@@ -0,0 +1,40 @@
+fixes from upstream cvs
+
+http://bugs.gentoo.org/162789
+
+--- strace/mem.c 2007/07/24 01:52:58 1.40
++++ strace/mem.c 2007/09/12 01:26:29 1.41
+@@ -544,7 +544,7 @@
+ return 0;
+ }
+
+-#if defined(ALPHA) || defined(FREEBSD) || defined(IA64) || defined(SUNOS4) || defined(SVR4)
++#if defined(ALPHA) || defined(FREEBSD) || defined(IA64) || defined(SUNOS4) || defined(SVR4) || defined(SPARC) || defined(SPARC64)
+ int
+ sys_getpagesize(tcp)
+ struct tcb *tcp;
+--- strace/linux/sparc/syscall.h 2006/01/12 22:34:50 1.11
++++ strace/linux/sparc/syscall.h 2007/09/12 01:26:24 1.12
+@@ -107,6 +107,7 @@
+ int sys_rt_sigtimedwait(), sys_prctl(), sys_poll();
+ int sys_sendfile(), sys_query_module(), sys_capget(), sys_capset();
+ int sys_create_module(), sys_init_module();
++int sys_setgroups32(), sys_getgroups32();
+
+ int sys_umask(); /* XXX */
+
+@@ -203,4 +204,14 @@
+ int sys_clock_getres(), sys_clock_nanosleep();
+ int sys_timer_create(), sys_timer_settime(), sys_timer_gettime();
+
++int sys_io_setup(), sys_io_destroy(), sys_io_submit(), sys_io_cancel(), sys_io_getevents();
++int sys_mq_open(), sys_mq_unlink(), sys_mq_timedsend(), sys_mq_timedreceive(), sys_mq_notify(), sys_mq_getsetattr();
++int sys_waitid();
++int sys_openat(), sys_mkdirat(), sys_mknodat(), sys_fchownat(), sys_futimesat(), sys_newfstatat(), sys_unlinkat(), sys_renameat(), sys_linkat(), sys_symlinkat(), sys_readlinkat(), sys_fchmodat(), sys_faccessat();
++int sys_pselect6(), sys_ppoll();
++int sys_unshare();
++int sys_move_pages(), sys_getcpu();
++int sys_epoll_pwait();
++int sys_signalfd(), sys_timerfd(), sys_eventfd();
++
+ #include "syscall1.h"
diff --git a/dev-util/strace/files/strace-4.5.18-arm-cache.patch b/dev-util/strace/files/strace-4.5.18-arm-cache.patch
new file mode 100644
index 0000000..9aed43c
--- /dev/null
+++ b/dev-util/strace/files/strace-4.5.18-arm-cache.patch
@@ -0,0 +1,15 @@
+http://bugs.gentoo.org/266014
+
+ARM defines SYS_cacheflush but does not have asm/cachectl.h
+
+--- a/system.c
++++ b/system.c
+@@ -70,7 +70,7 @@
+ #include <linux/capability.h>
+ #endif
+
+-#ifdef SYS_cacheflush
++#if defined(SYS_cacheflush) && !defined(ARM)
+ #include <asm/cachectl.h>
+ #endif
+
diff --git a/dev-util/strace/files/strace-4.5.18-arm-syscalls.patch b/dev-util/strace/files/strace-4.5.18-arm-syscalls.patch
new file mode 100644
index 0000000..a2f50fd
--- /dev/null
+++ b/dev-util/strace/files/strace-4.5.18-arm-syscalls.patch
@@ -0,0 +1,162 @@
+From f5da8d0c38ea0eb660cb17de7aa62cda6899eb75 Mon Sep 17 00:00:00 2001
+From: ldv <ldv>
+Date: Thu, 1 Jan 2009 23:20:38 +0000
+Subject: [PATCH] 2008-11-13 Kirill A. Shutemov <kirill@shutemov.name>
+
+ * linux/arm/syscallent.h: Fix build on ARM EABI which does not
+ provide syscalls socketcall and ipc.
+---
+ ChangeLog | 5 +++++
+ linux/arm/syscallent.h | 4 +++-
+ 2 files changed, 8 insertions(+), 1 deletions(-)
+
+diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h
+index 5ccef2f..edc3641 100644
+--- a/linux/arm/syscallent.h
++++ b/linux/arm/syscallent.h
+@@ -431,6 +431,7 @@
+ { 5, 0, printargs, "SYS_398" }, /* 398 */
+ { 5, 0, printargs, "SYS_399" }, /* 399 */
+
++#ifndef __ARM_EABI__
+ #if SYS_socket_subcall != 400
+ #error fix me
+ #endif
+@@ -481,3 +482,4 @@
+ { 4, TI, sys_shmdt, "shmdt" }, /* 440 */
+ { 4, TI, sys_shmget, "shmget" }, /* 441 */
+ { 4, TI, sys_shmctl, "shmctl" }, /* 442 */
++#endif
+--
+1.6.1.3
+
+From 885d06bc92bae2f6aad85ef2fe0b806a06f60712 Mon Sep 17 00:00:00 2001
+From: ldv <ldv>
+Date: Thu, 1 Jan 2009 23:23:47 +0000
+Subject: [PATCH] 2008-11-13 Kirill A. Shutemov <kirill@shutemov.name>
+
+ * linux/arm/syscallent.h: Update syscalls.
+ Based on patch by Enrico Scholz.
+---
+ ChangeLog | 3 +
+ linux/arm/syscallent.h | 98 ++++++++++++++++++++++++------------------------
+ 2 files changed, 52 insertions(+), 49 deletions(-)
+
+diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h
+index edc3641..6dd783a 100644
+--- a/linux/arm/syscallent.h
++++ b/linux/arm/syscallent.h
+@@ -328,63 +328,63 @@
+ { 5, TN, sys_getsockopt, "getsockopt" }, /* 295 */
+ { 3, TN, sys_sendmsg, "sendmsg" }, /* 296 */
+ { 3, TN, sys_recvmsg, "recvmsg" }, /* 297 */
+- { 5, 0, printargs, "SYS_298" }, /* 298 */
+- { 5, 0, printargs, "SYS_299" }, /* 299 */
+- { 5, 0, printargs, "SYS_300" }, /* 300 */
+- { 5, 0, printargs, "SYS_301" }, /* 301 */
+- { 5, 0, printargs, "SYS_302" }, /* 302 */
+- { 5, 0, printargs, "SYS_303" }, /* 303 */
+- { 5, 0, printargs, "SYS_304" }, /* 304 */
+- { 5, 0, printargs, "SYS_305" }, /* 305 */
+- { 5, 0, printargs, "SYS_306" }, /* 306 */
+- { 5, 0, printargs, "SYS_307" }, /* 307 */
+- { 5, 0, printargs, "SYS_308" }, /* 308 */
+- { 5, 0, printargs, "SYS_309" }, /* 309 */
+- { 5, 0, printargs, "SYS_310" }, /* 310 */
+- { 5, 0, printargs, "SYS_311" }, /* 311 */
+- { 5, 0, printargs, "SYS_312" }, /* 312 */
+- { 5, 0, printargs, "SYS_313" }, /* 313 */
+- { 5, 0, printargs, "SYS_314" }, /* 314 */
+- { 5, 0, printargs, "SYS_315" }, /* 315 */
+- { 5, 0, printargs, "SYS_316" }, /* 316 */
+- { 5, 0, printargs, "SYS_317" }, /* 317 */
+- { 5, 0, printargs, "SYS_318" }, /* 318 */
+- { 5, 0, printargs, "SYS_319" }, /* 319 */
+- { 5, 0, printargs, "SYS_320" }, /* 320 */
+- { 5, 0, printargs, "SYS_321" }, /* 321 */
+- { 5, 0, printargs, "SYS_322" }, /* 322 */
+- { 5, 0, printargs, "SYS_323" }, /* 323 */
+- { 5, 0, printargs, "SYS_324" }, /* 324 */
+- { 5, 0, printargs, "SYS_325" }, /* 325 */
+- { 5, 0, printargs, "SYS_326" }, /* 326 */
+- { 5, 0, printargs, "SYS_327" }, /* 327 */
+- { 5, 0, printargs, "SYS_328" }, /* 328 */
+- { 5, 0, printargs, "SYS_329" }, /* 329 */
+- { 5, 0, printargs, "SYS_330" }, /* 330 */
+- { 5, 0, printargs, "SYS_331" }, /* 331 */
+- { 5, 0, printargs, "SYS_332" }, /* 332 */
+- { 5, 0, printargs, "SYS_333" }, /* 333 */
+- { 5, 0, printargs, "SYS_334" }, /* 334 */
++ { 4, TI, sys_semop, "semop" }, /* 298 */
++ { 4, TI, sys_semget, "semget" }, /* 299 */
++ { 4, TI, sys_semctl, "semctl" }, /* 300 */
++ { 4, TI, sys_msgsnd, "msgsnd" }, /* 301 */
++ { 4, TI, sys_msgrcv, "msgrcv" }, /* 302 */
++ { 4, TI, sys_msgget, "msgget" }, /* 303 */
++ { 4, TI, sys_msgctl, "msgctl" }, /* 304 */
++ { 4, TI, sys_shmat, "shmat" }, /* 305 */
++ { 4, TI, sys_shmdt, "shmdt" }, /* 306 */
++ { 4, TI, sys_shmget, "shmget" }, /* 307 */
++ { 4, TI, sys_shmctl, "shmctl" }, /* 308 */
++ { 5, 0, printargs, "add_key" }, /* 309 */
++ { 4, 0, printargs, "request_key" }, /* 310 */
++ { 5, 0, printargs, "keyctl" }, /* 311 */
++ { 5, TI, sys_semtimedop, "semtimedop" }, /* 312 */
++ { 5, 0, printargs, "vserver" }, /* 313 */
++ { 3, 0, printargs, "ioprio_set" }, /* 314 */
++ { 2, 0, printargs, "ioprio_get" }, /* 315 */
++ { 0, TD, printargs, "inotify_init" }, /* 316 */
++ { 3, TD, sys_inotify_add_watch, "inotify_add_watch" }, /* 317 */
++ { 2, TD, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 318 */
++ { 6, 0, sys_mbind, "mbind" }, /* 319 */
++ { 3, 0, sys_set_mempolicy, "set_mempolicy" }, /* 320 */
++ { 5, 0, sys_get_mempolicy, "get_mempolicy" }, /* 321 */
++ { 4, TD|TF, sys_openat, "openat" }, /* 322 */
++ { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 323 */
++ { 4, TD|TF, sys_mknodat, "mknodat" }, /* 324 */
++ { 5, TD|TF, sys_fchownat, "fchownat" }, /* 325 */
++ { 3, TD|TF, sys_futimesat, "futimesat" }, /* 326 */
++ { 4, TD|TD, sys_newfstatat, "newfstatat" }, /* 327 */
++ { 3, TD|TF, sys_unlinkat, "unlinkat" }, /* 328 */
++ { 4, TD|TF, sys_renameat, "renameat" }, /* 329 */
++ { 5, TD|TF, sys_linkat, "linkat" }, /* 330 */
++ { 3, TD|TF, sys_symlinkat, "symlinkat" }, /* 331 */
++ { 4, TD|TF, sys_readlinkat, "readlinkat" }, /* 332 */
++ { 3, TD|TF, sys_fchmodat, "fchmodat" }, /* 333 */
++ { 3, TD|TF, sys_faccessat, "faccessat" }, /* 334 */
+ { 5, 0, printargs, "SYS_335" }, /* 335 */
+ { 5, 0, printargs, "SYS_336" }, /* 336 */
+- { 5, 0, printargs, "SYS_337" }, /* 337 */
+- { 5, 0, printargs, "SYS_338" }, /* 338 */
+- { 5, 0, printargs, "SYS_339" }, /* 339 */
+- { 5, 0, printargs, "SYS_340" }, /* 340 */
++ { 1, TP, sys_unshare, "unshare" }, /* 337 */
++ { 2, 0, printargs, "set_robust_list" }, /* 338 */
++ { 3, 0, printargs, "get_robust_list" }, /* 339 */
++ { 6, TD, printargs, "splice" }, /* 340 */
+ { 5, 0, printargs, "SYS_341" }, /* 341 */
+- { 5, 0, printargs, "SYS_342" }, /* 342 */
+- { 5, 0, printargs, "SYS_343" }, /* 343 */
++ { 4, TD, printargs, "tee" }, /* 342 */
++ { 4, TD, printargs, "vmsplice" }, /* 343 */
+ { 6, 0, sys_move_pages, "move_pages" }, /* 344 */
+ { 3, 0, sys_getcpu, "getcpu" }, /* 345 */
+ { 5, 0, printargs, "SYS_346" }, /* 346 */
+- { 5, 0, printargs, "SYS_347" }, /* 347 */
+- { 5, 0, printargs, "SYS_348" }, /* 348 */
++ { 5, 0, printargs, "kexec_load" }, /* 347 */
++ { 4, TD|TF, sys_utimensat, "utimensat" }, /* 348 */
+ { 3, TD|TS, sys_signalfd, "signalfd" }, /* 349 */
+ { 4, TD, sys_timerfd, "timerfd" }, /* 350 */
+ { 1, TD, sys_eventfd, "eventfd" }, /* 351 */
+- { 5, 0, printargs, "SYS_352" }, /* 352 */
+- { 5, 0, printargs, "SYS_353" }, /* 353 */
+- { 5, 0, printargs, "SYS_354" }, /* 354 */
++ { 6, TF, sys_fallocate, "fallocate" }, /* 352 */
++ { 4, TD, sys_timerfd_settime, "timerfd_settime"}, /* 353 */
++ { 2, TD, sys_timerfd_gettime, "timerfd_gettime"}, /* 354 */
+ { 5, 0, printargs, "SYS_355" }, /* 355 */
+ { 5, 0, printargs, "SYS_356" }, /* 356 */
+ { 5, 0, printargs, "SYS_357" }, /* 357 */
+--
+1.6.1.3
diff --git a/dev-util/strace/files/strace-4.5.19-mips-n32.patch b/dev-util/strace/files/strace-4.5.19-mips-n32.patch
new file mode 100644
index 0000000..f65d009
--- /dev/null
+++ b/dev-util/strace/files/strace-4.5.19-mips-n32.patch
@@ -0,0 +1,11 @@
+--- strace-4.5.19/syscall.c.orig 2009-11-24 18:33:03.000000000 +0800
++++ strace-4.5.19/syscall.c 2009-11-24 18:33:10.000000000 +0800
+@@ -2035,7 +2035,7 @@
+ else
+ nargs = tcp->u_nargs = MAX_ARGS;
+
+- if (ptrace (PTRACE_GETREGS, pid, NULL, (long) &regs) < 0)
++ if (ptrace (PTRACE_GETREGS, tcp->pid, NULL, (long) &regs) < 0)
+ return -1;
+
+ for(i = 0; i < nargs; i++) {
diff --git a/dev-util/strace/files/strace-fix-arm-bad-syscall.patch b/dev-util/strace/files/strace-fix-arm-bad-syscall.patch
new file mode 100644
index 0000000..125440d
--- /dev/null
+++ b/dev-util/strace/files/strace-fix-arm-bad-syscall.patch
@@ -0,0 +1,20 @@
+http://www.fluff.org/ben/patches/strace/
+
+--- strace-4.5.12-orig/syscall.c 2005-06-08 21:45:28.000000000 +0100
++++ strace-4.5.12/syscall.c 2005-10-25 19:26:39.000000000 +0100
+@@ -1013,6 +1013,15 @@ struct tcb *tcp;
+ /*
+ * Note: we only deal with only 32-bit CPUs here.
+ */
++
++ if (!(tcp->flags & TCB_INSYSCALL) &&
++ (tcp->flags & TCB_WAITEXECVE)) {
++ /* caught a fake syscall from the execve's exit */
++ tcp->flags &= ~TCB_WAITEXECVE;
++ return 0;
++ }
++
++
+ if (regs.ARM_cpsr & 0x20) {
+ /*
+ * Get the Thumb-mode system call number
diff --git a/dev-util/strace/metadata.xml b/dev-util/strace/metadata.xml
new file mode 100644
index 0000000..605ea01
--- /dev/null
+++ b/dev-util/strace/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>base-system</herd>
+ <use>
+ <flag name="aio">Enable libaio support</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-util/strace/strace-4.5.19.ebuild b/dev-util/strace/strace-4.5.19.ebuild
new file mode 100644
index 0000000..c809253
--- /dev/null
+++ b/dev-util/strace/strace-4.5.19.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/strace/strace-4.5.19.ebuild,v 1.3 2009/11/11 21:11:20 vapier Exp $
+
+inherit flag-o-matic
+
+DESCRIPTION="A useful diagnostic, instructional, and debugging tool"
+HOMEPAGE="http://sourceforge.net/projects/strace/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="static aio"
+
+# strace only uses the header from libaio
+DEPEND="aio? ( >=dev-libs/libaio-0.3.106 )"
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${P}-mips-n32.patch"
+}
+
+src_compile() {
+ filter-lfs-flags # configure handles this sanely
+ use static && append-ldflags -static
+
+ use aio || export ac_cv_header_libaio_h=no #
+ econf || die
+ emake || die
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ dodoc ChangeLog CREDITS NEWS PORTING README* TODO
+}