History log of /freebsd-10.1-release/lib/libproc/
Revision Date Author Comments
272461 03-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


270731 27-Aug-2014 markj

MFC r265255, r270506:
Allow "a.out" as an alias for the executable if no other matching entries
are found.


269885 12-Aug-2014 dim

MFC r269750:

In r268463, I misplaced a return in demangle(), causing the function to
erroneously skip symbols that were not mangled at all. Fix this by
moving the return into the preceding if block.

While here, simplify the code by letting __cxa_demangle() allocate the
needed space for the demangled symbol. This also fixes a memory leak,
which would occur whenever __cxa_demangle() failed.

Reported by: pgj
PR: base/191981


269754 09-Aug-2014 markj

MFC r265308:
If the traced process stops because it received a signal, libproc needs
to ensure that the signal is forwarded when proc_continue() is called.


268775 16-Jul-2014 dim

MFC r268463:

In libproc, avoid calling __cxa_demangle(), and thus depending on either
libcxxrt or libsupc++, if WITHOUT_CXX is defined. [1]

Noticed by: sbruno

[1] However, on stable/10 this is more accurately described by
WITHOUT_GNUCXX, so I've changed the test to that instead.


265073 29-Apr-2014 markj

MFC r264436:
Fix some off-by-one errors. The kve_end and rdl_eaddr fields contain the
first address after the end of the map entry and should therefore be
excluded.


259972 27-Dec-2013 markj

MFC r258000:
Consistently add the relocation offset only when the ELF type is not
ET_EXEC. This fixes several problems with the DTrace pid provider not
being able to match probes.


259969 27-Dec-2013 markj

MFC r257670:
Modify the libproc breakpoint add/remove functions to stop the target
process if it has not already been stopped, since this is required for
ptrace(2) to work.

libdtrace does not seem to stop target processes before trying to remove
their breakpoints, so we were previously failing to remove the breakpoint
on r_debug_state() in rtld. This was causing processes to die with SIGTRAP
if they called dlopen(3) after dtrace(1) had detached.


259965 27-Dec-2013 markj

MFC r257300:
Fix an off-by-one error when checking whether a given address is within
the extent of a symbol.


259895 25-Dec-2013 markj

MFC r256661 r257222 r257235 r257248 r257298.

MFC r256661:
Fix the libproc build when DEBUG is defined.

MFC r257222:
Clean up the debug printing in libproc a bit. In particular:

* Don't print any error messages to stderr unless DEBUG is defined.
* Add a DPRINTFX macro for use when errno isn't set.
* Print the error string from libelf when appropriate.

MFC r257235:
Remove an incorrect debug printf.

MFC r257248:
Fix the build with gcc.

MFC r257298:
Revert r257248 and fix the problem in a way that doesn't violate style(9).


256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


254177 10-Aug-2013 rpaulo

Fix the return value when we found a symbol in .dynstr. This nasty bug was
preventing a lot of symbol lookups in dtruss -s, for example.


246035 28-Jan-2013 jhb

- Compute the correct size to reallocate when doubling the size of the
array of loaded objects to avoid a buffer overrun.
- Use reallocf() to avoid leaking memory if the realloc() fails.

PR: kern/175648
Submitted by: yuri@rawbw.com (1)
MFC after: 1 week


244692 26-Dec-2012 pluknet

Fix libproc test case to work with clang premature optimization
observed with -O2 (used by default).
Avoid function inlining for t1_bkpt_t on which we set a breakpoint.
Otherwise the address of the function is never called thus the
breakpoint never triggers.

Reported by: zont
Reviewed by: rpaulo


242723 07-Nov-2012 jhibbits

Implement DTrace for PowerPC. This includes both 32-bit and 64-bit.

There is one known issue: Some probes will display an error message along the
lines of: "Invalid address (0)"

I tested this with both a simple dtrace probe and dtruss on a few different
binaries on 32-bit. I only compiled 64-bit, did not run it, but I don't expect
problems without the modules loaded. Volunteers are welcome.

MFC after: 1 month


240182 07-Sep-2012 rpaulo

When calling the C++ demangler, make sure to free the returned buffer,
which might have been reallocated.

Pointed out by: stefanf


240156 06-Sep-2012 rpaulo

Add support for demangling C++ symbols. This requires linking libproc with
libc++rt/libsupc++.

Discussed with: theraven


240154 06-Sep-2012 rpaulo

Fix test cases to work with the latest version of the API.


240040 02-Sep-2012 rpaulo

Make sure we visit both symbol sections even if one of them doesn't
exist. This makes it possible to dtrace some C++ programs like devd.


233402 23-Mar-2012 gonzo

Make libproc compilable for MIPS


224632 03-Aug-2011 avg

fix a serious bug in libproc's proc_attach

proc_attach always frees any struct proc_handle data
that it allocates, but that is supposed to be done
only in error conditions.

PR: bin/158431
Approved by: re (kib)
MFC after: 1 week


216432 14-Dec-2010 kevlo

Fix a memory leak on the error condition

Reviewed by: rpaulo


212831 18-Sep-2010 rpaulo

Ignore EINTR when calling waitpid.


211184 11-Aug-2010 rpaulo

Several fixes for libproc:
o return the correct status in proc_wstatus()
o proc_read takes a void *
o correctly allocate the objs structure array

Sponsored by: The FreeBSD Foundation


210694 31-Jul-2010 rpaulo

Revert SHLIB_MAJOR to 2.

As discussed with kan@, since DTrace is the only consumer of libproc
right now, there's no need for a major shlib bump.


210689 31-Jul-2010 rpaulo

Bump the shared library major version due to ABI conflicts.

Sponsored by: The FreeBSD Foundation


210688 31-Jul-2010 rpaulo

New version of libproc. Changes are:
* breakpoint setup support
* register query
* symbol to address mapping and vice-versa
* more misc utility functions based on their Solaris counterpart

Also, I've written some test cases.

Sponsored by: The FreeBSD Foundation


204338 25-Feb-2010 ru

Removed redundant -I. from CFLAGS and "yes" from WITHOUT_MAN.


201381 02-Jan-2010 ed

Build lib/ with WARNS=6 by default.

Similar to libexec/, do the same with lib/. Make WARNS=6 the norm and
lower it when needed.

I'm setting WARNS?=0 for secure/. It seems secure/ includes the
Makefile.inc provided by lib/. I'm not going to touch that directory.
Most of the code there is contributed anyway.


195767 19-Jul-2009 kensmith

Bump the version of all non-symbol-versioned shared libraries in
preparation for 8.0-RELEASE. Add the previous version of those
libraries to ObsoleteFiles.inc and bump __FreeBSD_Version.

Reviewed by: kib
Approved by: re (rwatson)


184697 05-Nov-2008 rodrigc

Merge latest DTrace changes from Perforce.
Update libproc API to reflect new changes.

Approved by: jb


179186 22-May-2008 jb

Add the Makefile for the process library which was missed in the previous
commit.


179185 22-May-2008 jb

Add a process library with some stubs that the DTrace client needs.
These will be fleshed out as part of the DTrace userland tracing
development.

For now, the kernel tracing part of DTrace requires minimal functionality
for this library.

The API for this library is deliberately different from the libproc in
OpenSolaris due to licensing restrictions.