From 1ca6dd4ebeaad7a3d098be85de7f55a57021b508 Mon Sep 17 00:00:00 2001 From: CentOS Buildsys Date: Oct 03 2013 15:44:50 +0000 Subject: import strace-4.8-4.el7.src.rpm --- diff --git a/.strace.metadata b/.strace.metadata new file mode 100644 index 0000000..1f43c5b --- /dev/null +++ b/.strace.metadata @@ -0,0 +1 @@ +88c19b900d9cb2931e6ea4cf36e0ae3838f2f698 SOURCES/strace-4.8.tar.xz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/strace-rh851457.patch b/SOURCES/strace-rh851457.patch new file mode 100644 index 0000000..b234a10 --- /dev/null +++ b/SOURCES/strace-rh851457.patch @@ -0,0 +1,246 @@ +diff -Nrup a/defs.h b/defs.h +--- a/defs.h 2013-05-14 08:10:42.000000000 -0600 ++++ b/defs.h 2013-06-13 09:46:36.972244927 -0600 +@@ -398,6 +398,9 @@ struct tcb { + int pid; /* Process Id of this entry */ + int qual_flg; /* qual_flags[scno] or DEFAULT_QUAL_FLAGS + RAW */ + int u_error; /* Error code */ ++ int wait_status; /* Status from last wait() */ ++ struct tcb *next_need_service; ++ /* Linked list of tracees found by wait()s */ + long scno; /* System call number */ + long u_arg[MAX_ARGS]; /* System call arguments */ + #if defined(LINUX_MIPSN32) || defined(X32) +diff -Nrup a/strace.c b/strace.c +--- a/strace.c 2013-05-28 15:49:16.000000000 -0600 ++++ b/strace.c 2013-06-13 09:46:45.381217727 -0600 +@@ -1895,21 +1895,42 @@ interrupt(int sig) + interrupted = sig; + } + +-static int +-trace(void) ++static int remembered_pid; ++static int remembered_status; ++ ++static struct tcb * ++collect_stopped_tcbs(void) + { + struct rusage ru; + struct rusage *rup = cflag ? &ru : NULL; ++ struct tcb *found_tcps; ++ struct tcb **nextp; ++ int wnohang = 0; ++ int pid; ++ struct tcb *tcp; ++ + #ifdef __WALL + static int wait4_options = __WALL; + #endif + ++ if (remembered_pid) { ++ pid = remembered_pid; ++ remembered_pid = 0; ++ if (debug_flag) ++ fprintf(stderr, " [remembered wait(%#x) = %u]\n", ++ remembered_status, pid); ++ tcp = pid2tcb(pid); /* can't be NULL */ ++ tcp->wait_status = remembered_status; ++ tcp->next_need_service = NULL; ++ return tcp; ++ } ++ ++ nextp = &found_tcps; ++ found_tcps = NULL; ++ + while (nprocs != 0) { +- int pid; + int wait_errno; +- int status, sig; +- int stopped; +- struct tcb *tcp; ++ int status; + unsigned event; + + if (interrupted) +@@ -1917,26 +1938,36 @@ trace(void) + if (interactive) + sigprocmask(SIG_SETMASK, &empty_set, NULL); + #ifdef __WALL +- pid = wait4(-1, &status, wait4_options, rup); ++ pid = wait4(-1, &status, wait4_options | wnohang, rup); + if (pid < 0 && (wait4_options & __WALL) && errno == EINVAL) { + /* this kernel does not support __WALL */ + wait4_options &= ~__WALL; +- pid = wait4(-1, &status, wait4_options, rup); ++ pid = wait4(-1, &status, wait4_options | wnohang, rup); + } + if (pid < 0 && !(wait4_options & __WALL) && errno == ECHILD) { + /* most likely a "cloned" process */ +- pid = wait4(-1, &status, __WCLONE, rup); +- if (pid < 0) { ++ pid = wait4(-1, &status, __WCLONE | wnohang, rup); ++ if (pid < 0 && errno != ECHILD) { + perror_msg("wait4(__WCLONE) failed"); + } + } + #else +- pid = wait4(-1, &status, 0, rup); ++ pid = wait4(-1, &status, wnohang, rup); + #endif /* __WALL */ + wait_errno = errno; + if (interactive) + sigprocmask(SIG_BLOCK, &blocked_set, NULL); + ++ if (pid == 0 && wnohang) { ++ /* We had at least one successful ++ * wait() before. We waited ++ * with WNOHANG second time. ++ * Stop collecting more tracees, ++ * process what we already have. ++ */ ++ break; ++ } ++ + if (pid < 0) { + switch (wait_errno) { + case EINTR: +@@ -1948,11 +1979,11 @@ trace(void) + * version of SunOS sometimes reports + * ECHILD before sending us SIGCHILD. + */ +- return 0; ++ return found_tcps; + default: + errno = wait_errno; + perror_msg("wait"); +- return -1; ++ return (struct tcb *) -1; + } + } + if (pid == popen_pid) { +@@ -2092,14 +2123,68 @@ trace(void) + skip_one_b_execve = 0; + } + +- /* Set current output file */ +- current_tcp = tcp; +- + if (cflag) { + tv_sub(&tcp->dtime, &ru.ru_stime, &tcp->stime); + tcp->stime = ru.ru_stime; + } + ++ /* If we waited and got a stopped task notification, ++ * subsequent wait may return the same pid again, for example, ++ * with SIGKILL notification. SIGKILL kills even stopped tasks. ++ * We must not add it to the list ++ * (one task can't be inserted twice in the list). ++ */ ++ { ++ struct tcb *f = found_tcps; ++ while (f) { ++ if (f == tcp) { ++ remembered_pid = pid; ++ remembered_status = status; ++ return found_tcps; ++ } ++ f = f->next_need_service; ++ } ++ } ++ ++ /* It is important to not invert the order of tasks ++ * to process. For one, alloc_tcb() above picks newly forked ++ * threads in some order, processing of them and their parent ++ * should be in the same order, otherwise bad things happen ++ * (misinterpreted SIGSTOPs and such). ++ */ ++ tcp->wait_status = status; ++ *nextp = tcp; ++ nextp = &tcp->next_need_service; ++ *nextp = NULL; ++ wnohang = WNOHANG; ++ } ++ return found_tcps; ++} ++ ++static int ++handle_stopped_tcbs(struct tcb *tcp) ++{ ++ struct tcb *next; ++ ++ for (; tcp; tcp = next) { ++ int pid; ++ int status; ++ int sig; ++ int event; ++ int stopped; ++ ++ ++ /* If the child exits, the TCP will get dropped and ++ thus we can't use it to find the next TCP needing ++ service. So we save the next TCP needing service ++ and used the saved value when the loop iterates. */ ++ next = tcp->next_need_service; ++ ++ current_tcp = tcp; ++ status = tcp->wait_status; ++ pid = tcp->pid; ++ ++ event = ((unsigned)status >> 16); + if (WIFSIGNALED(status)) { + if (pid == strace_child) + exit_code = 0x100 | WTERMSIG(status); +@@ -2302,6 +2387,27 @@ trace(void) + return 0; + } + ++static int ++trace(void) ++{ ++ int rc; ++ struct tcb *tcbs; ++ ++ while (nprocs != 0) { ++ if (interrupted) ++ return 0; ++ tcbs = collect_stopped_tcbs(); ++ if (!tcbs) ++ break; ++ if (tcbs == (struct tcb *) -1) ++ return -1; ++ rc = handle_stopped_tcbs(tcbs); ++ if (rc) ++ return rc; ++ } ++ return 0; ++} ++ + int + main(int argc, char *argv[]) + { +diff -Nrup a/tests/Makefile.am b/tests/Makefile.am +--- a/tests/Makefile.am 2013-05-07 20:06:39.000000000 -0600 ++++ b/tests/Makefile.am 2013-06-13 10:01:52.103302835 -0600 +@@ -4,7 +4,8 @@ AM_CFLAGS = $(WARN_CFLAGS) + + check_PROGRAMS = net-accept-connect + +-TESTS = ptrace_setoptions strace-f qual_syscall stat net ++# "net" test disabled as it is highly dependent on timing issues ++TESTS = ptrace_setoptions strace-f qual_syscall stat + + EXTRA_DIST = init.sh $(TESTS) + +diff -Nrup a/tests/Makefile.in b/tests/Makefile.in +--- a/tests/Makefile.in 2013-06-04 18:02:45.000000000 -0600 ++++ b/tests/Makefile.in 2013-06-13 10:02:17.535221388 -0600 +@@ -201,7 +201,7 @@ top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + AM_CFLAGS = $(WARN_CFLAGS) +-TESTS = ptrace_setoptions strace-f qual_syscall stat net ++TESTS = ptrace_setoptions strace-f qual_syscall stat + EXTRA_DIST = init.sh $(TESTS) + CLEANFILES = check.log + all: all-am diff --git a/SOURCES/strace-rh948577.patch b/SOURCES/strace-rh948577.patch new file mode 100644 index 0000000..1bc482c --- /dev/null +++ b/SOURCES/strace-rh948577.patch @@ -0,0 +1,46 @@ +diff -Nrup a/Makefile.am b/Makefile.am +--- a/Makefile.am 2012-04-18 09:27:25.000000000 -0600 ++++ b/Makefile.am 2013-04-15 15:05:43.907237228 -0600 +@@ -3,7 +3,7 @@ + SUBDIRS = tests + + bin_PROGRAMS = strace +-man_MANS = strace.1 ++man_MANS = strace.1 strace-log-merge.1 + bin_SCRIPTS = strace-graph strace-log-merge + + OS = linux +diff -Nrup a/Makefile.in b/Makefile.in +--- a/Makefile.in 2012-05-02 09:40:25.000000000 -0600 ++++ b/Makefile.in 2013-04-15 15:15:01.060139931 -0600 +@@ -302,7 +302,7 @@ top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + SUBDIRS = tests +-man_MANS = strace.1 ++man_MANS = strace.1 strace-log-merge.1 + bin_SCRIPTS = strace-graph strace-log-merge + OS = linux + # ARCH is `i386', `m68k', `sparc', etc. +diff -Nrup a/strace-log-merge.1 b/strace-log-merge.1 +--- a/strace-log-merge.1 1969-12-31 17:00:00.000000000 -0700 ++++ b/strace-log-merge.1 2013-04-15 15:05:13.235353408 -0600 +@@ -0,0 +1,18 @@ ++.TH strace-log-merge 1 "15 April 2013" ".1" "strace-log-merge" ++.SH NAME ++strace-log-merge ++.SH SYNOPSIS ++strace-log-merge STRACE_LOG ++.SH DESCRIPTION ++strace-log-merge finds all STRACE_LOG.PID files, adds PID prefix to every line, ++the combines and sorts them, and prints the result to standard output. ++ ++It is assumed that STRACE_LOGs were produced by strace with the -tt[t] ++option which prints timestamps (otherwise worting won't do any good). ++ ++.SH OPTIONS ++--help Show help ++ ++.SH SEE ALSO ++.SH BUGS ++ diff --git a/SOURCES/strace-rh971352.patch b/SOURCES/strace-rh971352.patch new file mode 100644 index 0000000..0d955a2 --- /dev/null +++ b/SOURCES/strace-rh971352.patch @@ -0,0 +1,15 @@ +diff -Nrup a/strace.c b/strace.c +--- a/strace.c 2013-07-17 14:39:50.603696069 -0600 ++++ b/strace.c 2013-07-17 14:43:27.625962443 -0600 +@@ -2184,6 +2184,11 @@ handle_stopped_tcbs(struct tcb *tcp) + status = tcp->wait_status; + pid = tcp->pid; + ++ /* we must re-fetch all registers for each pid in list */ ++ clear_regs(); ++ if (WIFSTOPPED(status)) ++ get_regs(pid); ++ + event = ((unsigned)status >> 16); + if (WIFSIGNALED(status)) { + if (pid == strace_child) diff --git a/SOURCES/strace-strict-aliasing.patch b/SOURCES/strace-strict-aliasing.patch new file mode 100644 index 0000000..f038dea --- /dev/null +++ b/SOURCES/strace-strict-aliasing.patch @@ -0,0 +1,40 @@ +diff -Nrup a/system.c b/system.c +--- a/system.c 2012-03-16 05:02:22.000000000 -0600 ++++ b/system.c 2013-02-18 15:17:23.651569983 -0700 +@@ -516,10 +516,14 @@ print_cap_header(struct tcb *tcp, unsign + umoven(tcp, addr, sizeof(*arg.p), arg.c) < 0) + tprintf("%#lx", addr); + else { ++ __u32 version; ++ int pid; + tprints("{"); +- printxval(cap_version, arg.p->version, ++ memcpy (&version, &arg.p->version, sizeof (__u32)); ++ printxval(cap_version, version, + "_LINUX_CAPABILITY_VERSION_???"); +- tprintf(", %d}", arg.p->pid); ++ memcpy (&pid, &arg.p->pid, sizeof (int)); ++ tprintf(", %d}", pid); + } + } + +@@ -537,12 +541,16 @@ print_cap_data(struct tcb *tcp, unsigned + umoven(tcp, addr, sizeof(*arg.p), arg.c) < 0) + tprintf("%#lx", addr); + else { ++ __u32 x; + tprints("{"); +- printflags(capabilities, arg.p->effective, "CAP_???"); ++ memcpy (&x, &arg.p->effective, sizeof (__u32)); ++ printflags(capabilities, x, "CAP_???"); + tprints(", "); +- printflags(capabilities, arg.p->permitted, "CAP_???"); ++ memcpy (&x, &arg.p->permitted, sizeof (__u32)); ++ printflags(capabilities, x, "CAP_???"); + tprints(", "); +- printflags(capabilities, arg.p->inheritable, "CAP_???"); ++ memcpy (&x, &arg.p->inheritable, sizeof (__u32)); ++ printflags(capabilities, x, "CAP_???"); + tprints("}"); + } + } diff --git a/SPECS/strace.spec b/SPECS/strace.spec new file mode 100644 index 0000000..3a6e96e --- /dev/null +++ b/SPECS/strace.spec @@ -0,0 +1,524 @@ +Summary: Tracks and displays system calls associated with a running process +Name: strace +Version: 4.8 +Release: 4%{?dist} +License: BSD +Group: Development/Debuggers +URL: http://sourceforge.net/projects/strace/ +Source: http://downloads.sourceforge.net/strace/%{name}-%{version}.tar.xz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: libacl-devel, libaio-devel, time + +Patch1000: strace-strict-aliasing.patch +Patch1001: strace-rh948577.patch +Patch1002: strace-rh851457.patch +Patch1003: strace-rh971352.patch + + +# In the past we had a separate strace64 package, these days the +# stndard 64 bit build provides that functionality. For tracing +# 32 bit applications on ppc and s390 we still have strace32 +Obsoletes: strace64 + +%define strace32_arches ppc s390 + +%description +The strace program intercepts and records the system calls called and +received by a running process. Strace can print a record of each +system call, its arguments and its return value. Strace is useful for +diagnosing problems and debugging, as well as for instructional +purposes. + +Install strace if you need a tool to track the system calls made and +received by a process. + +%ifarch %{strace32_arches} +%package -n strace32 +Summary: Tracks and displays system calls associated with a running process. +Group: Development/Debuggers + +%description -n strace32 +The strace program intercepts and records the system calls called and +received by a running process. Strace can print a record of each +system call, its arguments and its return value. Strace is useful for +diagnosing problems and debugging, as well as for instructional +purposes. + +Install strace if you need a tool to track the system calls made and +received by a process. + +This package provides the `strace32' program to trace 32-bit processes on +64-bit IBM P and Z series platforms. +%endif + +%prep +%setup -q +%patch1000 -p1 +%patch1001 -p1 +%patch1002 -p1 +%patch1003 -p1 + +%build +%configure +make %{?_smp_mflags} + +%install +rm -rf %{buildroot} +make DESTDIR=%{buildroot} install + +# remove unpackaged files from the buildroot +rm -f %{buildroot}%{_bindir}/strace-graph + +%define copy64 ln +%if 0%{?rhel} +%if 0%{?rhel} < 6 +%endif +%define copy64 cp -p +%endif + +%ifarch %{strace32_arches} +%{copy64} %{buildroot}%{_bindir}/strace %{buildroot}%{_bindir}/strace32 +%endif + +%check +make check + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root) +%doc CREDITS ChangeLog ChangeLog-CVS COPYING NEWS README +%{_bindir}/strace +%{_bindir}/strace-log-merge +%{_mandir}/man1/* + +%ifarch %{strace32_arches} +%files -n strace32 +%defattr(-,root,root) +%{_bindir}/strace32 +%endif + +%changelog +* Thu Oct 3 2013 Jeff Law - 4.8-4 +- Build strace32 on ppc/s390 which can be installed alongside of strace + on ppc64/s390x (#980229) + +* Wed Jul 17 2013 Jeff Law - 4.8-3 +- Refetch registers in collect_stopped_tcbs (#971352) + +* Wed Jun 12 2013 Jeff Law - 4.8-2 +- Don't dereference dropped TCP (#971352). From + Jan Stancek. Merged into patch for 851457. +- Disable "net" test as it is highly timing dependent + Merge into patch 851457. +- Bring forward patches lost after resyncing with Fedora. + - Patch to avoid strict aliasing warnings + - Patch to add man page for strace-log-merge (#948577) + - Patch to improve scheduling fairness (#851457) + +* Mon Jun 03 2013 Dmitry V. Levin - 4.8-1 +- New upstream release: + + fixed ERESTARTNOINTR leaking to userspace on ancient kernels (#659382); + + fixed decoding of *xattr syscalls (#885233); + + fixed handling of files with 64-bit inode numbers by 32-bit strace (#912790); + + added aarch64 support (#969858). + +* Fri Feb 15 2013 Fedora Release Engineering - 4.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Jul 21 2012 Fedora Release Engineering - 4.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed May 02 2012 Dmitry V. Levin 4.7-1 +- New upstream release. + + implemented proper handling of real SIGTRAPs (#162774). + +* Sat Jan 14 2012 Fedora Release Engineering - 4.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Mar 14 2011 Dmitry V. Levin - 4.6-1 +- New upstream release. + + fixed a corner case in waitpid handling (#663547). + +* Wed Feb 09 2011 Fedora Release Engineering - 4.5.20-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Apr 13 2010 Roland McGrath - 4.5.20-1 +- New upstream release, work mostly by Andreas Schwab and Dmitry V. Levin. + + fixed potential stack buffer overflow in select decoder (#556678); + + fixed FTBFS (#539044). + +* Wed Oct 21 2009 Roland McGrath - 4.5.19-1 +- New upstream release, work mostly by Dmitry V. Levin + + exit/kill strace with traced process exitcode/signal (#105371); + + fixed build on ARM EABI (#507576); + + fixed display of 32-bit argv array on 64-bit architectures (#519480); + + fixed display of 32-bit fcntl(F_SETLK) on 64-bit architectures (#471169); + + fixed several bugs in strings decoder, including potential heap + memory corruption (#470529, #478324, #511035). + +* Thu Aug 28 2008 Roland McGrath - 4.5.18-1 +- build fix for newer kernel headers (#457291) +- fix CLONE_VFORK handling (#455078) +- Support new Linux/PPC system call subpage_prot and PROT_SAO flag. +- In sigaction system call, display sa_flags value along with SIG_DFL/SIG_IGN. + +* Mon Jul 21 2008 Roland McGrath - 4.5.17-1 +- handle O_CLOEXEC, MSG_CMSG_CLOEXEC (#365781) +- fix biarch stat64 decoding (#222275) +- fix spurious "..." in printing of environment strings (#358241) +- improve prctl decoding (#364401) +- fix hang wait on exited child with exited child (#354261) +- fix biarch fork/vfork (-f) tracing (#447475) +- fix biarch printing of negative argument kill (#430585) +- fix biarch decoding of error return values (#447587) +- fix -f tracing of CLONE_VFORK (#455078) +- fix ia64 register clobberation in -f tracing (#453438) +- print SO_NODEFER, SA_RESETHAND instead of SA_NOMASK, SA_ONESHOT (#455821) +- fix futex argument decoding (#448628, #448629) + +* Fri Aug 3 2007 Roland McGrath - 4.5.16-1 +- fix multithread issues (#240962, #240961, #247907) +- fix spurious SIGSTOP on early interrupt (#240986) +- fix utime for biarch (#247185) +- fix -u error message (#247170) +- better futex syscall printing (##241467) +- fix argv/envp printing with small -s settings, and for biarch +- new syscalls: getcpu, eventfd, timerfd, signalfd, epoll_pwait, + move_pages, utimensat + +* Tue Jan 16 2007 Roland McGrath - 4.5.15-1 +- biarch fixes (#179740, #192193, #171626, #173050, #218433, #218043) +- fix -ff -o behavior (#204950, #218435, #193808, #219423) +- better quotactl printing (#118696) +- *at, inotify*, pselect6, ppoll and unshare syscalls (#178633, #191275) +- glibc-2.5 build fixes (#209856) +- memory corruption fixes (#200621 +- fix race in child setup under -f (#180293) +- show ipc key values in hex (#198179, #192182) +- disallow -c with -ff (#187847) +- Resolves: RHBZ #179740, RHBZ #192193, RHBZ #204950, RHBZ #218435 +- Resolves: RHBZ #193808, RHBZ #219423, RHBZ #171626, RHBZ #173050 +- Resolves: RHBZ #218433, RHBZ #218043, RHBZ #118696, RHBZ #178633 +- Resolves: RHBZ #191275, RHBZ #209856, RHBZ #200621, RHBZ #180293 +- Resolves: RHBZ #198179, RHBZ #198182, RHBZ #187847 + +* Mon Nov 20 2006 Jakub Jelinek - 4.5.14-4 +- Fix ia64 syscall decoding (#206768) +- Fix build with glibc-2.4.90-33 and up on all arches but ia64 +- Fix build against 2.6.18+ headers + +* Tue Aug 22 2006 Roland McGrath - 4.5.14-3 +- Fix bogus decoding of syscalls >= 300 (#201462, #202620). + +* Fri Jul 14 2006 Jesse Keating - 4.5.14-2 +- rebuild + +* Fri Feb 10 2006 Jesse Keating - 4.5.14-1.2 +- bump again for long double bug on ppc{,64} + +* Tue Feb 07 2006 Jesse Keating - 4.5.14-1.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Mon Jan 16 2006 Roland McGrath - 4.5.14-1 +- Fix biarch decoding of socket syscalls (#174354). +- Fix biarch -e support (#173986). +- Accept numeric syscalls in -e (#174798). +- Fix ipc syscall decoding (#164755). +- Improve msgrcv printing (#164757). +- Man page updates (#165375). +- Improve mount syscall printing (#165377). +- Correct printing of restarting syscalls (#165469). + +* Wed Aug 3 2005 Roland McGrath - 4.5.13-1 +- Fix setsockopt decoding on 64-bit (#162449). +- Fix typos in socket option name strings (#161578). +- Display more IPV6 socket options by name (#162450). +- Don't display inappropriate syscalls for -e trace=file (#159340). +- New selector type -e trace=desc for file-descriptor using calls (#159400). +- Fix 32-bit old_mmap syscall decoding on x86-64 (#162467, #164215). +- Fix errors detaching from multithreaded process on interrupt (#161919). +- Note 4.5.12 fix for crash handling bad signal numbers (#162739). + +* Wed Jun 8 2005 Roland McGrath - 4.5.12-1 +- Fix known syscall recognition for IA32 processes on x86-64 (#158934). +- Fix bad output for ptrace on x86-64 (#159787). +- Fix potential buffer overruns (#151570, #159196). +- Make some diagnostics more consistent (#159308). +- Update PowerPC system calls. +- Better printing for Linux aio system calls. +- Don't truncate statfs64 fields to 32 bits in output (#158243). +- Cosmetic code cleanups (#159688). + +* Tue Mar 22 2005 Roland McGrath - 4.5.11-1 +- Build tweaks. +- Note 4.5.10 select fix (#151570). + +* Mon Mar 14 2005 Roland McGrath - 4.5.10-1 +- Fix select handling on nonstandard fd_set sizes. +- Don't print errors for null file name pointers. +- Fix initial execve output with -i (#143365). + +* Fri Feb 4 2005 Roland McGrath - 4.5.9-2 +- update ia64 syscall list (#146245) +- fix x86_64 syscall argument extraction for 32-bit processes (#146093) +- fix -e signal=NAME parsing (#143362) +- fix x86_64 exit_group syscall handling +- improve socket ioctl printing (#138223) +- code cleanups (#143369, #143370) +- improve mount flags printing (#141932) +- support symbolic printing of x86_64 arch_prctl parameters (#142667) +- fix potential crash in getxattr printing + +* Tue Oct 19 2004 Roland McGrath - 4.5.8-1 +- fix multithreaded exit handling (#132150, #135254) +- fix ioctl name matching (#129808) +- print RTC_* ioctl structure contents (#58606) +- grok epoll_* syscalls (#134463) +- grok new RLIMIT_* values (#133594) +- print struct cmsghdr contents for sendmsg (#131689) +- fix clock_* and timer_* argument output (#131420) + +* Tue Aug 31 2004 Roland McGrath - 4.5.7-2 +- new upstream version, misc fixes and updates (#128091, #129166, #128391, #129378, #130965, #131177) + +* Mon Jul 12 2004 Roland McGrath 4.5.6-1 +- new upstream version, updates ioctl lists (#127398), fixes quotactl (#127393), more ioctl decoding (#126917) + +* Sun Jun 27 2004 Roland McGrath 4.5.5-1 +- new upstream version, fixes x86-64 biarch support (#126547) + +* Tue Jun 15 2004 Elliot Lee 4.5.4-2 +- rebuilt + +* Thu Jun 3 2004 Roland McGrath 4.5.4-0.FC1 +- rebuilt for FC1 update + +* Thu Jun 3 2004 Roland McGrath 4.5.4-1 +- new upstream version, more ioctls (#122257), minor fixes + +* Fri Apr 16 2004 Roland McGrath 4.5.3-1 +- new upstream version, mq_* calls (#120701), -p vs NPTL (#120462), more fixes (#118694, #120541, #118685) + +* Tue Mar 02 2004 Elliot Lee 4.5.2-1.1 +- rebuilt + +* Mon Mar 1 2004 Roland McGrath 4.5.2-1 +- new upstream version, sched_* calls (#116990), show core flag (#112117) + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Thu Nov 13 2003 Roland McGrath 4.5.1-1 +- new upstream version, more fixes (#108012, #105366, #105359, #105358) + +* Tue Sep 30 2003 Roland McGrath 4.5-3 +- revert bogus s390 fix + +* Thu Sep 25 2003 Roland McGrath 4.5-1.2.1AS +- rebuilt for 2.1AS erratum + +* Wed Sep 24 2003 Roland McGrath 4.5-2 +- rebuilt + +* Wed Sep 24 2003 Roland McGrath 4.5-1 +- new upstream version, more fixes (#101499, #104365) + +* Thu Jul 17 2003 Roland McGrath 4.4.99-2 +- rebuilt + +* Thu Jul 17 2003 Roland McGrath 4.4.99-1 +- new upstream version, groks more new system calls, PF_INET6 sockets + +* Tue Jun 10 2003 Roland McGrath 4.4.98-1 +- new upstream version, more fixes (#90754, #91085) + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Sun Mar 30 2003 Roland McGrath 4.4.96-1 +- new upstream version, handles yet more 2.5 syscalls, x86_64 & ia64 fixes + +* Mon Feb 24 2003 Elliot Lee 4.4.95-2 +- rebuilt + +* Mon Feb 24 2003 Roland McGrath 4.4.95-1 +- new upstream version, fixed getresuid/getresgid (#84959) + +* Wed Feb 19 2003 Roland McGrath 4.4.94-1 +- new upstream version, new option -E to set environment variables (#82392) + +* Wed Jan 22 2003 Tim Powers 4.4.93-2 +- rebuilt + +* Tue Jan 21 2003 Roland McGrath 4.4.93-1 +- new upstream version, fixes ppc and s390 bugs, adds missing ptrace requests + +* Fri Jan 10 2003 Roland McGrath 4.4.91-1 +- new upstream version, fixes -f on x86-64 + +* Fri Jan 10 2003 Roland McGrath 4.4.90-1 +- new upstream version, fixes all known bugs modulo ia64 and s390 issues + +* Fri Jan 03 2003 Florian La Roche 4.4-11 +- add further s390 patch from IBM + +* Wed Nov 27 2002 Tim Powers 4.4-10 +- remove unpackaged files from the buildroot + +* Mon Oct 07 2002 Phil Knirsch 4.4-9.1 +- Added latest s390(x) patch. + +* Fri Sep 06 2002 Karsten Hopp 4.4-9 +- preliminary x86_64 support with an ugly patch to help + debugging. Needs cleanup! + +* Mon Sep 2 2002 Jakub Jelinek 4.4-8 +- newer version of the clone fixing patch (Roland McGrath) +- aio syscalls for i386/ia64/ppc (Ben LaHaise) + +* Wed Aug 28 2002 Jakub Jelinek 4.4-7 +- fix strace -f (Roland McGrath, #68994) +- handle ?et_thread_area, SA_RESTORER (Ulrich Drepper) + +* Fri Jun 21 2002 Jakub Jelinek 4.4-6 +- handle futexes, *xattr, sendfile64, etc. (Ulrich Drepper) +- handle modify_ldt (#66894) + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Tue Apr 16 2002 Jakub Jelinek 4.4-4 +- fix for the last patch by Jeff Law (#62591) + +* Mon Mar 4 2002 Preston Brown 4.4-3 +- integrate patch from Jeff Law to eliminate hang tracing threads + +* Sat Feb 23 2002 Florian La Roche +- minor update from debian tar-ball + +* Wed Jan 02 2002 Florian La Roche +- update to 4.4 + +* Sun Jul 22 2001 Florian La Roche +- disable s390 patches, they are already included + +* Wed Jul 18 2001 Preston Brown 4.3-1 +- new upstream version. Seems to have integrated most new syscalls +- tracing threaded programs is now functional. + +* Mon Jun 11 2001 Than Ngo +- port s390 patches from IBM + +* Wed May 16 2001 Nalin Dahyabhai +- modify new syscall patch to allocate enough heap space in setgroups32() + +* Wed Feb 14 2001 Jakub Jelinek +- #include in addition to + +* Fri Jan 26 2001 Karsten Hopp +- clean up conflicting patches. This happened only + when building on S390 + +* Fri Jan 19 2001 Bill Nottingham +- update to CVS, reintegrate ia64 support + +* Fri Dec 8 2000 Bernhard Rosenkraenzer +- Get S/390 support into the normal package + +* Sat Nov 18 2000 Florian La Roche +- added S/390 patch from IBM, adapting it to not conflict with + IA64 patch + +* Sat Aug 19 2000 Jakub Jelinek +- doh, actually apply the 2.4 syscalls patch +- make it compile with 2.4.0-test7-pre4+ headers, add + getdents64 and fcntl64 + +* Thu Aug 3 2000 Jakub Jelinek +- add a bunch of new 2.4 syscalls (#14036) + +* Wed Jul 12 2000 Prospector +- automatic rebuild +- excludearch ia64 + +* Fri Jun 2 2000 Matt Wilson +- use buildinstall for FHS + +* Wed May 24 2000 Jakub Jelinek +- make things compile on sparc +- fix sigreturn on sparc + +* Fri Mar 31 2000 Bill Nottingham +- fix stat64 misdef (#10485) + +* Tue Mar 21 2000 Michael K. Johnson +- added ia64 patch + +* Thu Feb 03 2000 Cristian Gafton +- man pages are compressed +- version 4.2 (why are we keeping all these patches around?) + +* Sat Nov 27 1999 Jeff Johnson +- update to 4.1 (with sparc socketcall patch). + +* Fri Nov 12 1999 Jakub Jelinek +- fix socketcall on sparc. + +* Thu Sep 02 1999 Cristian Gafton +- fix KERN_SECURELVL compile problem + +* Tue Aug 31 1999 Cristian Gafton +- added alpha patch from HJLu to fix the osf_sigprocmask interpretation + +* Sat Jun 12 1999 Jeff Johnson +- update to 3.99.1. + +* Wed Jun 2 1999 Jeff Johnson +- add (the other :-) jj's sparc patch. + +* Wed May 26 1999 Jeff Johnson +- upgrade to 3.99 in order to +- add new 2.2.x open flags (#2955). +- add new 2.2.x syscalls (#2866). +- strace 3.1 patches carried along for now. + +* Sun May 16 1999 Jeff Johnson +- don't rely on (broken!) rpm %%patch (#2735) + +* Tue Apr 06 1999 Preston Brown +- strip binary + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 16) + +* Tue Feb 9 1999 Jeff Johnson +- vfork est arrive! + +* Tue Feb 9 1999 Christopher Blizzard +- Add patch to follow clone() syscalls, too. + +* Sun Jan 17 1999 Jeff Johnson +- patch to build alpha/sparc with glibc 2.1. + +* Thu Dec 03 1998 Cristian Gafton +- patch to build on ARM + +* Wed Sep 30 1998 Jeff Johnson +- fix typo (printf, not tprintf). + +* Sat Sep 19 1998 Jeff Johnson +- fix compile problem on sparc. + +* Tue Aug 18 1998 Cristian Gafton +- buildroot + +* Mon Jul 20 1998 Cristian Gafton +- added the umoven patch from James Youngman +- fixed build problems on newer glibc releases + +* Mon Jun 08 1998 Prospector System +- translations modified for de, fr, tr +