• Home
  • History
  • Annotate
  • only in /external/ltrace/sysdeps/linux-gnu/
History log of /external/ltrace/sysdeps/linux-gnu/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
161efa6f4e7ea6657918a2f1736a692eea2f56c0 08-Apr-2014 Christopher Ferris <cferris@google.com> Merge "Re-add stpcpy call."
855b8a20be0cff41dbfbb245b91fe417acf194cf 08-Apr-2014 Mohamad Ayyash <mkayyash@google.com> Merge "ltrace: Fix the mips build."
27e80c93b4eadfc54c2bd2196028ed7ac1cc13f6 08-Apr-2014 Mohamad Ayyash <mkayyash@google.com> ltrace: Fix the mips build.

1) Fix missing error.h in plt.c.
2) Add a TODO to fix missing relplt_count in mips plt.c.
3) Enforce operator precedence between * and != which is apparently incorrect for the mips compiler.

Change-Id: I2d5d925566daf81a0380724bc103570c80e381e7
ips/plt.c
6bc89fea4e132d3937dd5aafbabca0d12e3af22f 08-Apr-2014 Christopher Ferris <cferris@google.com> Re-add stpcpy call.

Change-Id: I1e80c3ee1693452f8f1669027fcd0a225e986eb2
ooks.c
1031614c095f00454326deb460a83381e98d5166 04-Apr-2014 Mohamad Ayyash <mkayyash@google.com> ltrace: Get it to build on Android (Android.mk and missing functions)

- Add Android.mk.
- Work around missing stpcpy() and rindex().

Change-Id: Iffdd707b22a84b1a1c6a802574ded05b289cee0a
ooks.c
6bacfc7b34be8414d01c201f1c6086e3edaa8b62 12-Mar-2014 dann frazier <dannf@debian.org> Add missing #include stdio.h

Include stdio.h in files that use fprintf()

Signed-off-by: dann frazier <dannf@debian.org>
arch64/regs.c
arch64/trace.c
2e8ee3bb400006df046e432bc9dde1c0ce12b831 12-Mar-2014 dann frazier <dannf@debian.org> add missing <stdint.h> include

aarch64's fetch.c uses the uintptr_t typedef defined by stdint.h without
including it. This doesn't currently cause a build failure because stdint.h
is indirectly included via proc.h.

Signed-off-by: dann frazier <dannf@debian.org>
arch64/fetch.c
912a0f75b3521803fa724a55f0e883c134c7b4e9 24-Jan-2014 Petr Machata <pmachata@redhat.com> Implement aarch64 support

- IFUNC support is not implemented, the rest works well. The only
other failure is in wide char functions, and that occurs on x86_64
as well.
akefile.am
arch64/Makefile.am
arch64/arch.h
arch64/fetch.c
arch64/plt.c
arch64/ptrace.h
arch64/regs.c
arch64/signalent.h
arch64/syscallent.h
arch64/trace.c
a0093ca43cf40d7e5f6cebeb64156062d2de46d9 10-Jan-2014 Petr Machata <pmachata@redhat.com> Don't crash untraced calls via PLT in prelinked PPC64 binaries

In prelinked binaries, ltrace has to unprelinks PLT slots in order to
catch calls done through PLT. This makes the calls done through these
slots invalid, because the special first PLT slot is not initialized,
and dynamic linker SIGSEGVs because of this. Ltrace relies on
arranging breakpoints such that the dynamic linker is not actually
entered, and moves PC around itself to simulate the effects of a call
through PLT.

Originally, arch_elf_add_plt_entry was called only for symbols that
were actually traced. Later this was changed and it's now called for
all PLT entries, and the resulting candidate list is filtered
afterwards. This gives backends a chance to rename the symbol, as is
useful with IRELATIVE PLT calls, where symbol name may not be
available at all. But the PPC backend was never updated to reflect
this, and unresolved all symbols for which arch_elf_add_plt_entry was
called, thus rendering _all_ PLT slots invalid, even those that
weren't later procted by breakpoints. Thus calls done through any
untraced slots failed.

This patch fixes this problem by deferring the unprelinking of PLT
slots into the on_install hook of breakpoints.
pc/arch.h
pc/plt.c
79e64bcb176442b0eef89764d5ea7f07972dd240 10-Jan-2014 Petr Machata <pmachata@redhat.com> Type umovebytes properly
race.c
b882ba7bd0840db234eb84c27665da4b3f4b42b8 09-Jan-2014 Mark Wielaard <mjw@redhat.com> Initialize libsym early in trace.c to help the compiler.

GCC 4.4.7 isn't smart enough to realize own_libsym will always be zero
when it sees the goto done which might jump over the initialization of
libsym. And so will produce a warning like:

cc1: warnings being treated as errors
trace.c: In function ‘ifunc_ret_hit’:
trace.c:1433: error: ‘libsym’ may be used uninitialized in this function
race.c
35742523e3daa0e59de0c1c3fdd8e5ff52891967 09-Jan-2014 Petr Machata <pmachata@redhat.com> Fix a problem in tracing across fork on PPC64

In order to avoid single-stepping through large portions of the
dynamic linker, ltrace remembers at which address the instruction that
resolved a PLT slot is. It then puts a breakpoint to this address so
that it can fast-forward to that address next time it needs to catch a
PLT slot being resolved.

When a process is cloned, the pointer to this breakpoint is simply
copied over to the new process, instead of being looked up in the new
process structures. This patches fixes this.
pc/plt.c
f7864d60f0c8180806ed9b7d8dac26b250bd7120 27-Nov-2013 Petr Machata <pmachata@redhat.com> Support IRELATIVE relocations on s390
390/arch.h
390/plt.c
42cccc91299718b95eecffa6941e29c33d5616b3 27-Nov-2013 Petr Machata <pmachata@redhat.com> On s390{,x}, r2 is scrambled after syscall entry

This was caught by system_call_params.exp test case:

