Mailinglist Archive: opensuse-commit (1059 mails)

< Previous Next >
commit ltrace
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Thu, 03 Jan 2008 17:51:10 +0100
  • Message-id: <20080103165110.B57C66781B8@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package ltrace
checked in at Thu Jan 3 17:51:10 CET 2008.

--------
--- ltrace/ltrace.changes 2007-10-19 15:30:05.000000000 +0200
+++ /mounts/work_src_done/STABLE/ltrace/ltrace.changes 2008-01-03
13:29:53.000000000 +0100
@@ -1,0 +2,5 @@
+Thu Jan 3 13:28:17 CET 2008 - olh@xxxxxxx
+
+- handle more than 4 args on s390 (349987 - LTC41171)
+
+-------------------------------------------------------------------

New:
----
ltrace.s390-more-arguments.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ltrace.spec ++++++
--- /var/tmp/diff_new_pack.GR2003/_old 2008-01-03 17:50:26.000000000 +0100
+++ /var/tmp/diff_new_pack.GR2003/_new 2008-01-03 17:50:26.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package ltrace (Version 0.4)
#
-# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -24,7 +24,7 @@
AutoReqProv: on
Summary: Trace the Library and System Calls a Program Makes
Version: 0.4
-Release: 81
+Release: 91
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 sparc s390 s390x ppc ppc64 armv4l x86_64 alpha ia64
Prefix: /usr
@@ -81,6 +81,7 @@
#
Patch200: ltrace.args-initialize.patch
Patch204: ltrace.ppc32-c-option.patch
+Patch222: ltrace.s390-more-arguments.patch

%description
Ltrace is a program that runs the specified command until it exits. It
@@ -154,6 +155,7 @@
#
%patch200 -p1
%patch204 -p1
+%patch222 -p1

%build
autoreconf -fi
@@ -167,6 +169,7 @@
--build=%{_target_cpu}-suse-linux
%endif
make
+%if 1
if make check
then
echo 'no make check errors' > testresults.txt
@@ -182,6 +185,10 @@
fi
mv testresults.txt %{_target_cpu}-testresults.txt
ln testsuite/testrun.sum testsuite/%{_target_cpu}-testrun.sum
+%else
+echo no make check > %{_target_cpu}-testresults.txt
+echo no make check > testsuite/%{_target_cpu}-testrun.sum
+%endif

%install
make install DESTDIR=%{buildroot}
@@ -193,7 +200,10 @@
%{_bindir}/ltrace
%{_mandir}/man1/ltrace.1.gz
%config /etc/ltrace.conf
+
%changelog
+* Thu Jan 03 2008 - olh@xxxxxxx
+- handle more than 4 args on s390 (349987 - LTC41171)
* Fri Oct 19 2007 - olh@xxxxxxx
- allow build with old distributions, libelf0-devel is new in 10.3
* Mon Oct 08 2007 - olh@xxxxxxx

++++++ ltrace.s390-more-arguments.patch ++++++
https://bugzilla.novell.com/show_bug.cgi?id=349987

ltrace is not getting values of arguments with arg_num greater than 4 in s390.
ltrace is exiting in s390 when getnameinfo() syscall is called which has got 7
arguments.

---
sysdeps/linux-gnu/s390/trace.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

--- a/sysdeps/linux-gnu/s390/trace.c
+++ b/sysdeps/linux-gnu/s390/trace.c
@@ -185,8 +185,18 @@ long gimme_arg(enum tof type, struct pro
ret = ptrace(PTRACE_PEEKUSER, proc->pid, PT_GPR6, 0);
break;
default:
- fprintf(stderr, "gimme_arg called with wrong arguments\n");
- exit(2);
+ if(arg_num >= 5){
+#ifdef __s390x__
+ ret = ptrace(PTRACE_PEEKUSER, proc->pid,
+ proc->stack_pointer + 160 +
+ 8 * (arg_num - 5), 0);
+#else
+ ret = ptrace(PTRACE_PEEKUSER, proc->pid,
+ proc->stack_pointer + 96 +
+ 4 * (arg_num - 5), 0);
+#endif
+ }
+
}
#ifdef __s390x__
if (proc->mask_32bit)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread
  • No further messages