forked from strace/strace
-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLog-CVS
5614 lines (4212 loc) · 199 KB
/
ChangeLog-CVS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2009-07-08 Dmitry V. Levin <ldv@altlinux.org>
Clean up spacing to fix warnings reported by git diff --check.
* ChangeLog: Fix spaces before tab in indent.
* bjm.c: Likewise.
* debian/changelog: Likewise.
* strace-graph: Likewise.
* syscall.c: Likewise.
* INSTALL: Fix trailing blank lines.
* README-linux: Likewise.
* README-svr4: Likewise.
* linux/sparc/gen.pl: Likewise.
* linux/sparc/syscall1.h: Likewise.
* linux/sparc64/syscall1.h: Likewise.
* linux/x86_64/gentab.pl: Likewise.
* sunos4/syscall.h: Likewise.
* test/Makefile: Likewise.
* debian/rules: Fix trailing whitespaces.
* desc.c: Likewise.
* svr4/syscallent.h: Likewise.
* test/childthread.c: Likewise.
* test/leaderkill.c: Likewise.
2009-07-07 Dmitry V. Levin <ldv@altlinux.org>
* .cvsignore: Remove.
* README-CVS: Rename to README-hacking.
* Makefile.am (EXTRA_DIST): Remove README-CVS.
2009-06-01 Dmitry V. Levin <ldv@altlinux.org>
* bjm.c (sys_query_module): Fix format warning reported by
gcc -Wformat-security.
* file.c (tprint_open_modes): Likewise.
* process.c (printargv): Likewise.
* signal.c (printsignal): Likewise.
Clean up header checks.
* configure.ac: Reformat AC_CHECK_HEADERS to keep it sorted and
easily updated, and reduce merging errors in the future.
* system.c: Convert all non-standard #ifdef checks for specific
headers to regular #ifdef HAVE_*_H checks.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-04-20 Denys Vlasenko <dvlasenk@redhat.com>
* file.c (printstatsol, printstat_sparc64):
Remove NULL/error check for addr parameter.
(printoldstat, printstat, printoldstat64):
Move NULL/error check for addr parameter
so that it happens before printstatsol/printstat_sparc64 calls.
2009-04-16 Denys Vlasenko <dvlasenk@redhat.com>
* file.c (print_dirfd): Use int for file descriptor, not a long.
* process.c (printwaitn): Use int for PID, not a long.
2009-04-15 Denys Vlasenko <dvlasenk@redhat.com>
* signal (sys_rt_sigtimedwait): Fix sigtimedwait syscall decoding.
2009-04-15 Denys Vlasenko <dvlasenk@redhat.com>
* signal (sys_rt_sigaction): Print struct sigaction correctly
in 32/64 environment.
* desc.c (printflock): Add #ifdefs around earlier flock 32/64 fix
so that we don't waste time on arches with one personality.
2009-04-14 Denys Vlasenko <dvlasenk@redhat.com>
* signal.c: Whitespace, comment, and style fixes, no code changes.
* file.c: Ditto.
* time.c: Ditto.
* process.c: Ditto.
* resource.c: Ditto.
2009-03-23 Denys Vlasenko <dvlasenk@redhat.com>
* system.c (sram_alloc_flag): Add L2_SRAM constant.
by Mike Frysinger (vapier AT gentoo.org).
(sys_sram_alloc): Fix improperly used %zu:
tcp->u_arg is not a size_t, it is a long.
* net.c (printcmsghdr): Fix improperly used %zu:
struct cmsghdr::cmsg_len is not a size_t.
2009-03-10 Denys Vlasenko <dvlasenk@redhat.com>
Decode fcntl's F_{GET,SET}LEASE, F_NOTIFY, and F_DUPFD_CLOEXEC.
By Mike Frysinger (vapier AT gentoo.org)
* desc.c: Add F_SETLEASE, F_GETLEASE, F_NOTIFY,
F_DUPFD_CLOEXEC to fcntlcmds[]. Create notifyflags[] array.
(sys_fcntl): Handle new flags.
Optimize printing of open modes.
* defs.h: Declare sprint_open_modes(),
remove unused parameter in tprint_open_modes().
* desc.c (sprint_open_modes): Move fuction definition from here...
* file.c (sprint_open_modes): To here.
(tprint_open_modes): Use sprint_open_modes(), it already
generates needed string.
* ipc.c: Remove unused parameter from calls
to tprint_open_modes().
2009-02-27 Denys Vlasenko <dvlasenk@redhat.com>
AVR32 support by Hans-Christian Egtvedt
(hans-christian.egtvedt AT atmel.com).
* configure.ac: Make it recognize avr32.
* defs.h: Define LINUX_AVR32.
* linux/avr32/syscallent.h: New file.
* Makefile.am: Reference linux/avr32/syscallent.h.
* proc.c (change_syscall, setarg): Add support for avr32.
(struct xlat struct_user_offsets[]): Ditto.
* syscall.c (get_scno): Ditto.
(get_error, force_result, syscall_enter): Ditto.
* util.c (getpc, printcall): Ditto.
2009-02-25 Denys Vlasenko <dvlasenk@redhat.com>
CRIS support by Hinko Kocevar (hinko.kocevar AT cetrtapot.si)
* configure.ac: Make it recognize cris.
* process.c: Define ARG_xxx constants for cris.
(change_syscall): Add support for cris.
(struct_user_offsets): Add cris-specific data.
* signal.c (sys_sigreturn): Add support for cris.
* syscall.c (get_scno): Add support for cris.
(syscall_fixup): Add support for cris.
(get_error): Add support for cris.
(syscall_enter): Add support for cris.
(force_result): While at it, fix cpp directives indentation.
* util.c (printcall): Add support for cris.
2009-02-24 Denys Vlasenko <dvlasenk@redhat.com>
* process.c: Indent preprocessor directives so that nesting
can be figured out. Add PTRACE_SET_SYSCALL to ptrace_cmds[].
* ioctlent.sh: Improved by Mike Frysinger.
* HACKING-scripts: New file by Mike Frysinger.
2009-02-20 Denys Vlasenko <dvlasenk@redhat.com>
Further signalent.h cleanup.
* linux/ia64/signalent.h: Remove, it is identical to common signalent.h
sans "SIGRTnn" definitions which are redundant.
* linux/powerpc/signalent.h: Remove, it is identical to common signalent.h
sans outdated "SIGUNUSED" which should be "SIGSYS".
* linux/s390/signalent.h: Ditto.
* linux/s390x/signalent.h: Ditto.
* Makefile.am: Remove references to the above files.
2009-02-20 Denys Vlasenko <dvlasenk@redhat.com>
Patch by Mike Frysinger (vapier AT gentoo.org).
* linux/ioctlent.sh: Update sed machinery to parse _IOC() macros
with two constants.
2009-02-20 Denys Vlasenko <dvlasenk@redhat.com>
Patch by Mike Frysinger (vapier AT gentoo.org).
* Makefile.am: Remove reference to linux/sh/signalent.h.
* linux/sh/signalent.h: Remove, it is identical to common signalent.h.
2009-02-20 Denys Vlasenko <dvlasenk@redhat.com>
Patch by Mike Frysinger (vapier AT gentoo.org).
* linux/errnoent.h: Make ERRNO_58 show EDEADLOCK for POWERPC.
* Makefile.am: Remove reference to linux/powerpc/errnoent.h.
* linux/powerpc/errnoent.h: Remove, we can use common errnoent.h now.
2009-02-20 Denys Vlasenko <dvlasenk@redhat.com>
Patch by Mike Frysinger (vapier AT gentoo.org).
Removing redundant errnoent.h files.
* Makefile.am: Remove reference to linux/ia64/errnoent.h,
linux/s390/errnoent.h, linux/s390x/errnoent.h and linux/sh/errnoent.h.
* linux/ia64/errnoent.h: Remove, this arch uses common errnoent.h.
* linux/s390/errnoent.h: Ditto.
* linux/s390x/errnoent.h: Ditto.
* linux/sh/errnoent.h: Ditto.
2009-02-10 Roland McGrath <roland@redhat.com>
* configure.ac: Check for struct sigcontext.
* signal.c [LINUX] [M68K] (struct sigcontext): Don't define it if
[HAVE_STRUCT_SIGCONTEXT].
From Muttley Meen <muttley.meen@gmail.com>.
2009-02-09 Denys Vlasenko <dvlasenk@redhat.com>
* defs.h: Correct the comment about TCB_SUSPENDED.
* strace.c: Fix misplaced #endif.
* util.c: Indent preprocessor directives, mark code parts
which can never be reached by compilation because of
the combination of #if directives. These are likely dead code,
I want to remove them later.
2009-01-29 Denys Vlasenko <dvlasenk@redhat.com>
* strace.c (newoutf): Prevent -o FILENAME overflowing the stack.
(startup_attach): Fix wrong pid in "Process <PID> attached".
(handle_group_exit): Do not consider exit to be spurious if
tcb has TCB_STARTUP bit set - we can attach to the task
right before its death, it can legitimately happen.
(handle_stopped_tcbs): Ditto.
2009-01-26 Denys Vlasenko <dvlasenk@redhat.com>
* process.c (printwaitn): Add comment about wait4() pid expansion.
Use #ifdef ALPHA instead of LINUX_64BIT, it was misleading
(by implying "any 64-bit platform").
* defs.h: Remove now-unused LINUX_64BIT define.
* resource.c (sys_osf_getrusage): Fix indentation.
2009-01-26 Denys Vlasenko <dvlasenk@redhat.com>
* process.c (internal_clone): Fix fallout from tcb table expansion
simplification. Due to overlooked else, I forgot to group
fork_tcb(tcp) and alloctcb(pid) in a block.
2009-01-23 Michal Nowak <mnowak@redhat.com>
* syscall.c (get_scno): Fix warnings about unused variable 'pid'.
2009-01-23 Michal Nowak <mnowak@redhat.com>
* mem.c (print_ldt_entry): Fix warning:
Format '%#08lx' expects type 'long unsigned int', but
argument 2 was type 'unsigned int'.
2009-01-17 Denys Vlasenko <dvlasenk@redhat.com>
Two cleanups: tcb table expansion failure is not really a survivable
event, we do not have any viable way to continue. No wonder most
places where that is detected have FIXMEs.
It's way simpler to treat as fatal failure, and handle it inside
tcb table expansion finctions.
Second cleanup: tidy up haphazard locations of a few externs.
* defs.h: Change return type of expand_tcbtab() to void.
Declare change_syscall().
* process.c: Change all callsites of alloctcb(), alloc_tcb() and
fork_tcb(), removing now-redundant error checks.
(fork_tcb): Change return type to void - it can't fail now.
* strace.c: Move extern declarations out of function bodies.
Change all callsites of alloctcb(), alloc_tcb() and
fork_tcb(), removing now-redundant error checks.
(expand_tcbtab): Change return type to void - it can't fail now.
On failure to expand, print a message, clean up, and exit.
(alloc_tcb): On failure to expand, print a message, clean up, and exit.
* util.c (setbpt): Remove extern declaration from function body.
2009-01-14 Denys Vlasenko <dvlasenk@redhat.com>
* linux/bfin/syscallent.h: sys_futex has 6 parameters, not 5.
2009-01-13 Denys Vlasenko <dvlasenk@redhat.com>
Fixes for ptrace() argument parsing.
* process.c: Add parsing of PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG,
PTRACE_GETSIGINFO, PTRACE_SETSIGINFO.
* defs.h: Declare several "extern const struct xlat" arrays here.
* desc.c: Remove open_mode_flags[] and open_access_modes[]
extern declarations.
* net.c: Remove open_mode_flags[] extern declaration.
* sock.c: Remove addrfams[] extern declaration.
* util.c: Remove struct_user_offsets[] extern declaration.
* signal.c: Remove open_mode_flags[] extern declaration.
2009-01-06 Denys Vlasenko <dvlasenk@redhat.com>
Output format fixes, improving the situation after recent
change which added beeter handling of processes suddenly
disappearing. Now we often do not finish last line
before exiting in those cases.
The only change affecting something other than output
is change in umovestr where we were calling
abort() on ptrace error.
* strace.c (trace): If trace_syscall() failed with ESRCH,
finish current output line with " <unfinished ...>".
(mp_ioctl): While we are at it, fix gross style mismatch
in this function definition. No code chages.
* syscall.c (trace_syscall): If decode fails on syscall exit,
finish current output line with "= ? <unavailable>".
* util.c (umoven): Do not complain if error is ESRCH.
(umovestr): Do not complain and do not abort() if error is ESRCH.
* defs.h: Remove unused tcp parameter from printtrailer().
* process.c: Adjust printtrailer() calls accordingly.
* strace.c: Adjust printtrailer() calls accordingly.
* syscall.c: Adjust printtrailer() calls accordingly.
2009-01-06 Denys Vlasenko <dvlasenk@redhat.com>
* desc.c (printflock): Fix display of fcntl(F_SETLK) on
non-native 32-bit architecture.
Fixes RH#471169 "format fcntl64() system calls for
32 bit application incorrect".
* desc.c: const'ify two static struct xlat vector[]'s,
convert all remaining old style C parameter declarations
in this file.
2008-11-13 Kirill A. Shutemov <kirill@shutemov.name>
* linux/arm/syscallent.h: Update syscalls.
Based on patch by Enrico Scholz.
* linux/arm/syscallent.h: Fix build on ARM EABI which does not
provide syscalls socketcall and ipc.
2009-01-01 Andreas Schwab <schwab@suse.de>
* net.c (sys_accept): Properly decode third argument as pointer to
int.
2008-12-30 Denys Vlasenko <dvlasenk@redhat.com>
Experimental support for -D option.
Unlike normal case, with -D *grandparent* process exec's,
becoming a traced process. Child exits (this prevents traced process
from having children it doesn't expect to have), and grandchild
attaches to grandparent similarly to strace -p PID.
This allows for more transparent interaction in cases
when process and its parent are communicating via signals,
wait() etc. Without -D, strace process gets lodged in between,
disrupting parent<->child link.
* strace.c: Add global flag variable daemonized_tracer for -D option.
(startup_attach): If -D, fork and block parent in pause().
In this case we are already a child, we in fact created a grandchild.
After attaching to grandparent, grandchild SIGKILLs parent.
(startup_child): If -D, parent blocks in wait(), then
execs the program to strace. Normally (w/o -D), it is child
who execs the program.
(main): Detect -D option, call startup_attach() if it is given.
2008-12-30 Kirill A. Shutemov <kirill@shutemov.name>
Fix some warnings on ARM build.
* defs.h: include <sys/ptrace.h> on arm too.
* syscall.c: EABI arm does not need decode_subcall(),
ifdef it out.
2008-12-29 Nick Black <dankamongmen@acm.org>
* linux/syscallent.h: Mark sendfile(2) as network syscall.
* linux/*/syscallent.h: Same, for all architectures.
2008-12-17 Denys Vlasenko <dvlasenk@redhat.com>
Make strace detect when traced process suddenly disappeared
(prime example is randomly arriving SIGKILL).
* defs.h (do_ptrace, ptrace_restart): Declare new functions
* process.c: Use ptrace_restart instead of bare ptrace.
This catches and records ESRCH errors.
Print "<unavailable>" if syscall decode or result can't be
determined because of an earlier error in ptrace()
* syscall.c (trace_syscall): Stop indiscriminately bailing out
on errors, print "syscall(????" or even "????(????" but continue.
* util.c (do_ptrace, ptrace_restart): Define new functions.
(upeek): use do_ptrace in order to catch and record ESRCH.
Do not print error message in this case.
Fixes RH#472053.
2008-12-17 Denys Vlasenko <dvlasenk@redhat.com>
* signal.c (sys_sigaction, sys_rt_sigaction): Fix typo
in (sa_handler == SIG_IGN) comparison, it was using SIG_DFL
instead.
2008-12-16 Denys Vlasenko <dvlasenk@redhat.com>
* defs.h: Modify declaration of upeek to take struct tcb *
parameter instead of pid_t.
* process.c: Change all upeek calls accordingly.
* signal.c: Likewise.
* strace.c: Likewise.
* syscall.c: Likewise.
* util.c: Likewise.
2008-11-11 Dmitry V. Levin <ldv@altlinux.org>
* sock.c [LINUX] (sock_ioctl): Parse more SIOCS* ioctls.
2008-12-09 Roland McGrath <roland@redhat.com>
* strace.1 (DIAGNOSTICS): New section, describe exit behavior.
2008-11-09 Dmitry V. Levin <ldv@altlinux.org>
* process.c (prctl_options): Update constants from linux 2.6.27.
* system.c (capabilities): Add more capability values.
* util.c (string_quote): Fix support for NUL-terminated string.
Add comments.
(printpathn): Fix the case when "..." was appended to the output
but no truncation was actually made. Add comments.
(printstr): Fix memory allocation. Fix two cases when "..." was
appended to the output but no truncation was actually made.
Add comments.
Fixes RH#470529.
2008-10-23 Dmitry V. Levin <ldv@altlinux.org>
Implement parsers for new linux syscalls.
* desc.c (do_dup2, [LINUX] sys_dup3): New functions.
(sys_dup2): Use do_dup2.
[LINUX] (sys_epoll_create1): New function.
[LINUX] (do_eventfd, sys_eventfd2): New functions.
[LINUX] (sys_eventfd): Use do_eventfd.
* net.c (do_pipe, [LINUX] sys_pipe2): New functions.
(sys_pipe): Use do_pipe.
* signal.c [LINUX] (do_signalfd, sys_signalfd4): New functions.
[LINUX] (sys_signalfd): Use do_signalfd.
* linux/syscall.h: Declare new sys_* functions.
* linux/syscallent.h: Hook up signalfd4, eventfd2, epoll_create1,
dup3, pipe2, inotify_init1.
* linux/x86_64/syscallent.h: Hook up paccept, signalfd4, eventfd2,
epoll_create1, dup3, pipe2, inotify_init1.
2008-10-23 Mike Frysinger <vapier@gentoo.org>
Port strace to the Blackfin architecture.
* configure.ac: Add bfin to supported architectures.
* process.c: Skip u_fpvalid/u_fpstate for Blackfin architecture.
(change_syscall): Support Blackfin architecture.
* syscall.c: Declare r0 for Blackfin architecture.
(get_scno): Decode Blackfin syscall number.
(syscall_fixup): Extract Blackfin return value.
(get_error): Decode Blackfin return value.
(force_result): Poke Blackfin return value.
(syscall_enter): Extract Blackfin syscall arguments.
* defs.h: Define TCB_WAITEXECVE for Blackfin architecture.
* linux/syscall.h (sys_sram_alloc): Declare for Blackfin
architecture.
* system.c (sys_sram_alloc): Decode Blackfin sram_alloc() syscall.
* util.c (getpc): Handle PC on Blackfin architecture.
(printcall): Likewise.
* linux/bfin/ioctlent.h, linux/bfin/syscallent.h: New Blackfin
headers.
* Makefile.am (EXTRA_DIST): Add linux/bfin/ioctlent.h and
linux/bfin/syscallent.h.
2008-09-18 Mike Frysinger <vapier@gentoo.org>
* configure.ac: Accept uclinux hosts as linux.
2008-10-22 Dmitry V. Levin <ldv@altlinux.org>
Handle socket type flags introduced in linux 2.6.27.
* net.c (socktypes): Add SOCK_DCCP.
(sock_type_flags): New xlat structure.
(tprint_sock_type): New function.
(sys_socket, sys_socketpair): Use it to parse socket type and
socket type flags.
2008-09-29 Dmitry V. Levin <ldv@altlinux.org>
* strace.c (startup_child): Save child pid for future use.
(main): Exit/kill ourself with straced child's exitcode/signal.
(trace): If signalled process pid matches the saved child pid,
save the signal number. If terminated process pid matches the
saved child pid, save its exit status.
Patch from Denys Vlasenko <dvlasenk@redhat.com>
Fixes RH#105371.
2008-09-12 Tomas Pospisek <tpo@sourcepole.ch>
Jan Kratochvil <jan.kratochvil@redhat.com>
* strace.1 (DESCRIPTION): New description of unfinished system calls
and system calls restarting.
2008-09-03 Dmitry V. Levin <ldv@altlinux.org>
* desc.c (sys_fcntl): Do not initialize auxstr for failed syscall.
* process.c (sys_fork, sys_rfork) [USE_PROCFS]: Likewise.
* signal.c (sys_signal): Likewise.
* stream.c (internal_stream_ioctl): Likewise.
* time.c (sys_adjtimex): Likewise.
* syscall.c (trace_syscall): If RVAL_STR is set, then
print auxstr for failed syscall as well.
* syscall.c (is_restart_error): New function.
* defs.h (is_restart_error): Declare it.
* linux/dummy.h (sys_nanosleep): Uncouple from sys_adjtime().
* time.c (sys_nanosleep): New function, based on is_restart_error().
* process.c (sys_prctl): Decode PR_SET_PDEATHSIG, PR_GET_PDEATHSIG,
PR_SET_DUMPABLE, PR_GET_DUMPABLE, PR_SET_KEEPCAPS, PR_GET_KEEPCAPS.
Fix PR_GET_UNALIGN decoder.
(prctl_options): Add more constants.
* linux/syscallent.h: Use sys_prctl() decoder for "prctl" syscall.
* linux/alpha/syscallent.h: Likewise.
* linux/arm/syscallent.h: Likewise.
* linux/m68k/syscallent.h: Likewise.
* linux/powerpc/syscallent.h: Likewise.
* linux/s390/syscallent.h: Likewise.
* linux/s390x/syscallent.h: Likewise.
* linux/sh/syscallent.h: Likewise.
* linux/sh64/syscallent.h: Likewise.
* linux/x86_64/syscallent.h: Likewise.
2008-09-02 Dmitry V. Levin <ldv@altlinux.org>
* linux/x86_64/syscallent.h: Fix syscall numbers for "tee" and
"sync_file_range".
From Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
2008-08-28 Roland McGrath <roland@redhat.com>
* strace.1 (BUGS): New section, mention SIGTRAP interference.
* strace.spec (%ifarch %{strace64_arches}): Use cp -p instead of ln
for %{rhel} < 6.
* configure.ac, NEWS: Version 4.5.18.
* strace.spec: 4.5.18-1.
2008-08-24 Roland McGrath <roland@redhat.com>
* linux/syscall.h (SYS_socket_subcall et al, SYS_ipc_subcall et al):
Don't define these if [__ARM_EABI__].
Reported by Johannes Stezenbach <js@sig21.net>.
* syscall.c (trace_syscall): Conditionalize on [SYS_socket_subcall]
and [SYS_ipc_subcall] individually.
* linux/powerpc/syscallent.h: Handle subpage_prot.
* mem.c [LINUX && POWERPC] (sys_subpage_prot): New function.
* linux/syscall.h [POWERPC]: Declare it.
From Simon Murray <simon@transitive.com>.
* mem.c (mmap_prot): Handle PROT_SAO.
From Simon Murray <simon@transitive.com>.
* mem.c (madvise_flags): Typo fixes. Rename to madvise_cmds.
(sys_madvise): Use printxval, not printflags.
Reported by Rajeev V. Pillai <rajeevvp@gmail.com>.
2008-08-19 Roland McGrath <roland@redhat.com>
* signal.c (sys_sigaction, sys_rt_sigaction): Don't omit the rest of
the struct after sa_handler is a known constant. Some sa_flags bits
have meaning even for SIG_IGN/SIG_DFL.
2008-08-06 Jan Kratochvil <jan.kratochvil@redhat.com>
* util.c (CLONE_VM): Define if not defined already.
(setbpt): Clear CLONE_VM in the case we already clear CLONE_VFORK for
SYS_clone and SYS_clone2.
Reported by Michal Nowak.
Fixes RH#455078.
2008-08-06 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix compiler warnings.
* signal.c (sys_signal): Cast to SIG_* to the matching type LONG.
* strace.c (trace): Variables PSR and PC are now signed.
* syscall.c (syscall_enter): Variable RBS_END is now signed long.
Remove/add the RBS_END casts appropriately.
* util.c [IA64] (arg_setup): Variable BSP is now signed long.
Remove/add the BSP casts appropriately.
<ia32>: Initialize *STATE.
2008-07-31 Roland McGrath <roland@redhat.com>
* Makefile.am (EXTRA_DIST): Add new linux/arm/ files.
* file.c [LINUX] (struct kernel_dirent): Define it locally,
do not use <linux/dirent.h>.
Fixes RH#457291.
* configure.ac: Add AC_HEADER_STDBOOL.
* defs.h [HAVE_STDBOOL_H]: #include <stdbool.h>.
Fixes Debian#492774.
2008-07-24 Dmitry V. Levin <ldv@altlinux.org>
* strace.c (main): Fix -F option backwards compatibility.
2008-07-22 Roland McGrath <roland@redhat.com>
* Makefile.am (EXTRA_DIST): Add new debian/ files.
2008-07-21 Roland McGrath <roland@redhat.com>
* configure.ac: Version 4.5.17.
* strace.spec: 4.5.17-1.
* defs.h [LINUXSPARC]: Don't #include <linux/a.out.h>.
2008-07-19 Frederik Schüler <fs@debian.org>
* debian/control: Add strace64 package.
* debian/rules: Use debhelper flag --same-arch instead of --arch in
order to build strace64 only on the specified architectures.
* debian/strace64.install: New file, list for dh_install.
* debian/strace64.manpages: New file, list for dh_install.
* debian/changelog: Add prereleases entries.
Fixes Debian#491167, Debian#491188.
2008-07-18 Andreas Schwab <schwab@suse.de>
* linux/ia64/syscallent.h: Decode mincore syscall.
* linux/powerpc/syscallent.h: Fix argument count for request_key.
* term.c (term_ioctl): Decode indirect parameter as int, not long.
2008-07-17 Roland McGrath <roland@redhat.com>
* NEWS, strace.spec: Updates in preparation for release.
* process.c (printwaitn): When current personality's wordsize is
smaller than native, sign-extend the PID argument from 32 bits.
* process.c (futexops): Update table.
(sys_futex): Handle FUTEX_WAIT_BITSET correctly.
From Ulrich Drepper <drepper@redhat.com>.
Fixes RH#448628.
* linux/syscallent.h: Fix "futex" argument count.
* linux/alpha/syscallent.h: Likewise.
* linux/arm/syscallent.h: Likewise.
* linux/hppa/syscallent.h: Likewise.
* linux/ia64/syscallent.h: Likewise.
* linux/m68k/syscallent.h: Likewise.
* linux/powerpc/syscallent.h: Likewise.
* linux/s390/syscallent.h: Likewise.
* linux/s390x/syscallent.h: Likewise.
* linux/sparc/syscallent.h: Likewise.
* linux/x86_64/syscallent.h: Likewise.
From Ulrich Drepper <drepper@redhat.com>.
Fixes RH#448629.
* signal.c (sigact_flags): Prefer SA_NODEFER to SA_NOMASK,
SA_RESETHAND to SA_ONESHOT.
Fixes RH#455821.
2008-07-09 Frederik Schüler <fs@debian.org>
* debian/rules: Remove the broken udeb creation routines, and redo the
complete install procedure using debhelper.
* debian/strace.docs: New file, list for dh_installdocs.
* debian/strace.examples: New file, list for dh_installexamples.
* debian/strace.install: New file, list for dh_install.
* debian/strace-udeb.install: New file, list for dh_install.
* debian/strace.manpages : New file, list for dh_installmanpages.
* debian/copyright: Update.
* debian/control: Fix libc6 build dependency for alpha and ia64.
(strace-udeb: XC-Package-Type): Add header.
* debian/changelog: Cosmetic changes.
2008-07-03 Jan Kratochvil <jan.kratochvil@redhat.com>
Trace vfork under -f on all the platforms.
* strace.1 <-f>: Describe Linux catches new children immediately.
<-F>: Make the option obsolete. Move the SunOS VFORK comment to the
`-f' option description.
* defs.h (followvfork): Declaration removed.
* strace.c (followvfork): Variable removed.
(main) <-F>: Merge with the `-f' option.
(trace): Make !FOLLOWVFORK unconditional.
* process.c (internal_fork): Make !FOLLOWVFORK unconditional.
2008-07-01 Frederik Schüler <fs@debian.org>
* debian/changelog: List all bugs closed since the last release.
* debian/control: Remove Wichert Akkerman from uploaders list.
* debian/control: Bump standards version to 3.8.0.
* debian/control: Add Homepage field.
* debian/rules: Fix dpkg-gencontrol call.
* debian/compat: New file, set to compatibility level 5.
* debian/rules: Call dh_clean on clean target.
* debian/rules: Add dh_md5sums call.
Fixes Debian#439428.
2008-06-30 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix ia64 `-f' on clone2 formerly crashing the child.
* util.c [IA64] (restore_arg0, restore_arg1): Define as empty.
Fixes RH#453438.
2008-06-27 Jan Kratochvil <jan.kratochvil@redhat.com>
* util.c (CLONE_VFORK): Define if not defined already.
(setbpt): Clear CLONE_VFORK for SYS_clone and SYS_clone2.
Reported by Vitaly Mayatskikh.
Fixes RH#455078.
2008-06-29 Dmitry V. Levin <ldv@altlinux.org>
* linux/x86_64/syscallent.h: Remove duplicate syscall entries
for #283 and #284.
2008-06-27 Jan Kratochvil <jan.kratochvil@redhat.com>
* linux/syscallent.h: Remove a duplicite syscall stub #326.
2008-05-27 Roland McGrath <roland@redhat.com>
* syscall.c [LINUX] (is_negated_errno): New function.
(get_error) [LINUX]: Use it for all such cases.
Fixes RH#447587.
2008-05-19 Roland McGrath <roland@redhat.com>
* linux/x86_64/syscallent.h: Update entries for timerfd_* and fallocate.
* file.c (sys_fallocate): New function.
* linux/syscall.h: Declare it.
* linux/syscallent.h: Update entry.
From Kyle McMartin <kyle@mcmartin.ca>.
* time.c (sys_timerfd_create): New function.
(sys_timerfd_settime, sys_timerfd_gettime): New functions.
* linux/syscall.h: Declare them.
* linux/syscallent.h: Update entries for those syscalls.
From Kyle McMartin <kyle@mcmartin.ca>.
* debian/rules (binary-arch): Fix chmod/chown typo.
Fixes Debian#459255.
* debian/rules (binary-arch): Install strace-graph in examples/
directory under package doc.
Fixes Debian#469068.
* signal.c (sys_kill): When current personality's wordsize is smaller
than native, sign-extend the PID argument from 32 bits.
Fixes RH#430585.
* configure.ac: Add check for struct sigcontext_struct in <signal.h>.
* signal.c [! HAVE_ASM_SIGCONTEXT_H] [I386] (struct sigcontext_struct):
Conditionalize definition on !HAVE_STRUCT_SIGCONTEXT_STRUCT.
Fixes Debian#456879.
* util.c [LINUX] (setbpt): Use correct SYS_clone number for current
personality.
Fixes RH#447475.
2008-05-08 David S. Miller <davem@davemloft.net>
* syscall.c (socket_map, sparc_socket_decode): Delete.
(trace_syscall): Use common socketcall and ipc subcall
support on sparc.
* linux/sparc/syscall.h (sys_semtimedop): Declare.
(SYS_socket_subcall, SYS_sub_socket, SYS_sub_bind,
SYS_sub_connect, SYS_sub_listen, SYS_sub_accept,
SYS_sub_getsockname, SYS_sub_getpeername,
SYS_sub_socketpair, SYS_sub_send, SYS_sub_recv,
SYS_sub_sendto, SYS_sub_recvfrom, SYS_sub_shutdown,
SYS_sub_setsockopt, SYS_sub_getsockopt, SYS_sub_sendmsg,
SYS_sub_recvmsg, SYS_socket_nsubcalls, SYS_ipc_subcall,
SYS_sub_semop, SYS_sub_semget, SYS_sub_semctl,
SYS_sub_semtimedop, SYS_sub_msgsnd, SYS_sub_msgrcv,
SYS_sub_msgget, SYS_sub_msgctl, SYS_sub_shmat,
SYS_sub_shmdt, SYS_sub_shmget, SYS_sub_shmctl,
SYS_ipc_nsubcalls): Define
* linux/sparc/syscallent.h: Add socketcall and ipc entries.
2008-01-25 Bruna Moreira <bruna.moreira@indt.org>
* defs.h [ARM]: Define SUPPORTED_PERSONALITIES to 2.
* syscall.c (get_scno) [ARM]: Add support for architecture specific
syscalls.
* linux/arm/syscallent.h: Update network syscalls list.
* linux/arm/syscallent1.h: New file. Add new architecture specific
syscalls.
* linux/arm/errnoent1.h: New file.
* linux/arm/ioctlent1.h: New file.
* linux/arm/signalent1.h: New file.
Fixes Debian#441000.
2008-01-07 Paul Mundt <lethal@linux-sh.org>
* linux/sh64/syscallent.h: Update numerous calls, fix others.
2007-08-26 Daniel Jacobowitz <dan@codesourcery.com>
* defs.h [MIPS]: Include <sgidefs.h>.
(MAX_QUALS): Update for MIPS.
(LINUX_MIPSO32, LINUX_MIPSN32, LINUX_MIPSN64, LINUX_MIPS64): Define.
(struct tcb): Add ext_arg for MIPS N32.
(TCB_WAITEXECVE): Define for MIPS.
(ALIGN64): Use LINUX_MIPSO32.
* file.c (sys_lseek): Use ext_arg for MIPS N32.
(sys_readahead, sys_fadvise64_64): Likewise.
* io.c (sys_pread64, sys_pwrite64): Likewise.
* mem.c (print_mmap): Take OFFSET argument.
(sys_old_mmap): Update call to print_mmap.
(sys_mmap): Use ext_arg for MIPS N32.
* process.c (struct_user_offsets): Add MIPS registers.
* signal.c (sys_sigreturn): Handle MIPS N32 and MIPS N64. Correct
MIPS O32 call to sprintsigmask.
* syscall.c (internal_syscall): Handle MIPS N32. Check for
TCB_WAITEXECVE on MIPS.
(force_result): Add a comment about MIPS N32.
(syscall_enter): Handle MIPS N32 and MIPS N64.
* linux/syscall.h (sys_pread64, sys_pwrite64): Declare.
* linux/mips/syscallent.h: Include "dummy.h". Handle alternate
MIPS ABIs.
2008-04-19 Dmitry V. Levin <ldv@altlinux.org>
* file.c [_LFS64_LARGEFILE] (sys_getdents64): Do the same
d_reclen check as in sys_getdents: warn if d_reclen is 0 rather
than looping forever.
[FREEBSD] (sys_getdirentries): Likewise.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* file.c [LINUXSPARC] (printstatsol): Fix sprinttime()
invocation. The sprinttime() function takes a time_t argument,
but timestruct_t argument was given.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* file.c (sprinttime): Check localtime() return value, to avoid
potential NULL dereference due to invalid time structures.
Signed-off-by: Harald van Dijk <truedfx@gentoo.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* linux/errnoent.h: Update errno list based on latest
linux/errno.h and asm-generic/errno*.h files.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* signalent.sh: Fix sort(1) old-style options.
* syscallent.sh: Likewise.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* count.c (call_summary_pers): Check calloc() return value.
Signed-off-by: "Yang Zhiguo" <yzgcsu@cn.fujitsu.com>
2008-03-26 Roland McGrath <roland@redhat.com>
* strace.spec (strace64_arches): Add sparc64.
2007-11-20 Roland McGrath <roland@redhat.com>
* CREDITS, ChangeLog: Converted contents to UTF8.
2007-11-19 Roland McGrath <roland@redhat.com>
* strace.spec: Add BuildRequires on libaio-devel, libacl-devel.
2007-11-19 Andreas Schwab <schwab@suse.de>
* process.c (sys_ptrace) [IA64]: For PTRACE_PEEKDATA,
PTRACE_PEEKTEXT and PTRACE_PEEKUSER the data is returned directly.
* linux/syscallent.h: Fix argument count for getdents64.
* linux/arm/syscallent.h: Likewise.
* linux/m68k/syscallent.h: Likewise.
* linux/x86_64/syscallent.h: Likewise.
* linux/ia64/syscallent.h: Use sys_getdents64.
* linux/sh/syscallent.h: Likewise.
2007-11-06 Jan Kratochvil <jan.kratochvil@redhat.com>
* strace.c [LINUX] (droptcb): Recurse on TCP->parent if it is a
TCB_EXITING zombie group leader.
* test/childthread.c: New file.
* test/.cvsignore, test/Makefile: Add it.
Code advisory: Roland McGrath
Fixes RH#354261.
2007-11-03 Roland McGrath <roland@redhat.com>
* process.c (prctl_options): Add numerous constants.
From Sami Farin <safari@u.safari.iki.fi>.
Fixes RH#364401.
2007-11-03 Jan Kratochvil <jan.kratochvil@redhat.com>
* strace.c (main): Move the STARTUP_CHILD call before setting up the
signal handlers. New comment about the valid internal states.
2007-11-02 Thiemo Seufer <ths@networkno.de>
* signal.c (m_siginfo_t): Add for MIPS.
(sys_sigreturn): struct sigcontext on MIPS has no sigset_t member,
acquire the signal mask with the same trick as on Sparc.
Fixes Debian#448802.
2007-11-01 Roland McGrath <roland@redhat.com>
* util.c (string_quote): Return nonzero if the string was unterminated.
(printstr): Use that value instead of just our own test.
(printpathn): Likewise.
Fixes RH#358241.
* linux/mips/syscallent.h: Fix argument count for fadvise64_64.
From Paul Mundt <lethal@linux-sh.org>.
* linux/mips/syscallent.h: Fix argument count for lookup_dcookie.
From Paul Mundt <lethal@linux-sh.org>.
* linux/sh64/syscallent.h: Fix SYS_socket_subcall check.
From Paul Mundt <lethal@linux-sh.org>.
* linux/sh/syscallent.h: Update numerous calls.
From Paul Mundt <lethal@linux-sh.org>.
2007-09-22 Dmitry V. Levin <ldv@altlinux.org>
* desc.c (sys_pselect6): Decode signal mask when entering syscall.
Relax signal mask size check.
* time.c (print_timespec, sprint_timespec): New functions.
* defs.h (print_timespec, sprint_timespec): Declare them.
* desc.c (sys_io_getevents): Use print_timespec.
* stream.c (sys_ppoll): Likewise.
(decode_poll): Use sprint_timespec.
2007-09-22 Alan Curry <pacman@world.std.com>
Dmitry V. Levin <ldv@altlinux.org>
* stream.c (decode_poll): Rearrange so that arguments are decoded
and printed on syscall entry, except for revents and the output
timespec which are now printed in the auxstr.
(sys_poll): Print the input timeout argument on syscall entry.
[LINUX] (sys_ppoll): Likewise.
Fixes Debian#369651.
2007-09-22 Dmitry V. Levin <ldv@altlinux.org>
* desc.c (sprintflags): Remove static qualifier, add "prefix"
argument, move function to ...
* util.c (sprintflags): ... here.
* defs.h (sprintflags): Declare it.
2007-11-01 Roland McGrath <roland@redhat.com>
* syscall.c (get_scno) [ARM]: Check TCB_WAITEXECVE.
Reported by Bernhard Fischer <rep.dot.nop@gmail.com>.
* net.c (sockpacketoptions): Make PACKET_ADD_MEMBERSHIP and
PACKET_DROP_MEMBERSHIP conditional.
From Bernhard Fischer <rep.dot.nop@gmail.com>.
* configure.ac: Match sh64* for SH64, sh* for SH.
Reported by Bernhard Fischer <rep.dot.nop@gmail.com>.
2007-10-01 Dmitry V. Levin <ldv@altlinux.org>
* net.c (printsock): Output AF_UNIX socket address using
printpathn() to avoid unprintable characters in output.
Suggested by Neil Campbell.
2007-10-01 Dmitry V. Levin <ldv@altlinux.org>
* util.c (string_quote): Move quoting code from ...
(printstr) ... here. Use string_quote.
(printpathn): Update for new string_quote interface.
(printpath): Use printpathn.
2007-09-25 Dmitry V. Levin <ldv@altlinux.org>
* strace.c (main): Use calloc for tcbtab allocation.
Check calloc return value.
Reported by Bai Weidong.
2007-09-11 Roland McGrath <roland@redhat.com>
* linux/sparc/syscall.h: Add missing decls.
* linux/sparc/syscallent.h: Correct entries for setgroups32,
getgroups32, sys_getdents64.
From Jakub Bogusz <qboosh@pld-linux.org>.
* linux/alpha/syscallent.h: Correct entries for madvise, setresgid,
getresgid, pivot_root, mincore, pciconfig_iobase, getdents64.
From Jakub Bogusz <qboosh@pld-linux.org>.
* linux/syscallent.h: Fix getegid32 entry.
From Jakub Bogusz <qboosh@pld-linux.org>.
* defs.h [LINUXSPARC]: Use asm/psrcompat.h for [SPARC64], not asm/psr.h.
From Jakub Bogusz <qboosh@pld-linux.org>.
* mem.c (sys_getpagesize): Define for [SPARC || SPARC64] too.
From Jakub Bogusz <qboosh@pld-linux.org>.
2007-08-20 Dmitry V. Levin <ldv@altlinux.org>
* syscall.c (qual_syscall, qualify): Fix nsyscalls and MAX_QUALS misuse.
Reported by Xiaoning Ding.
2007-08-06 Jan Kratochvil <jan.kratochvil@redhat.com>
Roland McGrath <roland@redhat.com>
* file.c [!HAVE_STAT64 && LINUX && X86_64] (struct stat64): Define it.
[!HAVE_STAT64 && LINUX && X86_64] (HAVE_STAT64, STAT64_SIZE): Define.
[HAVE_STAT64] (printstat64) [STAT64_SIZE]: Add compile-time assertion.
Fixes RH#222275.
* file.c (printstat64): Test [HAVE_LONG_LONG] for st_size printing
and cast to widest type available.
2007-08-03 Ulrich Drepper <drepper@redhat.com>
* file.c (open_mode_flags): Add O_CLOEXEC.