exe->mount("source", "target", "filesystemtype", 0, nil <unfinished ...>
mount@SYS("", "target", "filesystemtype", 0, nil) = -2
<... mount resumed> = -1

Note how the first parameter disappears--r2 now holds syscall number
(21 in this case), and the original value is stored in orig_gpr2 in
save area.
390/fetch.c
7b0088dbf6861987f13ad1e0740d633069fdb9d7 22-Nov-2013 Petr Machata <pmachata@redhat.com> On x86{,_64}, PLT entries may not be ordered by their relocation

- In general they are. But IRELATIVE relocations are sorted to come
last, and PLT entries are not sorted accordingly.
86/arch.h
86/plt.c
89396203c9de0d60374e1b298529afcf0bfbf5ed 06-Nov-2013 Petr Machata <pmachata@redhat.com> Plug a leak
ooks.c
9e33f5ac1037adeb32e9d693e6555967e9be68a6 05-Nov-2013 Petr Machata <pmachata@redhat.com> Fix compilation on ARM

- This was broken several commits back by removing pltrel from
struct ltelf.
rm/arch.h
rm/plt.c
1383e5bd876baa123b39210c2210d256bcfa5bec 05-Nov-2013 Petr Machata <pmachata@redhat.com> In ARM backend, move hooks for ltrace_elf and library to plt.c

- That's the customary location for backend hooks.
rm/fetch.c
rm/plt.c
4f2f66e6abc7fedf3a5d04fab7cc00e5f82b37cf 05-Nov-2013 Petr Machata <pmachata@redhat.com> Move load_dynamic_entry from PPC backend to ltrace-elf.c/.h
pc/plt.c
fa844db00b61b9f61c9ae8c6f4165aa5fff3a5d7 05-Nov-2013 Petr Machata <pmachata@redhat.com> Full support of IFUNC tracing on PPC32
pc/arch.h
pc/plt.c
race.c
race.h
fec0b3b1b8323220255f9ebdcac7db2b689783ef 04-Nov-2013 Petr Machata <pmachata@redhat.com> Move code for tracing IFUNC symbols

- ... from sysdeps/linux-gnu/hooks.c to sysdeps/linux-gnu/trace.c
where it fits better.
ooks.c
race.c
54bb64cf2eae7a0daa4d17e980b743b8ae69413b 04-Nov-2013 Petr Machata <pmachata@redhat.com> Partial support of IFUNC tracing on PPC32

- Just like on PPC64, we need to move IRELATIVE relocations from
.rela.dyn to the vector of PLT relocations

- Just like on PPC64, we may need to rename the symbol--except the
symbol to looked is the one with the address of PLT slot address,
not of rela addend.
pc/plt.c
race.c
race.h
ba36f0ac51d194c599fd56457796e33e62c3220b 04-Nov-2013 Petr Machata <pmachata@redhat.com> Cleanups
vents.c
pc/plt.c
0ed5399f5cbb2b505a95bcac634c0ad5d7bbd6b8 04-Nov-2013 Petr Machata <pmachata@redhat.com> Properly publish read_relplt interface, rename it to elf_read_relocs
pc/plt.c
73b85aadbf377541ac336914e5ff8ec521226a97 30-Oct-2013 Petr Machata <pmachata@redhat.com> Support tracing P_PPC64_JMP_IREL slots
pc/arch.h
pc/plt.c
b061bae322edd4894f14ea2aea6baec36d32eda8 25-Oct-2013 Petr Machata <pmachata@redhat.com> Split linux_elf_find_irelative_name out of linux_elf_add_plt_entry_irelative
race.c
race.h
673ff510953b65b844a58478aa434120f457c014 25-Oct-2013 Petr Machata <pmachata@redhat.com> Keep PLT relocations in a vector

- That means we have to copy them out of ELF ahead of time instead of
referencing them from inside ELF on demand. But this way we can keep
one grand vector of all PLT-like relocations. On PPC, this makes
a difference: some PLT-like relocations (R_PPC64_JMP_IREL in
particular) are stored in .rela.dyn, not .rela.plt.
ips/plt.c
481a1eb415945720c0e1c545bd7679fd4cdb48ff 25-Oct-2013 Petr Machata <pmachata@redhat.com> OPD-transate the address that comes back from IFUNC resolver
ooks.c
5069ef8f498e5189de0789d79485f39b76c621d4 24-Oct-2013 Petr Machata <pmachata@redhat.com> Fix fetching of system call arguments on i386
86/fetch.c
88070a85ddaf5d2f4c6e89b5fbb5db5124049b4b 24-Oct-2013 Petr Machata <pmachata@redhat.com> sysdeps/linux-gnu/trace.c misses #include <stdint.h>
race.c
b3d6180e6d1cfc188a44b60dda6a7ac4faf0fdce 16-Oct-2013 Petr Machata <pmachata@redhat.com> Linux backend now supports tracing of IFUNC symbols
ooks.c
s.h
1e4b8c8d93606721c8728c6cacb8c9921353049b 15-Oct-2013 Petr Machata <pmachata@redhat.com> Enable IRELATIVE tracing on x86 and x86_64
86/arch.h
86/plt.c
b420a226cd2fc5d6028adcaf236c512a1f1fb437 15-Oct-2013 Petr Machata <pmachata@redhat.com> Add support for tracing of IRELATIVE PLT entries

- Because the IRELATIVE entries have no associated symbol name, we
need to allow arch_elf_add_plt_entry to override the name. This is
done by that callback returning PLT_OK and returning the new symbol
via libsym-chain return argument. Filtering is postponed until we
have that symbol, and the filter is applied to the whole returned
chain.

- Add linux_elf_add_plt_entry_irelative to support proper naming of
IRELATIVE PLT entries. This needs to be called from arch backend,
as the numbers of IRELATIVE relocations differ per-architecture.
race.c
race.h
b94407705ecddffd7820ee61bcad3f0d72ee87c1 14-Oct-2013 Petr Machata <pmachata@redhat.com> Split part of delete_breakpoint into delete_breakpoint_at
race.c
aa3db6b1234da0e542ba7782849cf200d0d91c1c 23-Oct-2013 Petr Machata <pmachata@redhat.com> Replace os_get_ltrace_conf_filename with os_get_ltrace_conf_filenames

- I.e. allow returning a list of filenames, as opposed to a single
home directory name. This is to implement exactly the legacy config
file behavior on Linux.
ooks.c
552d75e2a226782cc9ecf966e6e343af8f51031f 14-Oct-2013 Petr Machata <pmachata@redhat.com> Sanitize interface of arch_get_sym_info/elf_get_sym_info

- <0 for errors, ==0 for OK, 1 for skip. Errors are now propagated
and can be handled as necessary without cancelling tracing.

- Clarify the comment at arch_get_sym_info.
ips/plt.c
02a796e5e49c147982020c78b0066930e979f3e4 11-Oct-2013 Petr Machata <pmachata@redhat.com> Rename insert_breakpoint to insert_breakpoint_at
pc/plt.c
roc.c
race.c
7287166e8fd5949ffcf8eb1f3d378b5ea538915e 11-Oct-2013 Petr Machata <pmachata@redhat.com> arch_library_init and arch_library_clone should be able to signal failure

- This then trickles to library_init, which needs to return int
- Callers of library_init were updated to unroll their transactions
upon failure
- PPC and ARM backends were updated to match the updated interface
rm/fetch.c
pc/plt.c
roc.c
c391cea99973d5fac82bf9b78ff72dd428875721 26-Sep-2013 Peter Wu <lekensteyn@gmail.com> Fix missing 'metag' in distribution tarball
akefile.am
20a4315a72ea4df9fe808a5efe374f12f24e2cd1 19-Sep-2013 Petr Machata <pmachata@redhat.com> Fix a comment typo
ooks.c
cb58fdb5a072ad70087a07f67d0c094ff77ca4b7 26-Mar-2013 Petr Machata <pmachata@redhat.com> s390 set_instruction_pointer: Set highest bit in 31-bit tracer

- The highest bit is used to distinguish between 24-bit and 31-bit
addressing modes. Up until about 3.1, Linux did this automatically,
but stopped doing so with the following commit:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d4e81b35b882d96f059afdb0f98e5b6025973b09
390/regs.c
09489a36a9f0b7fda7bf9d0806301e8d712001b9 26-Mar-2013 Petr Machata <pmachata@redhat.com> Coding style in s390/regs.c

- This changes uses of void* to arch_addr_t, and adds tags for future
conversion of arch_addr_t to an integral type.
390/regs.c
a193452188e51f233677e3f2607d9a61a789a1df 22-Mar-2013 Markos Chandras <markos.chandras@imgtec.com> ltrace: Add support for Imagination Technologies Meta

This patchset adds support for Imagination's Meta architecture.
The Meta Linux kernel port will be included in the Linux Kernel
v3.9. It also uses the generic system call numbers.

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
etag/Makefile.am
etag/arch.h
etag/plt.c
etag/ptrace.h
etag/regs.c
etag/signalent.h
etag/syscallent.h
etag/trace.c
f25af517a06521f69fbc53eaf3c245a7a2298c75 06-Feb-2013 Petr Machata <pmachata@redhat.com> ARM cleanups
rm/regs.c
rm/regs.h
rm/trace.c
8a7a9f59e75c8605ca8206294b7729d0fd70f11f 06-Feb-2013 Petr Machata <pmachata@redhat.com> ARM: Stack slot is always aligned to at least 4 bytes
rm/fetch.c
88a0fe50a3fad351cf28ef3902dbd0dd3540735c 06-Feb-2013 Petr Machata <pmachata@redhat.com> VFP shouldn't be used for parameter passing in vararg functions on ARM
rm/arch.h
rm/fetch.c
2a102987aa3583449e6bf56060bf5c8129ee8cd2 06-Feb-2013 Petr Machata <pmachata@redhat.com> Simplify the code for ARM parameter passing
rm/fetch.c
1c8596d41dde12f9af6a21035fac0c64f428ab76 06-Feb-2013 Petr Machata <pmachata@redhat.com> Implement VFP parameter passing for ARM backend
rm/fetch.c
982cbca34b2b49a158086ff5f43eb9bba89edead 06-Feb-2013 Petr Machata <pmachata@redhat.com> Move get_hfa_type from IA64 backend to type.c, name it type_get_hfa_type
a64/fetch.c
62fc7747d37cacfb21381961674c07ebab5f2fb9 05-Feb-2013 Petr Machata <pmachata@redhat.com> Implement Base Procedure Call Standard for ARM

arch_fetch_arg_next still doesn't support "hardfp" extensions, but much of
the test suite is now clean, with only 16 failures left.
rm/fetch.c
97a25160b0fe646d9c567e12c5abefe8e59873c2 05-Feb-2013 Petr Machata <pmachata@redhat.com> Add ARM fetch backend

This only properly decodes float and double return values. More to come.
rm/fetch.c
rm/trace.c
df7d23111899c1e1aa16bad83e0db0a8334b11d9 05-Feb-2013 Petr Machata <pmachata@redhat.com> Implement decoding ARM attribute section

This to determine whether hardfp is used in the process.
rm/Makefile.am
rm/arch.h
rm/fetch.c
427a43ee9972763993a1241815d56921f30623ef 05-Feb-2013 Petr Machata <pmachata@redhat.com> Add arch_type_sizeof, arch_type_alignof to ARM backend
rm/arch.h
rm/trace.c
99b19eb1bb736d7066026894aa69e70de8a03094 05-Feb-2013 Petr Machata <pmachata@redhat.com> elf_get_section_* should return 0 if section wasn't found

Otherwise it won't be possible to differentiate between an error and
not-found condition. It seems some callers (MIPS, PPC backends) already
count on that behavior anyway.
pc/plt.c
f9d93c50bd246ea7fd42e0c8ad24aa01467e76ac 30-Jan-2013 Petr Machata <pmachata@redhat.com> Fix tracing Thumb mode on ARM

- Drop what amounts to global variable thumb_mode from struct process
- Thumb mode is encoded to address. That means that the code in
callstack_push_symfunc and insert_breakpoint has to assume that
what comes from get_return_address is mangled, and needs to go
through creating the breakpoint and then looking at its address.
That's awkward, and we should come up with a better API.
rm/breakpoint.c
rm/regs.c
44ae188c8dcd2727e383dcac0d46c3f784d0da5f 30-Jan-2013 Petr Machata <pmachata@redhat.com> Drop set_return_addr

- This is currently not used anywhere, so it is safe to assume that it is
broken anyway.
lpha/regs.c
rm/regs.c
a64/regs.c
68k/regs.c
ips/regs.c
pc/regs.c
390/regs.c
parc/regs.c
86/regs.c
7fc98ee3538bdcc898b785c26d275b0661bfdc8b 29-Jan-2013 Petr Machata <pmachata@redhat.com> Instead of smuggling the vfork return breakpoint back, ref it once more

- Before we would let the breakpoint be removed and later reinserted it.
But that's unnecessarily cumbersome, and besides breaks on ARM Thumb,
where the reinserted breakpoint would be ARM breakpoint instead of
Thumb. This is easier and fixes that issue.
race.c
037f37c72e252b05c59e53826d5007d24d54ac74 23-Jan-2013 Petr Machata <pmachata@redhat.com> More ARM Thumb support

Still not all of the GDB code ported. Some threading test cases still
fail.
rm/regs.h
rm/trace.c
d4a5447503b7bddfb6d7667747ee1eedd20ae491 21-Jan-2013 Petr Machata <pmachata@redhat.com> Early support for Thumb

This ignores 32-bit Thumb-2 instructions, and is very limited in what
it supports in Thumb, but it's a start.
rm/regs.h
rm/trace.c
6e5e2de1728215679e83df6943c34573c1384e32 21-Jan-2013 Petr Machata <pmachata@redhat.com> GNU/Linux software singlestepping: store breakpoints, not addresses

The reason being that the actual breakpoint address might be different
from the address requested. One example is Thumb, where Thumb
breakpoints are requested for address+1 (lowest bit set). Whether
this is clean solution is very questionable though.
race.c
race.h
7aa7b404588184ef9a45eeafbfc5ef4afc7fbf82 21-Jan-2013 Petr Machata <pmachata@redhat.com> More ARM software singlestepping support

This should be about done, sans bugfixes. Thumb to come next.
rm/trace.c
6b9664af2e87596055eaab59492e79bfd1527dab 21-Jan-2013 Petr Machata <pmachata@redhat.com> ptrace takes void* arguments

This might be relevant on Android.
rm/regs.c
9fa2b1850e664aa70a9559e41befca1a5975f08c 18-Jan-2013 Petr Machata <pmachata@redhat.com> Port more of the GDB code for ARM singlestepping

- Not even whole ARM is supported yet, and what is there isn't tested.
Thumb is not supported at all as of now.
rm/Makefile.am
rm/regs.c
rm/regs.h
rm/trace.c
19e74b5815987bb4260351bc1e5ef4a1ea08b1b4 17-Jan-2013 Petr Machata <pmachata@redhat.com> Initial support for software singlestepping on ARM

- This only knows about branch instructions, it doesn't handle long
branches.
- This also doesn't handle thumb mode at all.
rm/arch.h
rm/trace.c
273890e09616b8fe0b9b015ea8edda12c52d4ba2 08-Mar-2013 Petr Machata <pmachata@redhat.com> Port MIPS backend to the new dict code
ips/trace.c
84c8c722654548ed1cef5ba183a2198aad089836 09-Jan-2013 Petr Machata <pmachata@redhat.com> GNU/Linux x86 backend: allocate_stack_slot needs non-NULL valuep
86/fetch.c
52173f05eada6fab209e4f890b507ebaec32c163 09-Jan-2013 Petr Machata <pmachata@redhat.com> GNU/Linux x86 backend: don't pass valuep to functions that don't need it
86/fetch.c
6bf1e6abb46255456d307bb73432d8733978e5fd 09-Jan-2013 Petr Machata <pmachata@redhat.com> GNU/Linux: close opendir stream in error handling branches of process_tasks
roc.c
754ce881453ee3b6c6a93bbdaef7c645f43d49f6 08-Jan-2013 Petr Machata <pmachata@redhat.com> GNU/Linux backend: guard writing through task_info pointer against NULL
race.c
de98cb698d69ccbbb4388a6401a27897ba02371a 08-Jan-2013 Petr Machata <pmachata@redhat.com> Convert one void* to arch_addr_t in x86 backend
86/fetch.c
33f0ca5350ccc9ded3a2bfa82a988e9bd640233f 07-Jan-2013 Petr Machata <pmachata@redhat.com> Streamline some os_get_config_dirs for GNU/Linux

- Extract strlen($HOME) computation out of if branches
- Replace stpcpy+strcpy with a clearer call to sprintf
ooks.c
aacb95e73bd532bb11fbe4005fe28286ecb2d38d 07-Jan-2013 Petr Machata <pmachata@redhat.com> Improve error message in process_status backend call for GNU/Linux
roc.c
4e553c020b0e621bc15d76296990d06e47cf29f9 07-Jan-2013 Petr Machata <pmachata@redhat.com> Tolerate the failure to add _r_debug breakpoint
roc.c
364753a1cfe46998946a42badd9099591a00325a 06-Dec-2012 Petr Machata <pmachata@redhat.com> New backend hook os_get_ltrace_conf_filename and Linux implementation
ooks.c
414989183b268337a4f7e329237f3c1fd726d823 04-Dec-2012 Petr Machata <pmachata@redhat.com> Implement os_get_config_dirs for gnu-linux backend
akefile.am
ooks.c
98ff309cdc98857eb30992f108439cb7d7673598 08-Mar-2013 Petr Machata <pmachata@redhat.com> Change DICT_FIND to DICT_FIND_{REF,VAL}

- In many places, DICT_FIND was awkward to use, as it required the use
of pointers even in cases that the dictionary already stored
pointers. For those cases, add DICT_FIND_VAL.

- Rename the original DICT_FIND to DICT_FIND_REF to make the
disctinction clear. That is useful if the dictionary holds actual
structures.
race.c
d7e4ca82e1cf20bb2605befb1da74dd1688c706e 28-Nov-2012 Petr Machata <pmachata@redhat.com> Rewrite dict module to be more in line with vect

It's now a bit more strongly typed, can grow and shrink on demand, and has
a more complete interface.
It uses open addressing scheme to store hashes.
ips/trace.c
race.c
a9d6a6732c5b0b692a40ac073695332078a73738 05-Mar-2013 Petr Machata <pmachata@redhat.com> Remove hacks for SPARC code

Simply continuing on SPARC is probably broken. The breakpoint isn't
disabled at that point, and continuing just hits it again.

That __ia64___ in ifdef is never defined even on an IA64 machine.
It's a typo, note the three underscores.
race.c
bc0de433c25d224cf5f4743ba4a78131267c532d 16-Feb-2013 Oliver Spornitz <ospornit@rz-online.de> mips: Move mipsel to mips (3/3)

- move files from sysdeps/linux-gnu/mipsel to sysdeps/linux-gnu/mips
- move mipsel.h to mips.h
ips
ips/Doxyfile
ips/Makefile.am
ips/arch.h
ips/mips.h
ips/plt.c
ips/ptrace.h
ips/regs.c
ips/signalent.h
ips/syscallent.h
ips/trace.c
ipsel/Doxyfile
ipsel/Makefile.am
ipsel/arch.h
ipsel/mipsel.h
ipsel/plt.c
ipsel/ptrace.h
ipsel/regs.c
ipsel/signalent.h
ipsel/syscallent.h
ipsel/trace.c
eb7e05a8d48939a5feb84ae6befac8d66fbd8bed 16-Feb-2013 Oliver Spornitz <ospornit@rz-online.de> mips: Move mipsel to mips (2/3)

- trailing whitespace cleanup in files to move
ipsel/Doxyfile
ipsel/mipsel.h
32ea1b1eaad1a07a120811bca9dd9f3524cc9256 16-Feb-2013 Oliver Spornitz <ospornit@rz-online.de> mips: Move mipsel to mips (1/3)

- move references from mipsel to mips
- move references from mipsel.h to mips.h
akefile.am
ipsel/Doxyfile
ipsel/Makefile.am
ipsel/mipsel.h
ipsel/plt.c
ipsel/regs.c
ipsel/trace.c
4c81bf1e99bfc0b148f7a50b4aeeb7d43b878b2f 04-Feb-2013 Oliver Spornitz <ospornit@rz-online.de> Fix SIGSEGV on MIPS big endian
ipsel/arch.h
057caa59fc0063bd73568b0ae19bbf668b572737 30-Jan-2013 Petr Machata <pmachata@redhat.com> Introduce continue_after_exec

This needs to be handled differently on non-Linux platforms.
race.c
653085a32cdc89f5215c2d70249b58c9fe6aebb7 15-Jan-2013 Petr Machata <pmachata@redhat.com> Move byte-reading routines from PPC backend to generic code

- Use backend hook umovebytes to read the bytes from inferior.
pc/plt.c
pc/trace.c
643c6460b64e37af58d8259d86689d414c6b4052 15-Jan-2013 Petr Machata <pmachata@redhat.com> Update call to arch_sw_singlestep

- After the refactoring, the prototype changed and it doesn't
return int anymore. Of course C happily implicitly converts
this. Ho hum.
race.c
693dfad9c1b121cf079a3082866daa2225df1797 14-Jan-2013 Petr Machata <pmachata@redhat.com> Rename atomic singlestep to software singlestep

- The old name came from PPC implementation, where the feature was used for
skipping atomic instructions. But this is more useful, was reused for
fully software singlestepping on MIPS, and will be similarly used for ARM.
So rename the interface, and make the prototype more explicit.
- Also document the method in backend.h.
- And convert several void*'s to arch_addr_t's while there.
ipsel/arch.h
ipsel/trace.c
pc/arch.h
pc/trace.c
race.c
race.h
efd12cfb10ccd2c612838c0e22069554ce60637c 02-Jan-2013 Petr Machata <pmachata@redhat.com> In Linux backend, initialize linkmap struct

GCC 4.7.2 -m32 -Os gives the following (spurious) warning:
proc.c: In function 'crawl_linkmap':
proc.c:544:25: error: 'rlm.l_addr' may be used uninitialized in this
roc.c
71f25e25a4081b726e75026727483b6959dd8661 17-Dec-2012 Petr Machata <pmachata@redhat.com> Make enum ecb_status enumerators uppercase
vents.c
vents.h
race.c
96cb8e3111924780ed1d757e865a83f26421e616 17-Dec-2012 Petr Machata <pmachata@redhat.com> Make enumerators of process stopping status uppercase
race.c
race.h
ade3b9798fbc62becbe1b4854f7a2d106498167a 17-Dec-2012 Petr Machata <pmachata@redhat.com> Make enum plt_status enumerators uppercase
ipsel/plt.c
pc/plt.c
6dfc544b6aa6703d2292be34470aebf874d78452 17-Dec-2012 Petr Machata <pmachata@redhat.com> Make enum process_status enumerators uppercase

Rationale: coding style consistency.
vents.c
roc.c
race.c
929bd57ca202fd2f2e8485ebf65d683e664f67b5 17-Dec-2012 Petr Machata <pmachata@redhat.com> struct Process becomes struct process

This is for consistency with other structures, and ultimately with
Linux coding style. The typedef ("Process") was dropped as well for
this reason.

This opportunity was used to fix coding style around the impacted
lines.
lpha/plt.c
lpha/regs.c
lpha/trace.c
rm/breakpoint.c
rm/plt.c
rm/regs.c
rm/trace.c
reakpoint.c
ris/plt.c
ris/regs.c
ris/trace.c
vents.c
vents.h
a64/fetch.c
a64/plt.c
a64/regs.c
a64/trace.c
68k/fetch.c
68k/plt.c
68k/regs.c
68k/trace.c
ipsel/plt.c
ipsel/regs.c
ipsel/trace.c
pc/fetch.c
pc/plt.c
pc/regs.c
pc/trace.c
roc.c
390/fetch.c
390/plt.c
390/regs.c
390/trace.c
parc/plt.c
parc/regs.c
parc/trace.c
race.c
race.h
86/fetch.c
86/plt.c
86/regs.c
86/trace.c
c1990eb670b2786ffabe712fdb9bf3512dd1501c 03-Dec-2012 Gustavo Zacarias <gustavo@zacarias.com.ar> Fix build failure on ppc

ppc/trace.c is using waitstatus bits without including the appropiate
headers, leading to a build failure:

libtool: link:
/home/gustavoz/b/test/output/host/usr/bin/powerpc-buildroot-linux-uclibc-gcc
-Wall -Wsign-compare -Wfloat-equal -Wformat-security -pipe -Os -o ltrace
main.o ./.libs/libltrace.a -lelf
./.libs/libltrace.a(lt1-trace.o): In function `syscall_p':
trace.c:(.text+0x28): undefined reference to `WIFSTOPPED'
trace.c:(.text+0x40): undefined reference to `WSTOPSIG'

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
pc/trace.c
b2cfac8ace230d3cfafd7f3c15d5610bc2e6e044 30-Nov-2012 Petr Machata <pmachata@redhat.com> Linux VDSO can be also named linux-vdso{32,64}.so.1
roc.c
15595a3158e0efa20c6f357be526d54aa01393b7 12-Nov-2012 Petr Machata <pmachata@redhat.com> Better detection of VDSO in linkmap
roc.c
ccbdb91fe405910f630ee36781f7617a8b99a76b 09-Nov-2012 Andreas Schwab <schwab@linux-m68k.org> Update noinst_HEADERS
pc/Makefile.am
4754ea02d067a88e87d4cc67500419f20781de39 08-Nov-2012 Petr Machata <pmachata@redhat.com> Fix handling error cases in process_get_entry
roc.c
eb584971e63ce7a866c376d87ae8cb9088dd69be 08-Nov-2012 Petr Machata <pmachata@redhat.com> Initialize a variable in process_get_entry

GCC 4.7.2-RC on MIPS warns that 'entry.a_un.a_val' may be used
uninitialized. Personally I think this is invalid and the value
is properly initialized, but there's no harm initializing it
explicitly.
roc.c
1584cfcf6366645087d3d712d0bc5d19356bbb65 08-Nov-2012 Petr Machata <pmachata@redhat.com> Use arch_translate_address_dyn for ia64 backend

We don't generally need to translate symbol addresses on ia64, but we do
need to convert the breakpoint address in _r_debug structure from OPD to
entry point.
a64/arch.h
a64/plt.c
85465a6248ad4f97f133803a19726eb9049f8394 08-Nov-2012 Petr Machata <pmachata@redhat.com> Coding style nits in ia64 backend
a64/plt.c
af766ab1e37231fe1d7dc5e4b598b9c92f78ecd4 07-Nov-2012 Petr Machata <pmachata@redhat.com> Move default PTRACE_ constants into new file trace-defs.h

Include it also in events.c, where we use them as well.
akefile.am
vents.c
race-defs.h
race.c
3a9a0ceefd46feb7d88b89be5cce5c4b190b3119 07-Nov-2012 Petr Machata <pmachata@redhat.com> Include cris among subdirs in sysdeps/linux-gnu/Makefile.am
akefile.am
03f4b61154d2bfb87530bdc79f548c6374ba0db7 07-Nov-2012 Petr Machata <pmachata@redhat.com> Fix includes in PPC fetch backend
pc/fetch.c
7e26bd32a1a2269c193a6ef100ed8cd3127f3dc2 07-Nov-2012 Petr Machata <pmachata@redhat.com> Fix detection of resolved-ness for PPC32 BSS PLT slots

This fixes the remaining test suite failures on PPC.
pc/arch.h
pc/plt.c
b5fd53993b71d0301b3547287f1a978679b21be2 07-Nov-2012 Petr Machata <pmachata@redhat.com> Coding style in PPC backend

Don't use error. The rest of ltrace should use fprintf for portability,
use it here as well (even though portability is not an issue in
Linux-specific backend).
pc/plt.c
cf2f9227459448daf136e9f79c2181ac85d067be 07-Nov-2012 Petr Machata <pmachata@redhat.com> In PPC's PLT handling, inline two trivial functions with one caller only
pc/plt.c
13e68683414450f3bf7256e1cf09c0220325399f 07-Nov-2012 Petr Machata <pmachata@redhat.com> Move one function up in the PPC's PLT handling

This will be useful later in arch_dynlink_done.
pc/plt.c
8ddf19a62a4521561ae4e4f118f0c364774ee2db 07-Nov-2012 Petr Machata <pmachata@redhat.com> Convert enablement of PPC breakpoints from callbacks to iteration

The original code was not terribly hard to understand, but this resembles
a straightforward iteration (which it is) much more. Too bad it's not
possible to wrap this nicely into a for loop.
pc/plt.c
305945b2523ea87907952eefd7300cfb9f1a0235 07-Nov-2012 Petr Machata <pmachata@redhat.com> Move PPC insn masks and branch address computation to a separate file
pc/insn.h
pc/trace.c
b8deb4d589d57c49d510b1b463b3904cb4964557 31-Oct-2012 Petr Machata <pmachata@redhat.com> Use symbol delaying to implement PPC32 BSS handling

- this fixes tracing of -l symbols and fixes most of the test suite
- attach-process.exp broken for PPC32 BSS tracee
- trace-clone.exp broken for PPC32 ltrace and PPC32 BSS tracee
- PPC32 secure and PPC64 test suites come out clean
pc/plt.c
c06f23d2803c7744f3d2cd1fb3e54886d9e41ddf 30-Oct-2012 Petr Machata <pmachata@redhat.com> Fix three calls to debug()

debug() lines shouldn't include \n.
a64/plt.c
roc.c
86/trace.c
0ffa9f3f82febbcd475318ac282c456adb76c73c 30-Oct-2012 Petr Machata <pmachata@redhat.com> Call value_in_inferior instead of setting WHERE manually

On x86_64, this plugs a leak.
68k/fetch.c
pc/fetch.c
390/fetch.c
86/fetch.c
6c2e57ab25263946a09f42aa84f82678bdbfdc4e 27-Oct-2012 Petr Machata <pmachata@redhat.com> Coding style in sysdeps/linux-gnu/trace.c

This is all now code coming from the threads branch. Hopefully no patches
against this are in the wild.
race.c
47d70f6efd145113ad555dd2ba542d1050bbb784 26-Oct-2012 Petr Machata <pmachata@redhat.com> Use os_process_data for keeping debug status

This also takes care of a leak caused by malloc'ing struct debug. That
malloc is not done anymore, because the data is embedded in struct Process
by way of struct os_process_data.
s.h
roc.c
0f6e6d9861ce790cb8b7d07aca28a5878d705359 26-Oct-2012 Petr Machata <pmachata@redhat.com> Add os_process_data and related

This is meant to be the same for per-OS configuration as arch_process_data
is for per-arch configuration.
akefile.am
s.h
e99af270a60891e68d465c4cd97dbe29cd1a05e4 26-Oct-2012 Petr Machata <pmachata@redhat.com> Update copyright information and license headers
akefile.am
lpha/Makefile.am
lpha/plt.c
lpha/ptrace.h
lpha/regs.c
lpha/signalent.h
lpha/syscallent.h
lpha/trace.c
rch_mksyscallent
rm/Makefile.am
rm/arch_syscallent.h
rm/plt.c
rm/ptrace.h
rm/regs.c
rm/signalent.h
rm/syscallent.h
rm/trace.c
ris/Makefile.am
ris/plt.c
ris/ptrace.h
ris/regs.c
ris/signalent.h
ris/syscallent.h
ris/trace.c
a64/Makefile.am
a64/breakpoint.c
a64/plt.c
a64/ptrace.h
a64/regs.c
a64/signalent.h
a64/syscallent.h
68k/Makefile.am
68k/plt.c
68k/ptrace.h
68k/regs.c
68k/signalent.h
68k/syscallent.h
68k/trace.c
ipsel/Doxyfile
ipsel/Makefile.am
ipsel/mipsel.h
ipsel/plt.c
ipsel/ptrace.h
ipsel/regs.c
ipsel/signalent.h
ipsel/syscallent.h
ipsel/trace.c
ksignalent
ksyscallent
ksyscallent_mips
ksyscallent_s390
pc/Makefile.am
pc/plt.c
pc/ptrace.h
pc/regs.c
pc/signalent.h
pc/syscallent.h
390/Makefile.am
390/plt.c
390/ptrace.h
390/regs.c
390/signalent.h
390/signalent1.h
390/syscallent.h
390/syscallent1.h
390/syscalls31.h
390/syscalls64.h
parc/Makefile.am
parc/plt.c
parc/ptrace.h
parc/regs.c
parc/signalent.h
parc/syscallent.h
parc/trace.c
86/Makefile.am
86/plt.c
86/ptrace.h
86/signalent.h
86/signalent1.h
86/syscallent.h
86/syscallent1.h
b8fd68d15b1f631e38148ac5dab39d7e857fbc92 18-Oct-2012 Petr Machata <pmachata@redhat.com> Improve a debug message at linkmap_init
roc.c
0475ac36f22c9531cd0e0ba7d02cee5a1c5c67ea 18-Oct-2012 Petr Machata <pmachata@redhat.com> Implement process_get_entry for linux-gnu
roc.c
5a19e67c9f66c47260310223aeae04d2a5191eac 09-Oct-2012 Edgar E. Iglesias <edgar@axis.com> mipsel: Add support for CPIC main programs

Add support for CPIC (Calls PIC) only binaries. These ELF
files are not PIC themselves (as ordinary o32 binaries).

External calls via function pointers don't work yet.

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
ipsel/arch.h
ipsel/plt.c
f14df2387a0312533b1a1bb3718e9a0d7339fb53 09-Oct-2012 Edgar E. Iglesias <edgar@axis.com> mipsel: Add a MIPS specific find_dl_debug

MIPS dynamic loaders put the address of their debug areas
into an DT_MIPS_RLD_MAP entry instead of into the DT_DEBUG
entry.

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
ipsel/arch.h
ipsel/plt.c
11c3c3e28461886bb16c69c745b1fefa946c4d9f 09-Oct-2012 Edgar E. Iglesias <edgar@axis.com> Make finding the dynamic linkers debug area arch specfic

Make it possible for archs to override the lookup of the
dynamic linkers debug area.

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
roc.c
fd4b4ef0d4fbaf2039fac61764421e47cac2ca39 09-Oct-2012 Edgar E. Iglesias <edgar@axis.com> Allow extension tags in proc_find_dynamic_entry_addr

Remove the check for generic tags allowing the caller
to pass extension tags. I couldn't find a way to strictly
validate the tag nr, furthermore the seek tag is internally
generated so I simply dropped the check (beyond checking for
positive values).

One way possible could be to check for:
(tag >= DT_NULL && tag < DT_NUM) || (tag >= DT_LOOS && tag <= DT_HIPROC)

But I'm not sure thats OK.

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
roc.c
cc77b0e0e735d598f4bc746f8e79b6cd342bd606 09-Oct-2012 Edgar E. Iglesias <edgar@axis.com> Export find_dynamic_entry_addr

Export find_dynamic_entry_addr as proc_find_dynamic_entry_addr.

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
roc.c
5b5c256d0e9076e745908a43acc46353265a5608 04-Oct-2012 Edgar E. Iglesias <edgar@axis.com> Abort on unsupported value types in the backends

Makes it easier to add new types.

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
a64/fetch.c
68k/fetch.c
pc/fetch.c
pc/trace.c
390/fetch.c
390/trace.c
86/fetch.c
86/trace.c
f97b187598192f4c1f0ea47369f4e1dd4c08c392 01-Oct-2012 Edgar E. Iglesias <edgar.iglesias@gmail.com> mipsel: Replace LS_TOPLT_GOTONLY with delayed syms

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
ipsel/arch.h
ipsel/plt.c
0b02a93aff5808b7640299faedfeb697485fd170 01-Oct-2012 Edgar E. Iglesias <edgar@axis.com> mipsel: Avoid space before parenthesis in func calls

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
ipsel/trace.c
a35cc7ad54c7ba11d113f729d40857f59bf01b05 01-Oct-2012 Edgar E. Iglesias <edgar@axis.com> mipsel: Always add/remove breakpoints to/from the leader

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
ipsel/plt.c
ipsel/trace.c
c44ef1ea84927851ddd74abff9a6374a62978cae 01-Oct-2012 Edgar E. Iglesias <edgar@axis.com> mipsel: Improve singlestepping over branch always

When singlestepping over BEQ issuing a compare between
a single register (i.e a branch always), only follow the
branch path.

This catches the case for functions that end with loops
and avoids us putting breakpoints at the begining of the
next function (where there likely already is a bp).

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
ipsel/trace.c
3a1806db0ecaa4364e51b4822d66d05f4acd87a9 27-Sep-2012 Edgar E. Iglesias <edgar@axis.com> mipsel: Update breakpoints when functions return

When functions return we check if the symbol went from
unresolved to resolved and if the resolved address
differs from the unresolved one. If so, we add a new
breakpoint at the resolved address.

This is not thread-safe.

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
ipsel/arch.h
ipsel/plt.c
addae05da54ac16c55133e1c384d74e03346f634 27-Sep-2012 Edgar E. Iglesias <edgar@axis.com> mipsel: Singlestep over breakpoints

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
ipsel/arch.h
ipsel/trace.c
race.c
6ef7b2597cd3f4edf851a7b3516aef7449e554ad 27-Sep-2012 Edgar E. Iglesias <edgar@axis.com> mipsel: Add mips specific symbol info loading

MIPS needs a backend specific way to load symbol info.
We add fields to the symbol representation to keep track
of the state of the dynamic symbol.

At arch_dynlink_done we go through the symbols that are
connected to a GOT entry but that where not resolved at
startup time (e.g function pointers to external syms).

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
ipsel/arch.h
ipsel/plt.c
9f274ffc8d38bd73c31c2b181f25349b813cb9dd 27-Sep-2012 Edgar E. Iglesias <edgar@axis.com> mipsel: Conditionalize GOT indirection in sym2addr

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
ipsel/plt.c
9eb1c0695cf95966a4b27355527691a2b7b7fe92 25-Sep-2012 Petr Machata <pmachata@redhat.com> Drop FORK_EXEC_SYSCALLS that is not used anymore these days
86/arch.h
78ed40f161c102a10c6033c28ad9a80e5ffe9550 22-Sep-2012 Petr Machata <pmachata@redhat.com> Fix passing struct(float,struct(float,float)) on x86_64

The problem was that we assumed that structure elements never overlap
eightbyte boundary. This assumption is violated by the above layout,
where the first two floats should be passed in %xmm0 together.

This case is covered by the Itanium HFA tests func_hfa_f3 and func_hfa_f4.
86/fetch.c
a400a7c858f81b3be051a37011d88f8639bee598 13-Sep-2012 Petr Machata <pmachata@redhat.com> Fix passing of vararg parameters on Itanium

This fixes two failures in parameter.exp. That test case is now clean.
a64/arch.h
a64/fetch.c
b50f0e143c6d0b99031b880b8ec85c0995a06033 10-Sep-2012 Petr Machata <pmachata@redhat.com> Style nit
a64/fetch.c
bd3752795ee71477adb76c1f1af17b9da3964004 08-Sep-2012 Petr Machata <pmachata@redhat.com> Add fetch back end for ia64

This passes most tests in parameters.exp with the exception of:
FAIL: printf(\"sotnuh %d %ld %g %c.n\", 5, 6, 1.500*, 'X')
FAIL: printf(\"many_args[...]

These two cases are probably hitting some ABI special case for variable
argument lists.
a64/Makefile.am
a64/arch.h
a64/fetch.c
a64/trace.c
a2e16c5cc8cc2343d40a44ac8b4d2230de9fc985 21-Sep-2012 Petr Machata <pmachata@redhat.com> Don't include arch.h, include sysdep.h instead

arch.h is supposed to be a simple configuration file and few have inclusion
guards. sysdep.h is the proper interface to use.
reakpoint.c
5371a73782447ffa19c0183ad55b6d0936c19e8a 13-Sep-2012 Andreas Schwab <schwab@linux-m68k.org> Add fetch back end for m68k

This ports the m68k backend to ARCH_HAVE_FETCH_ARG, which fixes all
remaining testsuite failures.
68k/Makefile.am
68k/arch.h
68k/fetch.c
68k/trace.c
0fd388f31ce345fd575b750f7fbd2b4831e97070 12-Sep-2012 Andreas Schwab <schwab@linux-m68k.org> Update m68k syscall table

Regenerated from linux 3.6-rc.
68k/syscallent.h
17e330d4d500e880499bee92875dd55427e16c4a 12-Sep-2012 Edgar E. Iglesias <edgar@axis.com> cris: autotoolization

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
ris/Makefile
ris/Makefile.am
135ac50e0e326f46942826fe08f64daaa0e3135a 12-Sep-2012 Edgar E. Iglesias <edgar@axis.com> cris: Compile fix

Include missing library.h

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
ris/plt.c
563bca967f5c6c520643ff50aafb7d3b90e3507e 05-Sep-2012 Sedat Dilek <sedat.dilek@gmail.com> mips: Fix prototype of arch_elf_init() in plt.c

arch_elf_init prototype was wrong with respect to its declaration
in backend.h.

Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
ipsel/plt.c
49c93487406e5cc134b78b5c664ec8f77771d03a 04-Sep-2012 Sedat Dilek <sedat.dilek@gmail.com> Remove PLTs_INIT_BY_HERE and E_ENTRY_NAME defines

Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
ipsel/arch.h
d57c9f8a8515781d687ce57eadc371038cd01526 03-Sep-2012 Petr Machata <pmachata@redhat.com> Remove remnants of PLT_REINITIALISATION_BP

This was only ever used for PowerPC, which doesn't need it anymore.
pc/arch.h
a7e7bea0205959a2bdfe4c2049ebb01d3e3b23f7 01-Sep-2012 Petr Machata <pmachata@redhat.com> Update syscallent.h on MIPS from latest kernel
ipsel/syscallent.h
3b3b0d3a24c1b6c374cc2338d9791518fffa29be 01-Sep-2012 Petr Machata <pmachata@redhat.com> Fix compilation on MIPS
ipsel/plt.c
ipsel/trace.c
5b4f4673ac4baf825eb5250049b97c9de1a1530a 31-Aug-2012 Petr Machata <pmachata@redhat.com> Fix includes
a64/breakpoint.c
70747c3890f71f80ff6fafacc990293c91dcff77 31-Aug-2012 Petr Machata <pmachata@redhat.com> Use assert instead of printing an error that should never happen
a64/breakpoint.c
7bd88f51d4305f093ec45f557a0bde69ce5a7d11 31-Aug-2012 Petr Machata <pmachata@redhat.com> Fix formatting string
a64/plt.c
5e2cfb11c420af3352a62ea197f37f85c00e024c 31-Aug-2012 Andreas Schwab <schwab@linux-m68k.org> Fix arch_plt_sym_val for m68k
68k/plt.c
fcf256ceeab4b0b74cf1e18122e894aafce94fdc 30-Aug-2012 Petr Machata <pmachata@redhat.com> PPC64 passes floating point equivalent structures in registers as well

Extract the structure unpacking code from s390 back end into the generic
type module. Call this from both s390 and ppc back ends.
pc/fetch.c
390/fetch.c
12d64f8bbae6245146900e8ee2292d854a22f26d 30-May-2012 Petr Machata <pmachata@redhat.com> Move a comment in s390 backend
390/fetch.c
df59c75ee9fa70343c9af929403cd3d371443714 30-May-2012 Petr Machata <pmachata@redhat.com> Support passing 8-byte structures via register pair on s390
390/fetch.c
0b926f68098c4dd0df922ba2c6214ed902cd4cd6 30-May-2012 Petr Machata <pmachata@redhat.com> In s390 fetch backend, compute type size in advance, pass in argument list
390/fetch.c
8d30fd9f26ccd15f0fa27e09d1fd99deddb17d36 30-May-2012 Petr Machata <pmachata@redhat.com> Move a comment where it belongs
390/fetch.c
232fb3cf407d139a475b296ac5e95ae344771786 30-May-2012 Petr Machata <pmachata@redhat.com> Drop gimme_arg from s390 back end
390/trace.c
917ef246757d89b74eac58e0664b3fe2146a6fdb 30-May-2012 Petr Machata <pmachata@redhat.com> Implement arch_type_{sizeof,alignof} for s390

This fixes s390x/s390 tracing scenario.
390/arch.h
390/trace.c
789ad44c2fa11ea4e6508fd2feb98025954cf01d 30-May-2012 Petr Machata <pmachata@redhat.com> Clean up s390/arch.h

Drop FORK_EXEC_SYSCALLS that is not used anymore these days.
Remove duplicity in defining LT_ELFCLASS and friends. We don't require
LT_ELFCLASS to be always defined anymore.
390/arch.h
82b1977bfdc0c31be26454257db28a1cb497fbf2 30-May-2012 Petr Machata <pmachata@redhat.com> Support s390/s390 tracing

s390x/s390 is not supported yet
390/fetch.c
ecb2e82fe81684fc10876db6b73de8cefad06d9a 29-May-2012 Petr Machata <pmachata@redhat.com> Implement fetch back end for s390x
390/Makefile.am
390/arch.h
390/fetch.c
bac2da505ee174b7fb984b975c5938f88f0dbab2 29-May-2012 Petr Machata <pmachata@redhat.com> Move target_address_t to arch.h, rename to arch_addr_t

Note that the placement under arch.h is currently conceptual only. Since
no backend defines ARCH_HAVE_ADDRESS_TYPES, it's actually in sysdep.h in
all cases.
rm/breakpoint.c
pc/fetch.c
pc/plt.c
pc/trace.c
roc.c
race.c
86/fetch.c
86/regs.c
1b4d3bec9409b4c9a5cbc1be9faa31ea988c6ed3 18-May-2012 Petr Machata <pmachata@redhat.com> We need to fetch floating registers on pure i386 as well

Also, remove i386 from the fail spec of parameters.exp, as now it's
expected to pass.
86/fetch.c
67154e908e059729405c4479354b3216b3d62f90 17-May-2012 Petr Machata <pmachata@redhat.com> Align x86 syscallent tables, add new syscalls
86/syscallent.h
86/syscallent1.h
ddd96a3fbc7c54146d1d831810fc9e29c9bc3c76 17-May-2012 Petr Machata <pmachata@redhat.com> Merge i386 and x86_64 back ends into a general x86

The reason being that x86_64 needs to handle i386 anyway, and keeping the
two together might reduce code duplicity.
akefile.am
386/Makefile.am
386/arch.h
386/plt.c
386/ptrace.h
386/regs.c
386/signalent.h
386/syscallent.h
386/trace.c
86/Makefile.am
86/arch.h
86/fetch.c
86/plt.c
86/ptrace.h
86/regs.c
86/signalent.h
86/signalent1.h
86/syscallent.h
86/syscallent1.h
86/trace.c
86_64/Makefile.am
86_64/arch.h
86_64/fetch.c
86_64/plt.c
86_64/ptrace.h
86_64/regs.c
86_64/signalent.h
86_64/signalent1.h
86_64/syscallent.h
86_64/syscallent1.h
86_64/trace.c
2d9be647dd7402402ad3d2d2f114632aba21eaca 17-May-2012 Petr Machata <pmachata@redhat.com> Rename snip_small_int to align_small_int, move the function up
pc/fetch.c
36718b01e510ff3973e14b2bad0dbad3177b9943 17-May-2012 Petr Machata <pmachata@redhat.com> Fix compilation on PPC32

The test suite comes out clean in PPC32/PPC32 case as well.
pc/fetch.c
dbcb32a5ab5a1c9e2d8cb70b07320db1ae8c234b 17-May-2012 Petr Machata <pmachata@redhat.com> FP registers are not backed by GPR's on PPC32

This fixes func_many_args, printf/sotnuh and printf/many tests in
parameters.exp. The test suite is now clean in PPC64/PPC32.
pc/fetch.c
95792af484c635071ed96107d34a3762c4ca2ef2 17-May-2012 Petr Machata <pmachata@redhat.com> Size should be computed from the type stored at valuep

That because that type could have been changed above for passing structs
by reference on PPC32. This fixes the three func_struct_large* tests in
parameters.exp.
pc/fetch.c
ebd9191418bd73796533d6e21a2536906459ec1f 17-May-2012 Petr Machata <pmachata@redhat.com> Fixes for PPC fetch back end

This takes care of func_short, func_ushort, printf/sotnuh1, func_lens
and func_negative_enum tests in parameters.exp
pc/fetch.c
b52f89c1302256bae003edc44c6e3788833629f1 17-May-2012 Petr Machata <pmachata@redhat.com> Elementary support for fetch_* from PPC32 processes

Many test case failures in parameters.exp, but elementary fetching now works.
pc/fetch.c
d0a4cf7dc388729bce29fc8b1459e0a0007478f6 17-May-2012 Petr Machata <pmachata@redhat.com> Remove unused code
pc/ptrace.h
pc/trace.c
af9e30ec852a24f52a36775154ff79cc4be0193d 17-May-2012 Petr Machata <pmachata@redhat.com> Implement arch_type_sizeof and arch_type_alignof for PPC back end
pc/arch.h
pc/trace.c
d5d70af126d79150ba62a471af08119f9cd44ed0 16-May-2012 Petr Machata <pmachata@redhat.com> Resolve the remaining problems in parameters.exp (PPC64 only)
pc/fetch.c
7d1e7926b92403ce03d1c2002c80937b280fa415 16-May-2012 Petr Machata <pmachata@redhat.com> Fix computation of address of the first used stack slot

This fixes func_struct_large in parameters.exp
pc/fetch.c
f7537b62af3507de87d6fa645ef20fe61e3f3c09 16-May-2012 Petr Machata <pmachata@redhat.com> Implement passing and returning structures by value on PPC64

This fixes tests func_struct_2, func_struct_large2 and func_struct_large3
in parameters.exp.
pc/fetch.c
54737daf1c51ec826fcabc8189a7ff891f29d59b 05-May-2012 Petr Machata <pmachata@redhat.com> First stab at fetch interface for PPC

This doesn't support passing structures by value and returning structures
is partially broken.
pc/Makefile.am
pc/arch.h
pc/fetch.c
pc/trace.c
a7ec2d840a68bf103aacd240555406955c397ecf 04-May-2012 Petr Machata <pmachata@redhat.com> Move code related to fetch.h from trace.c to fetch.c in x86_64 back end
86_64/Makefile.am
86_64/fetch.c
86_64/trace.c
dcf518472b0f8581bac5af8a55d3a3c23472aaca 04-May-2012 Petr Machata <pmachata@redhat.com> Use struct Process.e_machine in conditions, not .mask_32bit

Though what we need in fact is a field determining ABI of the process.
e_machine is just one aspect of the used ABI, it doesn't include ELF class,
which we need to tell x86_64 binary from x32 binary.
86_64/trace.c
2fb192b7bb49b659343f6dec89931168de00660c 04-May-2012 Petr Machata <pmachata@redhat.com> Add interface value_pass_by_reference, use in x86_64 back end
86_64/trace.c
42332ad028c8616c6d8155520bdc7293b53af138 04-May-2012 Petr Machata <pmachata@redhat.com> Drop fpregs_copy from PPC back end
pc/ptrace.h
pc/trace.c
98d319eb9654ce903c751405535ebcd7077be887 04-May-2012 Petr Machata <pmachata@redhat.com> Fix includes in PPC back end
pc/plt.c
8ae3673880056b5da0bf9a5fbf9b37276adae56e 30-Apr-2012 Petr Machata <pmachata@redhat.com> Fix memory errors
race.c
ba1664b062414481d0f37d06bb01a19874c8d481 28-Apr-2012 Petr Machata <pmachata@redhat.com> Fix compilation
vents.c
roc.c
race.c
race.h
86_64/trace.c
c6a1463684a03af0fd74bf438f85c26bb6c7a76c 22-Feb-2012 Petr Machata <pmachata@redhat.com> PPC backend needs to include backend.h
pc/trace.c
c07a26a8d0f86bc4137eb7b7fea8bbf9021275f1 09-Jan-2012 Petr Machata <pmachata@redhat.com> Add enum lens, drop ARGTYPE_ENUM
86_64/trace.c
d5285b23e7e515ccb6afdb82fae32a608bb28a2f 09-Jan-2012 Petr Machata <pmachata@redhat.com> Declare endianess in arch.h of each architecture
lpha/arch.h
rm/arch.h
ris/arch.h
386/arch.h
a64/arch.h
68k/arch.h
ipsel/arch.h
pc/arch.h
390/arch.h
parc/arch.h
86_64/arch.h
541cdc7736ffa770958208995fae71cbd1d50bcf 09-Jan-2012 Petr Machata <pmachata@redhat.com> New x86_64 back end
86_64/arch.h
86_64/ptrace.h
86_64/trace.c
642626096a694c6af279d25d2b1b2fba5b10ddfb 07-Jan-2012 Petr Machata <pmachata@redhat.com> Add backend.h for backend interfaces
reakpoint.c
vents.c
vents.h
roc.c
race.c
cd972587a4c0d14d764b3d0a43d75f5941db14cc 07-Jan-2012 Petr Machata <pmachata@redhat.com> Move event-que declarations to sysdeps, new backend interface process_removed

- the reason being that the que-handling was declared on global level, but
was only implemented in one back end. If this is deemed generally useful,
it should all be moved to front end, but as things are it's all the same,
so I'm preferring the less invasive change
akefile.am
vents.c
vents.h
roc.c
race.c
e6ee77bc6197b11355ebb911f4e09d4ff95286d9 07-Jan-2012 Petr Machata <pmachata@redhat.com> Tweak x86_64 backend to fix the most glaring errors

- better back end is on the way
86_64/trace.c
6f9f03b3108b68e790eca48fcf053f74ff433094 06-Jan-2012 Petr Machata <pmachata@redhat.com> Drop struct arg_type_info.u.{float,double}_info

- this is not generally useful, for proper ABI support each backend has
to implement some sort of register-allocating state machine anyway (like
is currently done for ppc).
- ia64 was the only backend making use of this, fix that part of the code
a64/trace.c
97f13e3fca546aa292ba5d8aa6011338e64f2f7a 06-Jan-2012 Petr Machata <pmachata@redhat.com> Drop unused interfaces save_register_args, struct stack_element.arch_ptr
lpha/trace.c
rm/trace.c
ris/trace.c
386/trace.c
a64/trace.c
68k/trace.c
ipsel/trace.c
pc/trace.c
390/trace.c
parc/trace.c
86_64/trace.c
46a41f7c72828f2f43a640e0ce1fbb41d7a196e9 06-Jan-2012 Petr Machata <pmachata@redhat.com> Drop umovestr, umovelong that are not used anymore
pc/trace.c
race.c
000e31195ad4ad30a0c80c93ab57a424e7d8d918 03-Jan-2012 Petr Machata <pmachata@redhat.com> Add type.c/.h, value.c/.h, value_dict.c/.h

- none of this is plugged in yet
- expr.c/.h is not in yet, so we still express array length with len_spec
integer. Some function are mocked out so the thing compiles
lpha/trace.c
rm/trace.c
ris/trace.c
386/trace.c
a64/trace.c
68k/trace.c
ipsel/trace.c
pc/trace.c
390/trace.c
parc/trace.c
race.c
86_64/trace.c
f48031c60b05113194ad6dc2163ce3895a6b8d80 07-Feb-2012 Petr Machata <pmachata@redhat.com> Create breakpoint.h with decls related to breakpoints
reakpoint.c
5f8a5e78e9d410b8cb10401e463f9ffc9e062505 18-May-2012 Petr Machata <pmachata@redhat.com> Fix a s390 build failure
390/plt.c
c897cb796dc4a7d256cbfbf0137ef7cdff9e8ece 05-May-2012 Petr Machata <pmachata@redhat.com> Fix build on android, which requires that ptrace data and addr are void *

Also, for several requests that ignore addr, we pass 1.
Change these back to 0.
This patch is largely based on work by Florian Echtler <floe@butterbrot.org>.
rm/breakpoint.c
rm/regs.c
rm/trace.c
race.c
c0ab28673d03bdf8f264556bde0d3806ea062322 05-May-2012 Petr Machata <pmachata@redhat.com> Fix compilation of ARM back end
rm/breakpoint.c
rm/plt.c
2eb941ddadeec2382a45a1e4e80003dc8abe59d0 05-May-2012 Petr Machata <pmachata@redhat.com> Drop process_get_entry, which is not useful right now
roc.c
a82d32209f276e10dd1f437b38b4b6e5de32b980 01-May-2012 Petr Machata <pmachata@redhat.com> Fix 32-bit builds
pc/plt.c
6ca19a3c08bc75fb451df30f4c6e6c1a128731fe 30-Apr-2012 Petr Machata <pmachata@redhat.com> Use read_target_8 in arch_translate_address_dyn
pc/plt.c
8bfb5734dfc5a82addc9db9d4c7642173bb4206b 30-Apr-2012 Petr Machata <pmachata@redhat.com> Fix arch_translate_address on 32-bit PPCs
pc/plt.c
b1492dfaca6882fa0798b549e0557c7dec6b7e9c 30-Apr-2012 Petr Machata <pmachata@redhat.com> Split arch_translate_address into this and arch_translate_address_dyn

The former is called when ltelf is available. The latter in dynamic context
when ltelf is not necessary anymore (or if the data is necessary, it will
have been copied out to struct library).
pc/arch.h
pc/plt.c
roc.c
917725c482d4857561fbb1e6a9ca8a964549a22b 26-Apr-2012 Petr Machata <pmachata@redhat.com> Add a commentary about a correctness issue to detach_task_cb
pc/plt.c
cc0e1e4b83d69441cc5f61ea87eda5458ee9fae3 25-Apr-2012 Petr Machata <pmachata@redhat.com> Replace some uses of error with fprintf

error is not standard so it has no business being used in generic code.
The linux-gnu back end is useful for android, and that doesn't have that
interface either.
reakpoint.c
roc.c
race.c
fd2641c0d27705c89d224e3205b1296110b6598c 24-Apr-2012 Petr Machata <pmachata@redhat.com> Fix double frees, remove_process now releases memory

Presence in singly-linked list strongly indicates that process is heap
allocated, and that if we are about to stop tracing it, we should also
reclaim the memory.
pc/plt.c
d94108be1ae41b0ead839fb01cb0c1fd384ea65f 24-Apr-2012 Petr Machata <pmachata@redhat.com> Use on_retract to fix detach on PPC64 stripped

There should still be a small window where this can fail, namely when we
catch IP in a stub, after address is read from .plt and moved to CTR, but
before it jumps there (which would get the process to breakpoint address,
which we now notice). We may need to either fixup the .plt[0], or do
code reading to figure out whether we are in a stub and compare CTR.
pc/plt.c
86d3828129e70222abdb77bdda6f31a7f1eafd5a 24-Apr-2012 Petr Machata <pmachata@redhat.com> Add on_retract breakpoint callback
race.c
622581f4db4ae4ef8932984a4d1c4935ca7f61ef 23-Apr-2012 Petr Machata <pmachata@redhat.com> Use the right process to insert breakpoints for stepping over atomic block
race.c
e577a10e73b41e2c68fff7e8d89c22dfb9378b99 23-Apr-2012 Petr Machata <pmachata@redhat.com> Don't assume that ORIG_RAX/ORIG_EAX always contains original syscall number

Sometimes it's set to -1, apparently in cases where the system call
shouldn't be restarted. It that's the case, just assume that it's return
from the topmost system call. This gets rid of some "unexpected breakpoint"
messages on x86_64 and i386.
386/trace.c
86_64/trace.c
02a41a5a996ffb774078cafe6311150720d2fd5b 20-Apr-2012 Petr Machata <pmachata@redhat.com> Fix attach on PPC32 BSS
pc/plt.c
a753c98f0957df9d12d5ecf0607eef7033ab7745 20-Apr-2012 Petr Machata <pmachata@redhat.com> Fix compilation on PPC32
pc/plt.c
b556058c2126fd69dfe03d1187429d98b5636d61 19-Apr-2012 Petr Machata <pmachata@redhat.com> Fixes for PPC32 BSS unprelinked

The testsuite now mostly passes, the outstanding problem that's specific
to that configuration is with attach and vfork-threads test cases.
pc/plt.c
77e8fa8d24af41ec57635d3e73726d3930d95830 19-Apr-2012 Petr Machata <pmachata@redhat.com> Reinsert vfork return breakpoint in handler

Previously we assumed that that breakpoint would still be around in the
breakpoint table, but now that they are actually erased on removal, it
doesn't hold anymore. If it should hold (which might happen), then
insert_breakpoint knows to just piggy-back on an existing breakpoint.
race.c
24a47043b182f7fec6670d5a4d0e485e94a53ac1 19-Apr-2012 Petr Machata <pmachata@redhat.com> When removing atomic breakpoints, fetch data from leader, not current proc
race.c
d2fc09dccfc18680209a918dc8cbcc1f75e41118 19-Apr-2012 Petr Machata <pmachata@redhat.com> On PPC32 BSS unprelinked, watch both .plt slots for changes
pc/plt.c
42748aca73359c83881556c8b28f6cda4f1c143b 19-Apr-2012 Petr Machata <pmachata@redhat.com> Fixes for atomic block support

- Support branches in atomic blocks
- Fix interaction between atomic skip and single stepping
pc/plt.c
pc/trace.c
race.c
race.h
f1fd7cd52e3829f0073c2d740b3d1998dcfd4923 19-Apr-2012 Petr Machata <pmachata@redhat.com> Fix post_singlestep for cases where event was already sunk
race.c
9e1e969838d9cc520abb96038aa98520c08c80b9 19-Apr-2012 Petr Machata <pmachata@redhat.com> Fix rebase fallout
pc/trace.c
race.c
8454bd71f00aba4b383d42a8fec44695c9b0f018 17-Apr-2012 Petr Machata <pmachata@redhat.com> Don't emit newline in one debug message
roc.c
f685a3d0b3aaf9cf2bda30937ddc1a55009ee01a 17-Apr-2012 Petr Machata <pmachata@redhat.com> Proper tracing of PPC32 BSS unprelinked binaries
pc/plt.c
b04b64b7285183ad5fbc011ee381613359c35a2b 17-Apr-2012 Petr Machata <pmachata@redhat.com> Debugging output in PPC back end
pc/plt.c
585f60f7b171a391fbd5149f3d397d192168a67c 17-Apr-2012 Petr Machata <pmachata@redhat.com> Rename PPC symbol states to reflect that they are used for PPC32 as well
pc/arch.h
pc/plt.c
8d930e8f095d04d62705f35f5362a537b73ffefe 17-Apr-2012 Petr Machata <pmachata@redhat.com> We also need to mark PLT BP as resolved after post-update BP hits
pc/plt.c
8557b4a1a6f2a6d12867ee57b417e3e941963721 17-Apr-2012 Petr Machata <pmachata@redhat.com> Extract marking as resolved into own function
pc/plt.c
9a45d22e3b67a0d611675630cb7cd38e3895a1ff 17-Apr-2012 Petr Machata <pmachata@redhat.com> Partial support for PPC32 BSS unprelinked case

Turs out on PPC32 with BSS PLT, .plt changes after the first call as well.
pc/plt.c
72b5ee8b5c795e88e090be6bc64492ec216d40ce 17-Apr-2012 Petr Machata <pmachata@redhat.com> Actually unresolve .plt slot when the post-update breakpoint hits

The clever optimization from two days ago actually broke things as my test
case was doing a lot of one-off calls and I never noticed that it breaks
the common case.
pc/plt.c
d95733284377c0b186ba0c81a1158edc2b913e45 17-Apr-2012 Petr Machata <pmachata@redhat.com> Re-enable breakpoints for PPC32 BSS unprelinked case

Unfortunately in this case, the dynamic linker additionally overwrites
the PLT entry on first call. We will have to handle this similarly to
what we do for PPC64 unprelinked stripped case.
pc/arch.h
pc/plt.c
05058b79e6f995e4d328952ecd73cf090d89cb13 17-Apr-2012 Petr Machata <pmachata@redhat.com> Streamline continue of PPC64 unresolved PLT breakpoint
pc/plt.c
ea8eb9a606096fd072abe104b4239f67883ad39a 17-Apr-2012 Petr Machata <pmachata@redhat.com> Add casts where we convert from wide integer to narrow pointer
pc/plt.c
roc.c
1a53e0ab6ee4e53dfa6e81239deeaefdcd639082 17-Apr-2012 Petr Machata <pmachata@redhat.com> Fix compilation of linux-gnu/i386/plt.c
386/plt.c
fbd9742d03154ca842eeae8f6a32e35c1e3c8326 16-Apr-2012 Petr Machata <pmachata@redhat.com> Fix nits in linux-ppc back end
pc/arch.h
pc/plt.c
19c0f295a1a923b923e1083e480496c1454a2e0e 15-Apr-2012 Petr Machata <pmachata@redhat.com> Commentary updates to PPC PLTs
pc/plt.c
e5ebe21369b45ce997b74c04e14f06c67b9b70c1 15-Apr-2012 Petr Machata <pmachata@redhat.com> In PPC back end, unresolve_plt_slot may fail
pc/plt.c
6b314183200b1462ef4aad6e04fda72f3f6b0d87 15-Apr-2012 Petr Machata <pmachata@redhat.com> Improve tracing speed in PPC64 unprelinked stripped case

After we learn where the after-update instruction is, we install breakpoint
and use that as a door-stop instead of singlestepping all the way. This
improves the tracing speed of a synthetic test case that doesn't does many
one-off library calls by a factor of 25x.
pc/arch.h
pc/plt.c
5d1c5fc1474aed4a02103bb34b7532b9d26c6f3d 15-Apr-2012 Petr Machata <pmachata@redhat.com> Call breakpoint handler if that's what we hit during stopping on linux
race.c
1e2a4dd274ebb612e0cfa5c83ef081e5846aa949 15-Apr-2012 Petr Machata <pmachata@redhat.com> Expose on_all_stopped hooks for linux stopping handler
race.c
race.h
abfe118271cd45581f33f71b0cf0fddc3a2e1b05 15-Apr-2012 Petr Machata <pmachata@redhat.com> Nits in PPC back end
pc/arch.h
24c6e9daa8d89e13c19fc3f9a475ba7913d7d9c8 15-Apr-2012 Petr Machata <pmachata@redhat.com> Add arch_library_symbol arch hooks, call properly
pc/arch.h
pc/plt.c
e8d9076a97f6617868466a99bd18e11e3f6389ac 15-Apr-2012 Petr Machata <pmachata@redhat.com> library_symbol_init may fail
pc/plt.c
218c5ff26841f5bbd188c42ccbd67422a7a20556 15-Apr-2012 Petr Machata <pmachata@redhat.com> Nits
race.h
9ace5742e1d61c88db8adefdeb9e49d4c3a9ff5d 14-Apr-2012 Petr Machata <pmachata@redhat.com> Updates to debugging messages
race.c
d3cc9889fdfe2e523e99ca5f664f8ae4b3936612 13-Apr-2012 Petr Machata <pmachata@redhat.com> Fix breakpoint cloning
rm/breakpoint.c
pc/plt.c
f0f90edc2b0746e0c9f05f6224e38de6fbfed9d2 13-Apr-2012 Petr Machata <pmachata@redhat.com> Fix debugging output
reakpoint.c
18bd8ffa003c680e3d44d1b05fc3a7b43e6a25ce 10-Apr-2012 Petr Machata <pmachata@redhat.com> Add auxv reader

We should be able to instrument dynamic linker as well, if that is
requested. Unfortunately we may still need artificial _start probe,
because we don't know _r_debug address until the dynamic linker fills
the DT_DEBUG entry. (Though we are likely to find _r_debug in symbol
table if we look.)
roc.c
18c801c3f29081d9de517815df89bc1bbf8e2188 07-Apr-2012 Petr Machata <pmachata@redhat.com> Drop the rest of LS_TOPLT_POINT support

If any other architecture needs it, we'll add it back in some form. But
now that we have callbacks on breakpoints, it might be possible to do it
differently, without explicit support.
pc/plt.c
bc6c466bb7a758b12da073aae4553e46b64ae472 06-Apr-2012 Petr Machata <pmachata@redhat.com> Update syscallent.h on PPC linux
pc/syscallent.h
3ed2a4227d5f2a8d44f3c6ffd704a9d2e867c591 06-Apr-2012 Petr Machata <pmachata@redhat.com> Drop PID parameter from trace_set_options
race.c
50969624d377d485c6d9638a4b00a0b02022d635 06-Apr-2012 Petr Machata <pmachata@redhat.com> Add asserts to ppc64_plt_bp_continue
pc/plt.c
8b00d5bb6a0925ece06aad0d9df0a85e8dbd7b57 06-Apr-2012 Petr Machata <pmachata@redhat.com> Drop leftover fprintf's

- convert some to debug or error calls
pc/plt.c
roc.c
052b5f191ec00b7677c43278cb2ce886af1d0ef1 06-Apr-2012 Petr Machata <pmachata@redhat.com> Ignore non-PLT symbols on PPC's arch_breakpoint_init
pc/plt.c
1b4c76e739f36a01ca4cc07a1df5aa5e970279e6 06-Apr-2012 Petr Machata <pmachata@redhat.com> Fix a commentary nit
pc/arch.h
029171fffcf6328768866cf510763b2eb927f1bd 05-Apr-2012 Petr Machata <pmachata@redhat.com> Drop debug_state from struc process, use custom process.debug for that

- ideally we would define arch_proc_data in sysdeps/linux-gnu/os.h or some
such, same as we do with arch_breakpoint_data and others, but that's
currently not implemented, so do it this way.
roc.c
b5f80ac8982c40f79915ce1e1cb9bf8650ac5fe7 04-Apr-2012 Petr Machata <pmachata@redhat.com> Don't create PLT symbols that don't match filtering criteria

- instead of creating them, keeping them around, and then just not enabling
breakpoints for them
roc.c
74d80544c9ad0b1c5ff94dda639e12ddf1d2ca1c 03-Apr-2012 Petr Machata <pmachata@redhat.com> Nits
roc.c
89ac0395a9e018f4d4dbda9d3e27159419a92da2 03-Apr-2012 Petr Machata <pmachata@redhat.com> Differentiate fresh libraries from old by "key", not by base address

- that because base is unknown at the time that library is mapped in, only
bias is known. We'd have to read the elf file to determine whether this
is the right library or not. Instead we assume that the dynamic linker
keeps linked list, and use address of internal structure as the key
roc.c
6ef5c9e302885ac85a009e5ba000825199813b81 03-Apr-2012 Petr Machata <pmachata@redhat.com> Drop debugging output
pc/plt.c
050b0a6fd01fc01952c0ab8dbb84d6eba65c71c9 03-Apr-2012 Petr Machata <pmachata@redhat.com> Coding style
reakpoint.c
949a56a0e1d4a13dc437621a991e993d6623aef5 03-Apr-2012 Petr Machata <pmachata@redhat.com> Fix PLT calls on PPC64 unprelinked stripped
reakpoint.c
pc/plt.c
race.c
6a7997de9eabf9b0c6e32309ca08870198eb864b 29-Mar-2012 Petr Machata <pmachata@redhat.com> Support cross tracing from libraries

- PPC64 and other arches where OPD is used may be broken at the moment
roc.c
12affff3c88731a0880690442485494e540f7a58 29-Mar-2012 Petr Machata <pmachata@redhat.com> Make several breakpoint callback names more systematic
roc.c
52dbfb161efeab85bddc880966db2f7af9b9cf9a 29-Mar-2012 Petr Machata <pmachata@redhat.com> Shuffle breakpoint functions around
pc/plt.c
roc.c
cb9a28da448439eab4bf554810fd1004fbc00885 28-Mar-2012 Petr Machata <pmachata@redhat.com> Configurable ugly workaround invocation

- doesn't help to fix the weird singlestepping problem on ppc64 though
pc/plt.c
race.c
race.h
c67a6e62bc7e95f7f181a51c5b314ef10a6e231e 28-Mar-2012 Petr Machata <pmachata@redhat.com> Add missing implementations of default callback
pc/arch.h
ce40b3974d485837d130afc6b8034a83b3d03c5b 23-Feb-2012 Petr Machata <pmachata@redhat.com> Whitespace fix
roc.c
17476b7bfac0e1cb68f9a1dbdb65dab2ac2160c6 23-Feb-2012 Petr Machata <pmachata@redhat.com> Drop ELF_MAX_SEGMENTS, simplify iteration through dynamic entries
roc.c
9df15016447915a61526af8cb81c588913bcf44c 20-Feb-2012 Petr Machata <pmachata@redhat.com> Remove "enable" flag from insert_breakpoint
roc.c
race.c
58b2d0fd5deed5f33fbd47a6b6e5c109f43908b5 28-Mar-2012 Petr Machata <pmachata@redhat.com> Somewhat working tracing of stripped unprelinked PPC64 binaries

- this seems like it shoud work, and indeed it does, mostly. But after the
stopping handler is uninstalled, we get series of apparent singlestep
events, even though we just call PTRACE_SYSCALL time after time. If
there is a kernel bug, we may need to employ some sort of code reading
after all.
pc/arch.h
pc/plt.c
36f40e7d46838ec41ea03a2b9b748536d8fd57e2 28-Mar-2012 Petr Machata <pmachata@redhat.com> Further generalize the process stopping handler
race.c
race.h
9282254e29896366ea354b930b06f9defebbd041 28-Mar-2012 Petr Machata <pmachata@redhat.com> Move declarations related to process stopping handler to a new file trace.h
akefile.am
race.c
race.h
c1aa9588f3347c285038c2e45c01bbd2e7086a9f 27-Mar-2012 Petr Machata <pmachata@redhat.com> Generalize the stopping handler so that it can be reused

- though more generalizing may be needed
race.c
f04d032e298c410e45553223a979c1f26f280259 27-Mar-2012 Petr Machata <pmachata@redhat.com> Error reporting in PPC back end
pc/regs.c
b64b5c7b6f4a368ccaf60507090192845221a3be 27-Mar-2012 Petr Machata <pmachata@redhat.com> Support tracing prelinked stripped PPC64 binaries

- distinguish stub breakpoints from unresolved PLT breakpoints. The latter
have special on_continue handler that just moves IP
- unprelinked stripped case not supported yet
pc/arch.h
pc/plt.c
d1746d17eda0c4d2c1004c9deb8b229eb6fb1c78 27-Mar-2012 Petr Machata <pmachata@redhat.com> Generalize load_ppcgot in PPC back end
pc/plt.c
8cce1193ebd35cb5a8b288bc7325cdda1b8ffe50 25-Mar-2012 Petr Machata <pmachata@redhat.com> Add arch_breakpoint_destroy as a counterpart to arch_breakpoint_init

- even though we don't destroy breakpoints at all right now
rm/breakpoint.c
7b36114b46cf93aa2828de055e71ec57a801dfc1 24-Mar-2012 Petr Machata <pmachata@redhat.com> Better handling of errors in the code that looks for PPC64 stub symbols
pc/plt.c
37d368e49f2d757484252a060d3021de96998e0d 24-Mar-2012 Petr Machata <pmachata@redhat.com> Support for tracing on PPC64 with stub symbols in symbol table
pc/plt.c
50b96039ebfc60825bb7afb8ab8f56bb87aeb67b 24-Mar-2012 Petr Machata <pmachata@redhat.com> Make MIPS and PPC arch.h into full-fledged include file, glue in sysdep.h
ipsel/arch.h
pc/arch.h
4d9a91c5c677d6a6b2db21f00385bce5167373c4 24-Mar-2012 Petr Machata <pmachata@redhat.com> Add arch_elf_destroy
ipsel/plt.c
pc/plt.c
e6523e69b0230fef8dddbf628e0511a004203eb8 24-Mar-2012 Petr Machata <pmachata@redhat.com> Don't require target library as part of symbol init
roc.c
644d669f96c0fe261fe938cecda41938e804c7d9 24-Mar-2012 Petr Machata <pmachata@redhat.com> Drop recently introduced arch_elf_dynamic_tag
ipsel/arch.h
ipsel/plt.c
pc/arch.h
pc/plt.c
be04d6b478ecc51902f34672e4c3c1516d502c23 24-Mar-2012 Petr Machata <pmachata@redhat.com> Drop library_symbol.is_weak
roc.c
4e2073f64f9db2974d89064dcdc49b2ed7aa9006 21-Mar-2012 Petr Machata <pmachata@redhat.com> Support tracing PPC32 processes with both BSS and secure PLTs

- only entry breakpoint is realized at the beginning
- when it's hit, it's deleted, and all enabled breakpoints are realized
- all PLTs are LS_TOPLT_EXEC. The difference is in the way the PLT entry
address is computed
pc/arch.h
pc/plt.c
b120fdfda45e49d082ab2aa5caadf030f50cb4ed 21-Mar-2012 Petr Machata <pmachata@redhat.com> Change interface of ltelf_read_library

- base->bias, pass proc
roc.c
81c65272697a63d81e6baece69bef6ba8f55932e 21-Mar-2012 Petr Machata <pmachata@redhat.com> Error handling
reakpoint.c
e67635d6dcecb0f44448a5329d69fd0de74ebaba 21-Mar-2012 Petr Machata <pmachata@redhat.com> Move arch-specific bits from ltrace-elf.c to PPC and MIPS back ends
ipsel/arch.h
ipsel/plt.c
pc/arch.h
pc/plt.c
d3dc17b5e87068819a780af434afaf69e63d2b50 21-Mar-2012 Petr Machata <pmachata@redhat.com> Fixes in includes
reakpoint.c
race.c
74132a447b18c588c698ecfb8cf4ad4b16360f2f 16-Mar-2012 Petr Machata <pmachata@redhat.com> Change iterators each_task, each_process, library_each_symbol

... now the restarts are supported by start_after instead of start.
Otherwise the restart scenario was something like:
for (it *sym = NULL; (sym = next(sym)) != NULL; )
if ((sym = sym->next) == NULL)
break;
which just seems too convoluted.
race.c
522a6ca083c8b9e964548b0e79a4bdc8095d6e2e 16-Mar-2012 Petr Machata <pmachata@redhat.com> library_symbol_init takes target_address_t instead of GElf_Addr
roc.c
c805c624d4cd23674bbc18f9d0f97c5d8dcdff7c 02-Mar-2012 Petr Machata <pmachata@redhat.com> wait_for_proc may fail, and should simply waitpid instead of ptracing

- which means that we need to continue the process after starting it,
the same as we do when attaching
race.c
29add4fdf852b10ddd22cac0d1390f6d01577bc2 18-Feb-2012 Petr Machata <pmachata@redhat.com> Support bias, display library name on breakpoint

- syscall support very hacky right now
roc.c
2b46cfc1127d390eddd9593fe5ce5399c1f68130 18-Feb-2012 Petr Machata <pmachata@redhat.com> The first crude version of tracing across libraries

- the patch will be sliced later
rm/arch.h
rm/breakpoint.c
rm/regs.c
reakpoint.c
vents.c
pc/plt.c
roc.c
race.c
86_64/plt.c
366c2f46d844f040458df9b7e35fc3b8527ed2d3 09-Feb-2012 Petr Machata <pmachata@redhat.com> Move process-related functions and structures to proc.h
lpha/plt.c
lpha/regs.c
lpha/trace.c
rm/plt.c
rm/regs.c
rm/trace.c
reakpoint.c
ris/plt.c
ris/regs.c
ris/trace.c
vents.c
386/plt.c
386/regs.c
386/trace.c
a64/plt.c
a64/regs.c
a64/trace.c
68k/plt.c
68k/regs.c
68k/trace.c
ipsel/plt.c
ipsel/regs.c
ipsel/trace.c
pc/plt.c
pc/regs.c
pc/trace.c
roc.c
390/plt.c
390/regs.c
390/trace.c
parc/plt.c
parc/regs.c
parc/trace.c
race.c
86_64/plt.c
86_64/regs.c
86_64/trace.c
bc37326ace5c70e57928c000162cffbcca9afb77 07-Feb-2012 Petr Machata <pmachata@redhat.com> Remove Breakpoint typedef
rm/breakpoint.c
reakpoint.c
a64/breakpoint.c
race.c
61196a4a81e77322bf1f3dc609007f5d35a5103a 07-Feb-2012 Petr Machata <pmachata@redhat.com> Drop Process::breakpoints_enabled
vents.c
02648a119092bb5b64918063521237f257283c72 07-Feb-2012 Petr Machata <pmachata@redhat.com> Drop most of start-up magic and use startup callback instead
vents.c
a611fc8f887c099b04cb764f477b9289a4c21d6e 07-Feb-2012 Petr Machata <pmachata@redhat.com> Cleanup
roc.c
9294d82f67e20f5f2b61f317ad04f5cb717c7d27 07-Feb-2012 Petr Machata <pmachata@redhat.com> Create breakpoint.h with decls related to breakpoints
reakpoint.c
vents.c
roc.c
race.c
a266acb9c3bbde884a32268f164de62d03aa04d0 12-Apr-2012 Petr Machata <pmachata@redhat.com> Add code for stepping over atomic instruction sequence on PPC
pc/arch.h
pc/trace.c
race.c
ffe4cd25089680daf1bd1ec0114d177ec3e0cf95 11-Apr-2012 Petr Machata <pmachata@redhat.com> Handle detach from sleeping or unresponsive processes
vents.c
race.c
cec06ec8282c538a40bde968ae36fe8356daffaa 10-Apr-2012 Petr Machata <pmachata@redhat.com> Warn when we fail to trace and SELinux boolean deny_ptrace is in effect
race.c
b4f9e0c0413c03ad897d7aad320a4a1cd49c467a 07-Feb-2012 Petr Machata <pmachata@redhat.com> Fix a race between fork/trace_me and first ptrace request

- That first ptrace may fail if ltrace is too quick
race.c
97b208405bcbf2fc75a70fba7d094740f590cb90 22-Nov-2011 Petr Machata <pmachata@redhat.com> Turn in a workaround for seeing a process as R after waitpid (should be T)
vents.c
12387c439d08755c0d8edf2516677d3f7b1f6ef0 22-Nov-2011 Petr Machata <pmachata@redhat.com> Be more fault tolerant on ia64

- this fixes some rare bugs that were observed on ia64
a64/regs.c
a64/trace.c
9d29b3e7d2d7f7ccb1891dc56b03e91a0319cf42 09-Nov-2011 Petr Machata <pmachata@redhat.com> Only delay continuing the process if we are actually mid-_stopping_

- The check fired also on vfork handling, and this hung the process
- Add a test case exercising this code, courtesy of Michal Nowak and
Denys Vlasenko
race.c
43d2fe5436d39da0b1ff6648fc0dfd766d28243e 02-Nov-2011 Petr Machata <pmachata@redhat.com> Don't queue sysret events

- That's because on s390x, we use process call stack to actually figure out
whether it's a syscall/sysret event, and if it's sysret, then what syscall
it returns from. So we need to keep the stack in sync with reality.
race.c
06986d5432c92337dc2fc0bd81fa43640b48d1e2 02-Nov-2011 Petr Machata <pmachata@redhat.com> More robust fix of signal-before-singlestep problem

- On s390x, when we PTRACE_CONT the process, it will actually continue,
even though we ordered PTRACE_SINGLESTEP before. So always issue
PTRACE_SINGLESTEP when we get signal before singlestep.

- Also, simply queue the signal as usual.
race.c
d5d93c492fd7cec016f09883f1e9c09cf97c6fb5 21-Oct-2011 Petr Machata <pmachata@redhat.com> Signal event may arrive before we finish singlestepping
race.c
36d1982d45d54e455413a5c0959f87b1857940d6 21-Oct-2011 Petr Machata <pmachata@redhat.com> Remove "default" branch in the switch in task_stopped

- and a couple commentary changes
race.c
3797cd6f378d647583f15e2134cbcf9143f57f9c 03-Oct-2011 Petr Machata <pmachata@redhat.com> We have to insert breakpoint into parent, not into leader

- leader might be dead by the point this gets executed
race.c
ba9911f3603473791163bf11dd1c59503faa4ff1 27-Sep-2011 Petr Machata <pmachata@redhat.com> Fix interplay between vfork and threads
race.c
134a108693f8155d2167675ad8127ff6def1425e 27-Sep-2011 Petr Machata <pmachata@redhat.com> Trace vfork return in parent as well as in child
race.c
cbe29c6c0ad01839a81272c4715ea73d17e89611 27-Sep-2011 Petr Machata <pmachata@redhat.com> Basic support for tracing vfork

- allow even individual tasks to have their event handlers. These are
called in precedence to the thread group event handlers.
- distinguish CLONE and VFORK events
- add methods for dynamic changes of leader
- add new process status ps_sleeping
vents.c
roc.c
race.c
f296e0141c062cc0fd8e3301460ba62c49829973 03-Sep-2011 Petr Machata <pmachata@redhat.com> Drop unused variable
race.c
73894bdb7ef4ea81a44a7b8b3ab896f6b3cab344 20-Aug-2011 Petr Machata <pmachata@redhat.com> Add explanatory comment to the ugly workaround
race.c
590c80862c009608fd70e976a282473234d92265 20-Aug-2011 Petr Machata <pmachata@redhat.com> Rewrite the whole detach logic to use stopping handler
race.c
ec85e84d2d3dc441dc2f1a6b403ed495cefd2c5b 20-Aug-2011 Petr Machata <pmachata@redhat.com> Don't get stuck on detach waiting for SIGSTOP to arrive to stopped process
race.c
3c9b6295c4d4f7424e84c2fbef2fc98bda5e672c 20-Aug-2011 Petr Machata <pmachata@redhat.com> More detach bugfixes
race.c
46d66ab6d7ef5d12e4d3dd3671450f77a776ea1b 20-Aug-2011 Petr Machata <pmachata@redhat.com> Work around some odd behavior of PTRACE_DETACH after PTRACE_SINGLESTEP

- this might turn out to be a bug in the kernel that I'm using right now.
The thing that when task is detached right after it was singlestepped
(and the singlestep is caught by waitpid), it's immediately killed by
the SIGTRAP signal. This goes away if we insert breakpoint right under
the IP, CONT the process, catch the breakpoint event, retract the
breakpoint, and detach _then_.
race.c
4b9f4d956e125360d4860d6a8d7574a271c799a0 20-Aug-2011 Petr Machata <pmachata@redhat.com> Refine the logic for detach after singlestep
race.c
13d5df7743a79c8bceeb9be50d57f9b0f76fc4e8 19-Aug-2011 Petr Machata <pmachata@redhat.com> Undo breakpoints also for unqueued events
race.c
68abfea2bb3c5e57214929f773755dfcef63fe90 19-Aug-2011 Petr Machata <pmachata@redhat.com> Fix one source of SEGVs/TRAPs on detach

- we can't cont the process if the IP is mid-instruction due to the process
having hit a breakpoint recently
race.c
1974dbccbf10a2dd8e06724d2fb4eb61fd91076a 19-Aug-2011 Petr Machata <pmachata@redhat.com> Fix serious race in attach to many-threaded process

- the gist is that tasks continue running while we attach, so more tasks
come into existence, or the ones that we didn't attach to yet disappear,
etc.
- besides, we really can't enable breakpoints before we are done attaching,
otherwise the still-running tasks risk running into them and dying of
SIGTRAP.
roc.c
race.c
3c516d5ced53508d8df7d82914a3190a3235b62d 18-Aug-2011 Petr Machata <pmachata@redhat.com> Handle the race between reading list of tasks and attaching to those tasks

- For processes with many threads, we still get SIGTRAP on startup. This
only takes care of ltrace SIGSEGVing and/or giving out copious "cannot
attach" messages.
roc.c
28e80f65e2c808f715e466cdb8c0c53cfe78c756 09-Aug-2011 Petr Machata <pmachata@redhat.com> Move break_insn to function that's its sole consumer
reakpoint.c
e21264ed3759f02fa4577bf9ac319d8dc36e248a 06-Oct-2011 Petr Machata <pmachata@redhat.com> Fix a race between disabling breakpoint and stopping all threads
race.c
18c970711cd2597d52c2f146d97350d62980ec2c 06-Oct-2011 Petr Machata <pmachata@redhat.com> We need to check for exit earlier
race.c
750ca8c13f402a40b01802dcb5c88e092ff68125 06-Oct-2011 Petr Machata <pmachata@redhat.com> Fix a race between waiting for SIGSTOP delivery and task exit
roc.c
race.c
617ff0bb228c64df4bb6682321338aecfec2d170 06-Oct-2011 Petr Machata <pmachata@redhat.com> Type the "process_status" interface properly

- and in implementation for linux-gnu, reflect that some kernels don't
distinguish job-control stop and tracing stop by different letter.
roc.c
race.c
f2d2ba5ce96587f4cc0975441a5da4c6e672e8fa 09-Jul-2011 Petr Machata <pmachata@redhat.com> Fixes for process exit before doing checks for syscalls etc.
vents.c
86_64/trace.c
602330f458e8049ec07685c4e02f0368821a2d2c 09-Jul-2011 Petr Machata <pmachata@redhat.com> Handle multi-threaded attach/detach gracefully
race.c
98f0992f9c3fd5da41a4928407251d9f5a837702 09-Jul-2011 Petr Machata <pmachata@redhat.com> Use custom event handler for implementation of stop-the-world

- ... which itself is necessary for breakpoint re-enablement without races
race.c
4007d74c2435ce4b50305d64ffe831627f989335 09-Jul-2011 Petr Machata <pmachata@redhat.com> Facility for custom event handler
vents.c
69a03e6f8c15fb0272089e387a658acad887fb9c 09-Jul-2011 Petr Machata <pmachata@redhat.com> Event queue
vents.c
9a5420c82a2fd81681572a2e3859ea1671c3bded 09-Jul-2011 Petr Machata <pmachata@redhat.com> Add a concept of tasks and leader thread
vents.c
roc.c
race.c
cebb88491e68bdf4d466b03970c9ca77f65615f8 09-Jul-2011 Petr Machata <pmachata@redhat.com> Conceal the list of processes behind an interface
vents.c
c7585b60235268e1f62bd91c5f040ef6df6e0ef3 08-Jul-2011 Petr Machata <pmachata@redhat.com> Add argument that defines whether we should enable breakpoints
roc.c
6901b7e429f7e92440f3501df864ad74b39f66c2 09-Jul-2011 Petr Machata <pmachata@redhat.com> Cleanups in next_event

- always fetch instruction_pointer eagerly to simplify the code
- clarify that we can indeed get nen-SIGTRAP signals in certain cases
vents.c
f789c9c0d1f3301afad66e5f0520b9093665f242 09-Jul-2011 Petr Machata <pmachata@redhat.com> Pass Process * instead of pid to a couple functions
reakpoint.c
race.c
2662768efe599f6bb43c4310177e30f56b601bb7 08-Jul-2011 Petr Machata <pmachata@redhat.com> Coding style nits
reakpoint.c
vents.c
roc.c
race.c
c46448f4e5a4c124fbc75ca9b14697212e676893 07-Mar-2011 Michael K. Edwards <m.k.edwards@gmail.com> fix type punning in ARM arch_(dis|en)able_breakpoint
rm/breakpoint.c
9bc4a9b46340209f774181f7e55ece1c47bd59d6 06-Mar-2011 Michael K. Edwards <m.k.edwards@gmail.com> Make PPC64 long-to-int conversions conditional on SIZEOF_LONG == 8
pc/plt.c
pc/trace.c
e276cf41371cd5c5a722043658ccc15321aa15ac 08-May-2011 Andreas Schwab <schwab@linux-m68k.org> Correct fetching arguments beyond eighth arg on ppc/ppc64

The parameter save area starts at sp+8 on ppc32 and at sp+112 on ppc64.

Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
pc/trace.c
08677d0557284d36d3c898b1d876e65411069912 19-May-2011 Petr Machata <pmachata@redhat.com> Fix a buffer overrun bug
roc.c
3ba522fed3d34f476090da9349be96e15e0652cb 15-Dec-2010 Zachary T Welch <zwelch@codesourcery.com> Fix build for x86_64

Some ELF-related variables differ depending on the native host, so
this patch uses conditional compilation tricks to ensure everything
works out on both 32- and 64-bit hosts.

Signed-off-by: Zachary T Welch <zwelch@codesourcery.com>
roc.c
ba6aca21bd9e0e66dac17b1828cf6b6e7377b983 09-Dec-2010 Zachary T Welch <zwelch@codesourcery.com> Fix building with --enable-debug

Numerous warnings had snuck into the build, preventing ltrace from
building with --enable-debug (which uses -Wall, -Werror, and more).
This patch fixes the problems, mostly caused by -Wsign-compare.

Signed-off-by: Zachary T Welch <zwelch@codesourcery.com>
rm/trace.c
roc.c
race.c
a2ad619c24b3e9cf3edd8f3181a97022f0799fab 07-Dec-2010 Zachary T Welch <zwelch@codesourcery.com> Remove unused variable

Eliminate an unused variable to quench the compiler's warning.

Signed-off-by: Zachary T Welch <zwelch@codesourcery.com>
race.c
bfb26c745705a839f1ef5fc45e1b32135b9bc3e7 07-Dec-2010 Zachary T Welch <zwelch@codesourcery.com> Fix formatting specifiers for printing GElf_Addr

The use of GElf_Addr types was causing warnings when printed with %lx
format specifiers. This patch fixes the problem by using the portable
<inttypes.h> header and PRIx64 macro.

In a few places, added missing alternate form specifier ('#') to ensure
0x prefix is printed for the addresses in question.

Signed-off-by: Zachary T Welch <zwelch@codesourcery.com>
roc.c
f0bd98b3e6753d8609a3054a61f2df6f9cdac10a 09-Nov-2010 Joe Damato <ice799@gmail.com> Add support for tracing functions in libraries loaded at runtime (via libdl).
vents.c
roc.c
47cae1e251a212425cae5ac6e736de0cb0bbf714 09-Nov-2010 Joe Damato <ice799@gmail.com> Create a function find_dynamic_entry_addr.

This functions searches the DYNAMIC vector of an inferior process searching for
the first entry whose d_tag matches. An out parameter is provided to copy out
address stored in the matching entry.
roc.c
dfa3fa3879b12ca7307b42a3feb79f42e60a90b0 09-Nov-2010 Joe Damato <ice799@gmail.com> Add umovebytes to move a range of bytes from the traced process to ltrace
race.c
87e1a5cc080cdab488a6c7076aa5c86dfe1c26f0 18-Nov-2010 Petr Machata <pmachata@redhat.com> Fix compilation issue on ppc32
pc/ptrace.h
pc/trace.c
fac99be277bd370852faadc7fdd8754e2efa26f6 25-Oct-2010 Petr Machata <pmachata@redhat.com> Fix save_register_args and related on ppc64
pc/ptrace.h
pc/trace.c
211f0886c5aeceebacb44e3ae84d6b8f931cedf2 03-Nov-2010 Petr Machata <pmachata@redhat.com> Fix output of return arguments in nested calls on x86_64
86_64/ptrace.h
86_64/trace.c
41fb5a60ec30a5bcb48c624a96a55abe7cddf79a 03-Nov-2010 Petr Machata <pmachata@redhat.com> Fix passing and returning float and double values
86_64/ptrace.h
86_64/trace.c
5117edacf42e945992def8adb9f7110d14b1fc1f 03-Feb-2010 Marc Kleine-Budde <mkl@pengutronix.de> autotoolization: remove to-be generated file

This patch remove all files that will be autogenerated by the autoools
from the tree.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
akefile
lpha/Makefile
rm/Makefile
386/Makefile
a64/Makefile
68k/Makefile
ipsel/Makefile
pc/Makefile
390/Makefile
parc/Makefile
86_64/Makefile
86_64/ffcheck.c
584929c4409d55c3483caca7bdf6ba85f5b20f14 03-Feb-2010 Marc Kleine-Budde <mkl@pengutronix.de> autotoolization: add basic autotools infrastructure

This patch add a basic autotools infrastructure to ltrace. Native
compilation on i386, x86_64 and ppc. Cross compilation has been tested
against arm.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
akefile.am
lpha/Makefile.am
rch_syscallent.h
rm/Makefile.am
386/Makefile.am
a64/Makefile.am
68k/Makefile.am
ipsel/Makefile.am
pc/Makefile.am
390/Makefile.am
ignalent1.h
parc/Makefile.am
yscallent1.h
86_64/Makefile.am
8ce5c492d5230e41e9f9800f76ab3b3971120647 31-Oct-2010 Petr Machata <pmachata@redhat.com> More cleanup from Fedora:
- Implement fetching of 5th and further function arguments on s390 (contributed
by Supriya Kannery)
- Support fork/exec syscalls on 31-bit s390
- Nit
390/arch.h
390/trace.c
d568f51920d5b2e0813cb5bb7e3cca10fc404623 08-Oct-2010 Zach Welch <zwelch@codesourcery.com> Fix ARM PLT lookups.

An ARM PLT may not contain fixed-length records, because Thumb stubs may
be added to provide interworking. These changes ensure the breakpoint
gets set on the ARM portion of PLT entries while skipping any Thumb
stubs that may be present. This patch makes the testsuite work when
built for ARMv7a and Thumb-2.

Signed-off-by: Zachary T Welch <zwelch@codesourcery.com>
rm/plt.c
ee87a9a06960ba44b2ff980a366b222ae0e3b6b3 08-Oct-2010 Zachary T Welch <zwelch@codesourcery.com> Ensure ARM PC sets Thumb mode.

The low bit of the PC must contain the Thumb mode state.

Signed-off-by: Zachary T Welch <zwelch@codesourcery.com>
rm/regs.c
b1dda4bc2c78429823a5ca7699f3207a7aea2371 19-Jul-2010 Edgar E. Iglesias <edgar.iglesias@gmail.com> Add support for cris-*-linux-gnu (v32) arch.

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
ris/Makefile
ris/arch.h
ris/plt.c
ris/ptrace.h
ris/regs.c
ris/signalent.h
ris/syscallent.h
ris/trace.c
e280a5e51b72825ab3234c532f832cd64695bc1e 01-Oct-2010 Zach Welch <zwelch@codesourcery.com> Identify ARM syscalls in Thumb-2 mode. Tested on IGEP v2 board.
Fixes LP:639796.

Signed-off-by: Zach Welch <zwelch@codesourcery.com>
rm/trace.c
60b3b838ef3fa5fb62845945498e4151ccc4005c 08-Jan-2010 Arnaud Patard <apatard@mandriva.com> mipsel.h: add fp regs offset

Add fpregs offsets to be able to handle functions with fp args

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
ipsel/mipsel.h
7a919b9236b06215af87eda135b71f69478b5c15 08-Jan-2010 Arnaud Patard <apatard@mandriva.com> x86_64/{trace.c, ptrace.h}: fix arguments handling

- handle floats
- fix arguments in function return. regs may have changed and stack
handling may (imho) become a nightmare so backup integer and fp regs
at function/syscall entry with save_register_args
- As we're now getting regs in get_arch_dep, remove other ptrace()
calls used to get registers

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
86_64/ptrace.h
86_64/trace.c
b2cf42cd6ef3beb471008da67e6fb681732b6586 08-Jan-2010 Arnaud Patard <apatard@mandriva.com> Fix mips

Makefile are using uname -m which return mips for mips and mipsel.
Easy fix: use a symlink. Better fix: git mv

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
ips
8a115b6cedaf530e4589e6dc190bfb70b2c2619a 08-Jan-2010 Arnaud Patard <apatard@mandriva.com> mips: fix gimme_arg

- handle functions with fp regs as args
- handle arguments value at return
- try to handle more than 4 (int) args

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
ipsel/trace.c
f3d1c535dd4d20d2fb7589ec019c4d3af24bb52a 08-Jan-2010 Arnaud Patard <apatard@mandriva.com> Don't use PTRACE_SINGLESTEP on mips

PTRACE_SINGLESTEP is not supported on mips

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
race.c
32e8e76f492a48ee3e6284e237f958b71d4d3e71 08-Jan-2010 Arnaud Patard <apatard@mandriva.com> arm/trace.c: syscall_p fix return value if unexpected instruction

In the case of unexpected instruction, syscall_p was returning -1 which
means errors. Unfornatunately, one may get there for valid reasons (bug
triggered by attach_process test case). Better return 0 (not a syscall)

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
rm/trace.c
634a9462c212effe3e5a2cea9180fc9b89851b9d 08-Jan-2010 Arnaud Patard <apatard@mandriva.com> plt, regs: fix includes

Fix build due to broken includes

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
ipsel/plt.c
ipsel/regs.c
2f1959ffbd213e61e96fffe9979443f873418301 08-Jan-2010 Arnaud Patard <apatard@mandriva.com> syscallent.h/signalent.h: update

update syscallent.h/signalent.h to match newer systems

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
ipsel/signalent.h
ipsel/syscallent.h
f16fcff75f62d44a49ad9c020622956bd2b8df45 08-Jan-2010 Arnaud Patard <apatard@mandriva.com> trace.c: fix (partially) umovelong

umovelong was always returning the full value read in ptrace'd process
memory (eg long) even if the type was not a long (eg int).
This patch add handling for at least int case.

[ found out with parameters test case on x86_64 as int is 32bit and long
64bit ]

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
race.c
0aac3525a48a5485ee82f966e7a0af40420b99bf 08-Jan-2010 Arnaud Patard <apatard@mandriva.com> Add a script to create syscallent.h for mips

Add a modified version of mksyscallent which works on mips o32

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
ksyscallent_mips
a7af00db2231e99a4506e4f5587f9dd00b9d1175 26-Jul-2009 Juan Cespedes <cespedes@thehackers.org> Fixed compilation problems in armel, ia64 and powerpc
rm/breakpoint.c
reakpoint.c
a64/breakpoint.c
a64/regs.c
pc/plt.c
3458456ffbf0b6d85e1818dea7cbeacc8b1d2298 25-Jul-2009 Juan Cespedes <cespedes@coco.thehackers.org> Make it work again in sparc
akefile
parc/ptrace.h
parc/regs.c
parc/trace.c
f670eea50e959eeb9da53d70cad8d43c19494ef0 25-Jul-2009 Juan Cespedes <cespedes@coco.thehackers.org> Finally got rid of GNU's Autoconf stuff
lpha/regs.c
lpha/trace.c
rm/regs.c
rm/trace.c
reakpoint.c
vents.c
386/regs.c
386/trace.c
a64/regs.c
a64/trace.c
68k/regs.c
68k/trace.c
ipsel/regs.c
ipsel/trace.c
pc/regs.c
pc/trace.c
roc.c
390/regs.c
390/trace.c
parc/regs.c
parc/trace.c
86_64/regs.c
86_64/trace.c
427b7811598f905b583ac86b35c72228fd415476 06-Jul-2009 Juan Cespedes <cespedes@coco.thehackers.org> Indentation, comments
vents.c
2a61d19bd244dadcde5009f1632cf14b95623e3d 04-Jul-2009 Juan Cespedes <cespedes@coco.thehackers.org> Added set_return_addr() to sysdeps/linux-gnu/*/regs.c
lpha/plt.c
lpha/regs.c
rm/plt.c
rm/regs.c
reakpoint.c
386/plt.c
386/regs.c
a64/plt.c
a64/regs.c
68k/plt.c
68k/regs.c
ipsel/plt.c
ipsel/regs.c
pc/plt.c
pc/regs.c
390/plt.c
390/regs.c
parc/plt.c
parc/regs.c
86_64/plt.c
86_64/regs.c
61da33723c5fb09762e38bd39a26ee15d62ffebc 03-Jul-2009 Juan Cespedes <cespedes@coco.thehackers.org> Added different callback handlers for each event
reakpoint.c
vents.c
pc/regs.c
8d1b92ba755f6d6229f5e230fc43d958b13836f8 03-Jul-2009 Juan Cespedes <cespedes@coco.thehackers.org> Some minor fixes
reakpoint.c
vents.c
race.c
03192f890af95bf9abf5ea1c3dc0998f6b12550d 03-Jul-2009 Juan Cespedes <cespedes@coco.thehackers.org> fixed configure.ac, renamed process_event -> handle_event
ipsel/regs.c
f728123bd75a65a6a1536e198c3c30719e494e71 25-Jun-2009 Juan Cespedes <cespedes@debian.org> Re-organize file names
lpha/plt.c
lpha/regs.c
lpha/trace.c
rm/plt.c
rm/regs.c
rm/trace.c
vents.c
386/plt.c
386/regs.c
386/trace.c
a64/plt.c
a64/regs.c
a64/trace.c
68k/plt.c
68k/regs.c
68k/trace.c
ipsel/plt.c
ipsel/regs.c
ipsel/trace.c
pc/plt.c
pc/regs.c
pc/trace.c
390/plt.c
390/regs.c
390/trace.c
parc/plt.c
parc/ptrace.h
parc/regs.c
parc/trace.c
race.c
86_64/plt.c
86_64/regs.c
86_64/trace.c
3df476b28e4a9cdb43cf29fff8e89481310eb30d 28-May-2009 Juan Cespedes <cespedes@debian.org> Created library "libltrace.a" and a simple program that calls it
lpha/plt.c
lpha/regs.c
lpha/trace.c
rm/plt.c
rm/regs.c
rm/trace.c
vents.c
386/plt.c
386/regs.c
386/trace.c
a64/plt.c
a64/regs.c
a64/trace.c
68k/plt.c
68k/regs.c
68k/trace.c
ipsel/plt.c
ipsel/regs.c
ipsel/trace.c
pc/plt.c
pc/regs.c
pc/trace.c
390/plt.c
390/regs.c
390/trace.c
parc/plt.c
parc/ptrace.h
parc/regs.c
parc/trace.c
race.c
86_64/plt.c
86_64/regs.c
86_64/trace.c
6be8028492b29f68126ce413b7ef4b875c7bb017 28-May-2009 Juan Cespedes <cespedes@debian.org> wait for clone()s as well as for fork()s
vents.c
fea4a1285dc7bea02b0203845ad43117f091fc3e 28-May-2009 Juan Cespedes <cespedes@debian.org> misc typos
a64/plt.c
a64/trace.c
ipsel/plt.c
ipsel/regs.c
ipsel/trace.c
race.c
3e94cbf0d388a5b5b49f8dbc60f4b24900de89ae 22-May-2009 Juan Cespedes <cespedes@coco.thehackers.org> See syscalls as syscalls and not sysrets when we are a clone
lpha/trace.c
386/trace.c
a64/trace.c
68k/trace.c
ipsel/trace.c
pc/trace.c
parc/trace.c
86_64/trace.c
30439b42294d678f2066522aecdb664132170a41 22-May-2009 Juan Cespedes <cespedes@coco.thehackers.org> Make clone() work when child starts after parent finishes
386/trace.c
e0660df7f943cc832694db3b8b6778c0ff65860d 21-May-2009 Juan Cespedes <cespedes@debian.org> Make exec() work again using PTRACE_O_TRACEEXEC
vents.c
roc.c
race.c
2721e6adbc7399e1b621b896b4f5b864082fbf03 21-May-2009 Juan Cespedes <cespedes@debian.org> new fork() and clone() approach

used PTRACE_O_TRACE{FORK,VFORK,CLONE} to trace newly created
processes instead of figuring it out whether a given syscall
would create another process or not
vents.c
race.c
85f7d7616f2736de79f6b7f77bceedbc97c83406 14-May-2009 Juan Cespedes <cespedes@debian.org> updated man page
race.c
cd8976dbee947f152c3a322503a1063c6359da76 14-May-2009 Juan Cespedes <cespedes@debian.org> better debugging support (-d option)
reakpoint.c
vents.c
race.c
8f6d1ecd5f4301f899927a553572c5089fd29bcf 07-May-2009 Juan Cespedes <cespedes@debian.org> New event: EVENT_NEW (received from a new process)
vents.c
393f1d00c582058078cc238547f65202c438fb19 07-May-2009 Juan Cespedes <cespedes@debian.org> struct event -> Event
vents.c
cde582642f959f69d436d435b504f50470af5db9 07-May-2009 Juan Cespedes <cespedes@debian.org> struct function -> Function
vents.c
1dec217e47f998c03c642561d98753c32683985c 07-May-2009 Juan Cespedes <cespedes@debian.org> struct breakpoint -> Breakpoint
rm/breakpoint.c
reakpoint.c
a64/breakpoint.c
race.c
a8909f71e1421949c960f287217be6c42c286c0f 28-Apr-2009 Juan Cespedes <cespedes@coco.thehackers.org> struct process -> Process
lpha/plt.c
lpha/regs.c
lpha/trace.c
rm/plt.c
rm/regs.c
rm/trace.c
vents.c
386/plt.c
386/regs.c
386/trace.c
a64/plt.c
a64/regs.c
a64/trace.c
68k/plt.c
68k/regs.c
68k/trace.c
ipsel/plt.c
ipsel/regs.c
ipsel/trace.c
pc/plt.c
pc/regs.c
pc/trace.c
390/plt.c
390/regs.c
390/trace.c
parc/plt.c
parc/regs.c
parc/trace.c
race.c
86_64/plt.c
86_64/regs.c
86_64/trace.c
1e583132c95aa211fab9e0e0869b237adfa78304 07-Apr-2009 Juan Cespedes <cespedes@debian.org> Beginning support of PTRACE_O_TRACE* (doesn't work yet)
vents.c
race.c
da9b953284966b8c52de43713ebb5b503756e468 07-Apr-2009 Juan Cespedes <cespedes@debian.org> More fields to struct "options"

(opt_c, opt_d, opt_A)
pc/plt.c
714ee9df1696e696d5bd2e9d95c13e9f5051eb73 07-Apr-2009 Juan Cespedes <cespedes@debian.org> wait for new children to stop before assuming they have stopped
race.c
e2023f721b66db48cc8a0f4ab6519460093c2cf1 07-Apr-2009 Juan Cespedes <cespedes@debian.org> wait_for_something.c -> sysdeps/linux-gnu/events.c
akefile
vents.c
ipsel/trace.c
e74c80de19a628cab68f10a1e7c92bef2988aafb 11-Feb-2009 Juan Cespedes <cespedes@coco.thehackers.org> Fixed segfault in traced process when receiving a signal

Specifically, when a signal was received while enabling a breakpoint
race.c
b65bdc581f1ff747a53a1e2494d1cebb56453cb2 16-Dec-2008 Juan Cespedes <cespedes@debian.org> More fields to struct "options"

Substituted opt_* with options.indent, options.output
parc/trace.c
f13505251e6402460f6cc7ec84e0d8ca91607b4f 16-Dec-2008 Juan Cespedes <cespedes@debian.org> Re-indent entry points to functions
lpha/plt.c
lpha/regs.c
lpha/trace.c
rm/breakpoint.c
rm/plt.c
rm/regs.c
rm/trace.c
reakpoint.c
386/plt.c
386/regs.c
386/trace.c
a64/breakpoint.c
a64/plt.c
a64/regs.c
a64/trace.c
68k/plt.c
68k/regs.c
68k/trace.c
ipsel/plt.c
ipsel/regs.c
ipsel/trace.c
pc/plt.c
pc/regs.c
pc/trace.c
roc.c
390/plt.c
390/regs.c
390/trace.c
parc/plt.c
parc/regs.c
parc/trace.c
race.c
86_64/plt.c
86_64/regs.c
86_64/trace.c
63184be8c577f5799e44db2a4e312a8240ad7751 10-Dec-2008 Juan Cespedes <cespedes@debian.org> Patches from Anderson Lizardo and Riku Voipio to reach Debian version 0.5-3.1

* Add generic support for arm targets
* Save funtion arguments on arm
* Add thumb instruction support
* Add basic arm/eabi support
* fix exec() testcase cleanup
* fix memory corruption in clone() test
* fix tracing child with "-p" option
akefile
rch_mksyscallent
rm/Makefile
rm/arch.h
rm/arch_syscallent.h
rm/breakpoint.c
rm/ptrace.h
rm/regs.c
rm/trace.c
55c5feba87bbb8d9190a71ec5ddc38380a384bf7 12-Mar-2008 Luis Machado <luisgpm@br.ibm.com> PPC argument handling improvements

* sysdeps/linux-gnu/ppc/trace.c (arch_umovelong): New function.
* sysdeps/linux-gnu/ppc/regs.c (get_instruction): New function.
(get_count_register): New function.
* sysdeps/linux-gnu/ppc/arch.h (ARCH_HAVE_UMOVELONG): New define.
* sysdeps/linux-gnu/trace.c (umovelong): Create arch-specific
variant.
* ltrace.h (umovelong): Change prototype.
* process_event.c (process_breakpoint): Handle specifics of ppc3
* display_args.c: Call umovelong with info parameter.
pc/arch.h
pc/regs.c
pc/trace.c
race.c
a413e5b8880de643a83ad124d078091c0956fe1d 04-Sep-2007 Juan Cespedes <cespedes@debian.org> Take arg_num out of arg_type_info
lpha/trace.c
rm/trace.c
386/trace.c
a64/trace.c
68k/trace.c
ipsel/trace.c
pc/trace.c
390/trace.c
parc/trace.c
86_64/trace.c
aee093126654f722523b47848a0c5449e39cf4bb 31-Aug-2007 Juan Cespedes <cespedes@debian.org> Some random fixes

* General: Small fixes (indentation, typos, clean-up of code)
* ltrace.c: Close output file on exit
* ltrace.c: use getenf("HOME") instead of getpwuid(geteuid())->pw_dir
* read_config_file.c, display_args.c: remove "ignore" argtype;
that's what "void" is for
* packaging/debian/: misc fixes, sync with version 0.5-1
* etc/ltrace.conf: added more system calls
* testsuite/ltrace.minor/trace-clone.c: sleep(1) to avoid earlier
termination of process
* sysdeps/linux-gnu/trace.c: trace_pid(): reverted Petr's patch
to wait for child to stop, as it stopped following clone()
* process_event.c: Disable breakpoints before doing fork() (again!),
to make children work as expected
race.c
55ed83b24df9c6d671091a8c75caab33ffecd40e 17-May-2007 Petr Machata <pmachata@redhat.com> Fixes from Supriya Kannery <supriyak@in.ibm.com>

* wait_for_something.c, process_event.c: Tracing across exec.
* sysdeps/linux-gnu/trace.c, ltrace.h: New interface was_exec.
* testsuite/ltrace.minor/trace-exec.c,
testsuite/ltrace.minor/trace-exec.exp,
testsuite/ltrace.minor/trace-exec1.c: Testcase for same.
race.c
89a536028ab3b699b7f953b6b0fd7607917fc303 25-Jan-2007 Petr Machata <pmachata@redhat.com> Fix -p and -L behavior

* wait for process to stop after PTRACE_ATTACH
* always initialize the breakpoint dictionary,
and thus avoid NULL dereference.
race.c
1228a91e6560c5e5ac4fdd051adc9b34bf9fc047 28-Dec-2006 Eric Vaitl <evaitl@cisco.com> Added mipsel support
ipsel/Doxyfile
ipsel/Makefile
ipsel/arch.h
ipsel/mipsel.h
ipsel/plt.c
ipsel/ptrace.h
ipsel/regs.c
ipsel/signalent.h
ipsel/syscallent.h
ipsel/trace.c
b3f8fef12fccb0914b7b28725f42192c279d31c9 30-Nov-2006 Petr Machata <pmachata@redhat.com> Fix .opd handling on IA64, few cleanups.
a64/arch.h
pc/arch.h
65b53df7fa2577c4138aef86c115873eab684a0a 25-Sep-2006 Steve Fink <sphink@gmail.com> Large IA64 fix...

* display_args.c: store arg_num in arg_type_info
* display_args.c: support 'double' parameters
* display_args.c: fix implementation of float,double params for ia64
* output.c, process_event.c: store arg_num in arg_type_info
* read_config_file.c: support 'double' parameters
* read_config_file.c: store arg_num in arg_type_info, and as a result,
stop using singleton objects for any of the arg_type_info's.
* read_config_file.c: improve support for struct field alignments
* read_config_file.c: count floating-point parameters to support ia64
float parameter passing
* sysdeps/README, sysdeps/linux-gnu/*/trace.c: pass in the full
arg_type_info to gimme_arg rather than just the arg_num (necessary
for float params on some architectures)
* sysdeps/linux-gnu/ia64/trace.c: accommodate register renaming when
fetching the parameters of a function after it has returned
* sysdeps/linux-gnu/ia64/trace.c: support floating point parameters
lpha/trace.c
rm/trace.c
386/trace.c
a64/trace.c
68k/trace.c
pc/trace.c
390/trace.c
parc/trace.c
86_64/trace.c
a841f6592e75d78620ee9e645af22a58c9e3bbf9 15-Sep-2006 Olaf Hering <olh@suse.de> Some fixes...

* Makefile.in : allow installation as non-root user, print out
some debugging information before running test suite.
* summary.c : allow compilation without USE_DEMANGLE
* sysdeps/linux-gnu/ppc/plt.c : fix warning in sym2addr
* sysdeps/linux-gnu/ia64/regs.c : fix warning when finding
instruction slot
* elf.c : fix up error created in 2006-07-26 refactor
a64/regs.c
pc/plt.c
7bafff09cc66e23519512a54e2d1ebd3664a1a70 07-Aug-2006 Steve Fink <sphink@gmail.com> pass values instead of argument numbers to fetch
race.c
7003feea8035a3c4ee661dc2556d158e9ba41d39 18-Jul-2006 Petr Machata <pmachata@redhat.com> Compile-time fixes for ppc32.
pc/arch.h
c53309ef99c205a2e9ae7ccbdf6557adcd52d24e 19-Jun-2006 Ian Wienand <ianw@ieee.org> Version 0.5

update syscalls to 2.6.17
rm/signalent.h
rm/syscallent.h
386/signalent.h
386/syscallent.h
a64/signalent.h
a64/syscallent.h
68k/signalent.h
68k/syscallent.h
ksyscallent
390/syscalls31.h
390/syscalls64.h
76c61f15d7989bf7adffed2e46a44c34a80bd927 14-Jun-2006 Paul Gilliam <pgilliam@us.ibm.com> Added Paul Gilliam's secure PLT patch
lpha/plt.c
rm/plt.c
reakpoint.c
386/plt.c
a64/plt.c
68k/plt.c
pc/arch.h
pc/plt.c
390/plt.c
parc/plt.c
86_64/plt.c
dcbfb8ee67323014098df9fb5a535d1099e2e2ec 11-May-2006 Heiko Carstens <heiko.carstens@de.ibm.com> update s390 syscalls, add script
EADME
ksyscallent_s390
390/syscalls31.h
390/syscalls64.h
be3207721cb07e7d01a81fb3beecd0327201478c 24-Apr-2006 Paul Gilliam <pgilliam@us.ibm.com> Use e_entry if "_start" can't be found on architectures where it is needed
lpha/arch.h
rm/arch.h
386/arch.h
a64/arch.h
68k/arch.h
pc/arch.h
390/arch.h
parc/arch.h
86_64/arch.h
3f1219f7803599df8556e7fc096a6a239f9a04fd 24-Apr-2006 Paul Gilliam <pgilliam@us.ibm.com> Adds some casts that keeps a more picky version of GCC happy.
reakpoint.c
race.c
2d45b1a8e26a36a9f85dc49e721c4390ca93dc40 20-Feb-2006 Ian Wienand <ianw@ieee.org> run Lindent over source to get everything looking about the same
lpha/plt.c
lpha/regs.c
lpha/signalent.h
lpha/syscallent.h
lpha/trace.c
rm/plt.c
rm/regs.c
rm/signalent.h
rm/syscallent.h
rm/trace.c
reakpoint.c
386/plt.c
386/regs.c
386/signalent.h
386/syscallent.h
386/trace.c
a64/breakpoint.c
a64/plt.c
a64/regs.c
a64/signalent.h
a64/syscallent.h
a64/trace.c
68k/plt.c
68k/regs.c
68k/signalent.h
68k/syscallent.h
68k/trace.c
pc/plt.c
pc/regs.c
pc/signalent.h
pc/syscallent.h
pc/trace.c
roc.c
390/plt.c
390/regs.c
390/signalent.h
390/syscalls31.h
390/syscalls64.h
390/trace.c
parc/plt.c
parc/regs.c
parc/signalent.h
parc/syscallent.h
parc/trace.c
race.c
86_64/plt.c
86_64/regs.c
86_64/signalent.h
86_64/syscallent.h
86_64/trace.c
9a2ad351a1c3215dc596ff3e2e3fd4bc24445a6b 20-Feb-2006 Ian Wienand <ianw@ieee.org> Switched to SVN (initial import)
akefile
lpha/arch.h
lpha/plt.c
lpha/regs.c
lpha/trace.c
rm/arch.h
rm/plt.c
rm/regs.c
rm/trace.c
reakpoint.c
386/arch.h
386/plt.c
386/regs.c
386/syscallent.h
386/trace.c
a64/arch.h
a64/plt.c
a64/syscallent.h
a64/trace.c
68k/arch.h
68k/plt.c
68k/regs.c
68k/trace.c
pc/arch.h
pc/plt.c
pc/regs.c
pc/syscallent.h
pc/trace.c
roc.c
390/arch.h
390/plt.c
390/regs.c
390/signalent.h
390/signalent1.h
390/syscallent.h
390/syscallent1.h
390/syscalls31.h
390/syscalls64.h
390/trace.c
parc/arch.h
parc/plt.c
parc/regs.c
parc/syscallent.h
parc/trace.c
race.c
86_64/arch.h
86_64/plt.c
86_64/regs.c
86_64/signalent1.h
86_64/syscallent.h
86_64/syscallent1.h
86_64/trace.c
5570a7769869a4df25ef85f302f74a7feb6c0cd3 17-Feb-2006 Ian Wienand <ianw@ieee.org> Version 0.3.38-1

* Added ia64 port
* elf.h: add extra field for PLT size
* elf.c: put in PLT size
* sysdeps/linux-gnu/breakpoint.c: add arch breakpoint override
* sysdeps/linux-gnu/trace.c: don't single step after breakpoin for ia64
* configure.ac: add version to AC_INIT, bump version to 0.3.38
* options.c: use PACKAGE_VERSION
reakpoint.c
a64/Makefile
a64/arch.h
a64/breakpoint.c
a64/plt.c
a64/ptrace.h
a64/regs.c
a64/signalent.h
a64/syscallent.h
a64/trace.c
race.c
3219f320604810532a4938dda8f9dfadb0e840f3 16-Feb-2006 Ian Wienand <ianw@ieee.org> Some fixes...

* read_config_file.c: initialise pt stack argument to stop warning
* summary.c: make show_summary() obey -C for demangaling function names
lpha/plt.c
lpha/regs.c
lpha/trace.c
rm/plt.c
rm/regs.c
rm/trace.c
reakpoint.c
386/plt.c
386/regs.c
386/trace.c
68k/plt.c
68k/regs.c
68k/trace.c
pc/plt.c
pc/regs.c
pc/trace.c
roc.c
390/plt.c
390/regs.c
390/trace.c
parc/plt.c
parc/regs.c
parc/trace.c
race.c
86_64/plt.c
86_64/regs.c
86_64/trace.c
d914a206a11cc1011a45f00674b1e16988fae77f 10-Nov-2004 Juan Cespedes <cespedes@debian.org> Version: 0.3.36

* Fixed "--indent" option
* Got rid of Debian and RedHat specific parts in tarball
akefile
lpha/Makefile
lpha/arch.h
lpha/plt.c
lpha/syscallent.h
rm/Makefile
rm/arch.h
rm/plt.c
386/Makefile
386/arch.h
386/plt.c
386/syscallent.h
68k/Makefile
68k/arch.h
68k/plt.c
pc/Makefile
pc/arch.h
pc/plt.c
pc/syscallent.h
390/Makefile
390/arch.h
390/plt.c
390/syscallent.h
parc/Makefile
parc/arch.h
parc/plt.c
parc/syscallent.h
86_64/Makefile
86_64/arch.h
86_64/ffcheck.c
86_64/plt.c
86_64/syscallent.h
5464e8d9900fd098f197e58df4a5d99c1217d20c 16-Jul-2004 Juan Cespedes <cespedes@debian.org> Version 0.3.35

* Fixed include line in m68k, caused build problems
68k/regs.c
948a5d077939939dc086c0d0d199ff2f22706eea 07-Jul-2004 Juan Cespedes <cespedes@debian.org> Version 0.3.34

* Fixed prototype declaration problem in arm, m68k, powerpc, s390
* Added "amd64" to list of architectures (closes: Bug#252756)
* Sparc port is hopefully working (closes: Bug#35524)
rm/regs.c
68k/regs.c
pc/regs.c
390/regs.c
parc/regs.c
86_64/regs.c
5c3fe0697b202cc7d95e90459de0fb312b297b27 14-Jun-2004 Juan Cespedes <cespedes@debian.org> Version 0.3.33

* Fixed two bugs, thanks to Mauro Meneghin <G1ld0@lycos.it>:
+ Cope correctly with breakpoint values greater than
sizeof(long) bytes
+ Fixed small bug in option -r (closes: Bug#212792)
* Show help if no (or few) arguments are given, just like
strace and fenris (thanks, Tomasz Wegrzanowski <taw@users.sf.net>)
* Some fixes from Jakub Bogusz <qboosh@pld-linux.org>:
+ Small 64-bit cleanup of code
+ support for more than 6 function arguments on amd64
+ Adapted SPARC port from Jakub Jelinek <jakub@redhat.com>
+ Added alpha support
lpha/Makefile
lpha/arch.h
lpha/ptrace.h
lpha/regs.c
lpha/signalent.h
lpha/syscallent.h
lpha/trace.c
rm/ptrace.h
rm/regs.c
rm/trace.c
reakpoint.c
386/ptrace.h
386/regs.c
386/trace.c
68k/ptrace.h
68k/regs.c
68k/trace.c
pc/ptrace.h
pc/regs.c
pc/trace.c
390/ptrace.h
390/regs.c
390/trace.c
parc/Makefile
parc/arch.h
parc/ptrace.h
parc/regs.c
parc/signalent.h
parc/syscallent.h
parc/trace.c
race.c
86_64/ptrace.h
86_64/regs.c
86_64/trace.c
efe85f0668a077b1e851df4b3f87a380cf2269fd 04-Apr-2004 Juan Cespedes <cespedes@debian.org> Version 0.3.32

* Fixed wrong version number
* Removed unused file "opt_c.c"
* Remove error when tracing no calls and doing fork()
* Clean-up of sysdeps/linux-gnu/s390/trace.c
* Clean-up of sysdeps/linux-gnu/ppc/trace.c
* Make `--library' option really work (closes: Bug#232321)
* Merged several patches from SuSE:
+ Added some functions to ltrace.conf
+ Handle 64-big ELF files nicely
+ AMD64 support
+ Updated list of syscalls for S/390
+ Improved some debugging statements
Many thanks to Bernhard Kaindl <bk@suse.de> for his great work
rm/arch.h
reakpoint.c
pc/arch.o
pc/regs.o
pc/trace.c
pc/trace.o
390/Makefile
390/regs.c
390/syscallent.h
390/trace.c
86_64/Makefile
86_64/arch.h
86_64/ffcheck.c
86_64/regs.c
86_64/signalent.h
86_64/syscallent.h
86_64/trace.c
504a385858a49352bcfceca444ba4f1a7bfd20cd 04-Feb-2003 Juan Cespedes <cespedes@debian.org> Version 0.3.31

* Added a lot of functions to ltrace.conf,
thanks to Jakub Jelinek <jakub@redhat.com> (closes: Bug#144518)
* Fixed off-by-one problem in checking syscall number
* Removed some warnings
386/regs.c
386/trace.c
race.c
a0ccf39a68c0fcdf2165bde0f9b70ed12fc61cd8 01-Feb-2003 Juan Cespedes <cespedes@debian.org> Version 0.3.29

* Align return values depending on screen width
* Updated list of syscalls and signals to Linux 2.4.20
* Fixed bug introduced in 0.3.27 which caused -L option to segfault
rm/syscallent.h
386/syscallent.h
68k/syscallent.h
pc/syscallent.h
390/syscallent.h
5bfb061c4c7cfac6e1882a586cf36c849d95fcea 31-Mar-2002 Juan Cespedes <cespedes@debian.org> Version 0.3.25

* Finally added powerpc support (Anton Blanchard <anton@samba.org>)
pc/arch.h
pc/regs.c
pc/syscallent.h
pc/trace.c
f1bfe203f5f1c0e11a614f9d593a68406f5cb47e 27-Mar-2002 Juan Cespedes <cespedes@debian.org> Version 0.3.24

* Fixed 2 minor buffer overflows (closes: Bug#130746)
* Obey --prefix, --sysconfdir, --mandir options in configure
* Adding powerpc support (doesn't work yet)
(Anton Blanchard <anton@linuxcare.com.au>)
pc/Makefile
pc/arch.h
pc/arch.o
pc/regs.c
pc/regs.o
pc/signalent.h
pc/syscallent.h
pc/trace.c
pc/trace.o
8f8282f72eaeadc5419cd5470100e8dcaba5b7fd 03-Mar-2002 Juan Cespedes <cespedes@debian.org> Version 0.3.23

* Fixed missing include <unistd.h> in trace.c
* One arch-dependent function less (continue_after_breakpoint)
* Fixed S/390 port (it didn't compile yet...)
rm/regs.c
rm/trace.c
386/regs.c
386/trace.c
68k/regs.c
68k/trace.c
390/regs.c
390/trace.c
race.c
96c3fd0c58f7f57a0d8b317ba9b43dffc03a18a1 03-Mar-2002 Juan Cespedes <cespedes@debian.org> Version 0.3.22

* S/390: Removed extra target in sysdeps/linux-gnu/s390 which avoided
compiling...
390/Makefile
a4850831bf4b4548af517335081b58cf006fd168 03-Mar-2002 Juan Cespedes <cespedes@debian.org> Version 0.3.21

* Get rid of arch/breakpoint.c; we can do it arch-independent
akefile
rm/Makefile
rm/arch.h
rm/breakpoint.c
reakpoint.c
386/Makefile
386/breakpoint.c
68k/Makefile
68k/arch.h
68k/breakpoint.c
390/arch.h
390/breakpoint.c
b1dd77d66f93eeaa6cbf8b101d3e9cf70981e000 03-Mar-2002 Juan Cespedes <cespedes@debian.org> Version 0.3.20

* Added s390 port (Timothy R. Fesig <slate@us.ibm.com>)
* Modified configure process to use ltrace.spec.in to generate
ltrace.spec (Timothy R. Fesig <slate@us.ibm.com>)
* Fixed some problems using ltrace.spec on Intel platform.
(Timothy R. Fesig <slate@us.ibm.com>)
akefile
rm/trace.c
386/trace.c
68k/trace.c
390/Makefile
390/arch.h
390/breakpoint.c
390/regs.c
390/signalent.h
390/syscallent.h
390/trace.c
8cc1b9d456c8f41e3a8cc0d3ec0d77eb779cb7bb 01-Mar-2002 Juan Cespedes <cespedes@debian.org> Version: 0.3.18

* Simplified arch-dependent stuff
* Updated list of syscalls and signals to Linux 2.4.18
* Unified coding-style of all function declarations
* Do not indent lines indicating signals, exit codes, etc
* Updated description
* fix off-by-one problem in checking syscall number (Tim Waugh
<twaugh@redhat.com> fixed this problem in RedHat two years ago;
thank you for NOT noticing me...)
rm/breakpoint.c
rm/regs.c
rm/syscallent.h
rm/trace.c
386/regs.c
386/syscallent.h
386/trace.c
68k/breakpoint.c
68k/regs.c
68k/trace.c
roc.c
race.c
5916fda0d07da90cac8a78cbfa73374d81b150be 25-Feb-2002 Juan Cespedes <cespedes@debian.org> Version: 0.3.17

* Added a bit more debugging
* Fixed display of return address in nested functions
* Added posibility to exit from a function different from the last
* called
one (this fixes "ltrace gnome-terminal", for example)
386/breakpoint.c
race.c
21c63a1469bc049d93444b8a15afd685ee251392 07-Jul-2001 Juan Cespedes <cespedes@debian.org> Version: 0.3.14

* Assume a syscall is always immediatly followed by a sysret
in i386 (fixes bug which prevented ltrace to work properly
in any program using signals); I will have to rethink all
this and fix it correctly or port it to non-i386 archs
* Fixed -n option: now it is done in output.c (this still has
problems when tracing more than one process at a time)
386/breakpoint.c
386/trace.c
1cd999a32728f41208dc30f38a125d7bb7063625 03-Jul-2001 Juan Cespedes <cespedes@debian.org> Version: 0.3.12

* Re-wrote of "elf.c" (Silvio Cesare <silvio@big.net.au>)
* Added "--library" option (Silvio)
* Updated list of syscalls and signals to Linux 2.4.5
* Compile cleanly with gcc-3.0 (thanks to Frederic L. W. Meunier)
rm/signalent.h
rm/syscallent.h
386/signalent.h
386/syscallent.h
68k/signalent.h
68k/syscallent.h
ksyscallent
5b3ffdf2e696273d38434ff7b3c26349fff5a0ea 02-Jul-2001 Juan Cespedes <cespedes@debian.org> Version: 0.3.11

* Clean up lintian bugs
* Fixed small bug reading start of arguments in config file
* Keep a stack of nested calls (Morten Eriksen, 1999-07-04)
* Add "--indent" option (Morten Eriksen, 1999-07-04)
* cleans up connection between a breakpoint address and
a call instance (Morten Eriksen, 1999-07-04)
* New Standards-Version (3.5.5)
rm/breakpoint.c
rm/trace.c
386/breakpoint.c
386/trace.c
68k/breakpoint.c
68k/trace.c
race.c
1b9cfd6ad305ad909e8ff17139111a7c78f01464 30-Aug-1999 Juan Cespedes <cespedes@debian.org> Version: 0.3.8

* glibc-2.1 does no longer need `_GNU_SOURCE' defined to use <getopt.h>
* Changed description of package; adopted Red Hat's one
(thanks to whoever wrote it)
* Close all the file descriptors used before executing program (close-on-exec)
* Updated copyright file for new location /usr/share/common-licenses/GPL.
* Used GNU autoconf instead of "uname" to guess host system type
* Install man page in /usr/share/man instead of /usr/man
* Added a few functions to /etc/ltrace.conf
* Updated list of syscalls and signals to linux-2.2.12
* Fixed bugs in C++ demangle (Morten Eriksen <mortene@sim.no>)
* New Standards-Version: 3.0.1 (but keeping docs in /usr/doc)
akefile
EADME
rm/Makefile
rm/arch.h
rm/breakpoint.c
rm/regs.c
rm/signalent.h
rm/syscallent.h
rm/trace.c
386/Makefile
386/arch.h
386/breakpoint.c
386/regs.c
386/signalent.h
386/syscallent.h
386/trace.c
68k/Makefile
68k/arch.h
68k/breakpoint.c
68k/regs.c
68k/signalent.h
68k/syscallent.h
68k/trace.c
ksignalent
ksyscallent
roc.c
race.c