267655 |
20-Jun-2014 |
gjb |
Remove svn:mergeinfo carried over from stable/9.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
267654 |
20-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
265235 |
02-May-2014 |
pfg |
MFC r264040:
4248 dtrace(1M) should never create DOF with empty probes section 4249 Only probes from the first DTrace object file will be included
Illumos Revision: 4a20ab41aadcb81c53e72fc65886e964e9add59
Reference: https://www.illumos.org/issues/4248 https://www.illumos.org/issues/4249
Obtained from: Illumos
|
262068 |
17-Feb-2014 |
avg |
MFC r261122: dtrace: remove unexplained 16MB limitation from dt_alloc/dt_zalloc
|
262061 |
17-Feb-2014 |
markj |
MFC r260051: When clearing relocations to __dtrace* symbols, handle both SHT_REL and SHT_RELA sections properly instead of assuming that the relocation section is of type SHT_REL.
|
256004 |
02-Oct-2013 |
pfg |
MFC r249426;
Merge change from illumos:
3519 DTrace fails to resolve const types from fbt 3520 dtrace internal error -- token type 316 is not a valid D compilation token 3521 clean up dtrace unit tests
Illumos Revision: e98f46c
Reference: https://www.illumos.org/issues/3519 https://www.illumos.org/issues/3520 https://www.illumos.org/issues/3521
Tested by: Fabian Keil Obtained from: Illumos
|
256002 |
02-Oct-2013 |
pfg |
MFC r250574, r250812, r253725;
DTrace: option for time-ordered output
Merge changes from illumos:
3021 option for time-ordered output from dtrace(1M) 3022 DTrace: keys should not affect the sort order when sorting by value 3023 it should be possible to dereference dynamic variables 3024 D integer narrowing needs some work 3025 register leak in D code generation
This brings yet another feature implemented in upstream DTrace. A complete description is available here: http://dtrace.org/blogs/ahl/2012/07/28/my-new-dtrace-favorite/
This change bumps the DT_VERS_* number to 1.9.1 in accordance to what is done in illumos.
Special thanks to Mark Johnston for fixes and testing.
Illumos Revisions: 13758:23432da34147
Reference: https://www.illumos.org/issues/3021 https://www.illumos.org/issues/3022 https://www.illumos.org/issues/3023 https://www.illumos.org/issues/3024 https://www.illumos.org/issues/3025 https://www.illumos.org/issues/1694
Obtained from: Illumos
|
251857 |
17-Jun-2013 |
gnn |
MFC: 248848
Commit a patch that fixes a problem in the #pragma statement when searching for and loading dependent modules. This addresses a bug seen with io.d where it was being doubly included.
PR: 171678 Submitted by: Mark Johnston
|
250485 |
10-May-2013 |
pfg |
MFC r249526: DTrace: print() should try to resolve function pointers
Merge changes from illumos:
3675 DTrace print() should try to resolve function pointers 3676 dt_print_enum hardcodes a value of zero
Illumos Revision: b1fa6326238973aeaf12c34fcda75985b6c06be1
Reference: https://www.illumos.org/issues/3675 https://www.illumos.org/issues/3676
Obtained from: Illumos
|
249856 |
24-Apr-2013 |
pfg |
MFC r248690, r248706, 248708, r248752: Dtrace: merge new functions from Illumos.
This covers illumos issues:
1455 DTrace tracemem() should take an optional size argument 1451 DTrace needs toupper()/tolower() subroutines 1457 lltostr() D subroutine should take an optional base 1694 Add type-aware print() action 3511 dtrace.c erroneously checks for memory alignment on amd64
This includes an enhanced print() described here:
http://dtrace.org/blogs/eschrock/2011/10/26/your-mdb-fell-into-my-dtrace/
This change bumps the DT_VERS_* number to 1.9.0 in accordance to what is done in illumos.
Illumos Revisions: 13457:571b0355c2e3 13458:5e394d8db762 13459:c3454574dd1a 13501:c3a7090dbc16 13483:f413e6c5d297
Reference: https://www.illumos.org/issues/1455 https://www.illumos.org/issues/1451 https://www.illumos.org/issues/1457 https://www.illumos.org/issues/1560 https://www.illumos.org/issues/1694 https://www.illumos.org/issues/3511
Tested by: Fabian Keil Obtained from: Illumos
|
244097 |
10-Dec-2012 |
gnn |
MFC: 238979
When we return with an error we cannot unlock the mutex, because it's been freed. Protect against that, hopefully unlikely, case.
Reviewed by: rpaulo
|
239538 |
21-Aug-2012 |
pfg |
MFC 238457:
1458 D compiler fails to generate error on sizeof() an undefined struct
Reference: https://www.illumos.org/issues/1458
Obtained from: Illumos
|
239536 |
21-Aug-2012 |
pfg |
MFC r238558:
Dtrace: improve handling of library paths.
Merge changes from illumos
906 dtrace depends_on pragma should search all library paths, not just the current one
949 dtrace should only include the first instance of a library found on its library path
Obtained from: Illumos
|
239534 |
21-Aug-2012 |
pfg |
MFC r238509:
Use libc's strndup() instead of Dtrace's reimplementation.
Corresponds partially to OpenSolaris change: PSARC 2010/299 GNU/Linux/BSD compatibility functions 6901783 strndup would be nice.
|
238177 |
06-Jul-2012 |
dim |
MFC r238071:
Fix clang warning, introduced in the recent dtrace import.
Approved by: re (kib)
|
237870 |
01-Jul-2012 |
pfg |
MFC r237624, r237714, r237716, r237860:
Bring llquantize support into Dtrace.
Bryan Cantrill implemented the equivalent of semi-log graph paper for Dtrace so llquantize will use one logarithmic and one linear scale.
|
236160 |
27-May-2012 |
rstone |
MFC r234691
Implement the D "cpu" variable, which returns curcpu. I have chosen not to follow the example of OpenSolaris and its descendants, which implemented cpu as an inline that took a value out of curthread. At certain points in the FreeBSD scheduler curthread->td_oncpu will no longer be valid (in particular, just before the thread gets descheduled) so instead I have implemented this as its own built-in variable.
Sponsored by: Sandvine Inc.
|
234497 |
20-Apr-2012 |
gnn |
MFC: 234234
Change SIGUSR1 to SIGTHR to properly wake up a process that is being traced. The use of SIGUSR1 caused traced processes (those attached to with dtrace -p) to exit when dtrace exited.
|
229134 |
31-Dec-2011 |
dim |
MFC r228580:
In cddl/contrib/opensolaris/lib/libdtrace/common/dt_handle.c, some uint64_t values are snprintf'd using %llx. On amd64, uint64_t is typedef'd as unsigned long, so cast the values to u_longlong_t, as is done similarly in the rest of the file.
|
229133 |
31-Dec-2011 |
dim |
MFC r228579:
In cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c, some uint64_t values are snprintf'd using %llx. On amd64, uint64_t is typedef'd as unsigned long, so cast the values to u_longlong_t, as is done similarly in the rest of the file.
|
229092 |
31-Dec-2011 |
dim |
MFC r228550:
In cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c, the dt_popc() function assumes that either _ILP32 or _LP64 is defined, otherwise it has no suitable implementation.
However, the _ILP32 and _LP64 macros come from isa_defs.h, which is not included in this file. Add the include now, to get the macros defined.
|
229091 |
31-Dec-2011 |
dim |
MFC r228549:
In cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c, use the correct printf format for a key_t (aka long).
|
229088 |
31-Dec-2011 |
dim |
MFC r228547:
Cast away a clang alignment warning in drti.c's fixsymbol() function. This code only runs on i386 and amd64, so there should be no problems if buf + sec->dofs_offset is not aligned (which is unlikely anyway).
|
225736 |
23-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
223293 |
19-Jun-2011 |
simon |
Do not use #warning to warn about missing implementation of dt_popc(), but just have a comment that this is broken.
This is just a bandaid until somebody can fix this correctly. The code is just a broken as it was before r223262 - now buildworld just doesn't fail.
Tested by: i386 + amd64 buildworld With hat: benl co-mentor
|
223262 |
18-Jun-2011 |
benl |
Fix clang warnings.
Approved by: philip (mentor)
|
212495 |
12-Sep-2010 |
rpaulo |
Give a chance to the target binary to run the ctors by waiting until it has reached main(). This allows plockstat to work.
Sponsored by: The FreeBSD Foundation
|
212462 |
11-Sep-2010 |
rpaulo |
Disable debug by default.
Sponsored by: The FreeBSD Foundation
|
212414 |
10-Sep-2010 |
rpaulo |
Don't try to map the USDT probes. This is necessary because there is no __SUNW_dof symbol present in FreeBSD binaries.
Sponsored by: The FreeBSD Foundation
|
212358 |
09-Sep-2010 |
rpaulo |
Don't clobber an existing target object file when doing the DTrace linking process. This is needed because we change the source object files and the second this dtrace -G is run, no probes will be found. This hack allows us to build postgres with DTrace probes enabled. I'll try to find a way to fix this without needing this hack.
Sponsored by: The FreeBSD Foundation
|
212092 |
01-Sep-2010 |
rpaulo |
Include <sys/sdt.h> on a generated header.
Sponsored by: The FreeBSD Foundation
|
211554 |
21-Aug-2010 |
rpaulo |
Add libdtrace support for tracing userland programs.
Summary of changes: * Implement a compatibility shim between Solaris libproc and our libproc and remove several ifdefs because of this. * Port the drti to FreeBSD. * Implement the missing DOODAD sections * Link with libproc and librtld_db * Support for ustack, jstack and uregs (by sson@) * Misc bugfixing
When writing the SUWN_dof section, we had to resort to building the ELF file layout by "hand". This is the job of libelf, but our libelf doesn't support this yet. When libelf is fixed, we can remove the code under #ifdef BROKEN_LIBELF.
Sponsored by: The FreeBSD Foundation
|
210776 |
02-Aug-2010 |
rpaulo |
Fix another mismerge: bring back the definition of DT_MUTEX_HELD().
|
210775 |
02-Aug-2010 |
rpaulo |
Fix the result of a mismerge. MUTEX_HELD should be DT_MUTEX_HELD() and Plmid() is not supposed to be called.
|
210767 |
02-Aug-2010 |
rpaulo |
MFV OpenSolaris DTrace userland bits.
|
210695 |
31-Jul-2010 |
rpaulo |
proc_wait() was replaced by proc_wstatus(). Right now this call is useless because userland support is not working on HEAD, but this makes libdtrace compile again.
Sponsored by: The FreeBSD Foundation
|
210692 |
31-Jul-2010 |
rpaulo |
Update to the new proc_detach() function.
Sponsored by: The FreeBSD Foundation
|
210425 |
23-Jul-2010 |
avg |
dtrace: correctly map sections to addresses in elf object modules (amd64)
Unlike for modules with dso type, in elf object modules all the sections have virtual address of zero. So, it is insufficient to add module base address to section virtual address (as recorded in section header) to get section address in kernel memory. Instead, we should apply the same calculations that are performed by kernel loaders (in boot code and in kernel) when they lay out sections in memory. Also, unlike OpenSolaris, the sections are not collapsed into just .text, .data and .bss by module loaders, so we need to take additional care about other sections.
Note that in-kernel symbol-to-address mapping worked just fine, e.g. fbt provider could correctly find the functions, etc. It's only in userland that the mapping in both direction worked incorrectly, e.g. in stack() output addresses of functions in kernel modules were not translated to their names.
Reviewed by: rpaulo MFC after: 3 weeks
|
209358 |
20-Jun-2010 |
marcel |
Unbreak platforms with char unsigned by default. Oddly enough, GCC isn't satisfied with a simple cast to int in the check against EOF, so the fix is a bit involved by actually having to go through a temporary variable.
|
209305 |
18-Jun-2010 |
kan |
Do not allow EOF token to be put back into input buffer.
This reimplements previous change from r20930 in more generic way.
MFC after: 1 week
|
209030 |
11-Jun-2010 |
kan |
In dtrace lexer, do not unput token if it is EOF.
This is harmless with OpenSolaris fex and yacc, but with FreeBSD causes '\xff' symbol to be physically put into input buffer, causing subsequent syntax error.
MFC after: 1 week
|
187347 |
16-Jan-2009 |
jhb |
Correct the sense of the "use32" terenary operator so that it uses 'lib32' for 32-bit binaries on amd64 and 'lib' for 64-bit binaries. Remove an #ifdef __i386__ that defined use32 to the wrong value on i386 to workaround the bug in the terenary operator.
MFC after: 1 month
|
184696 |
05-Nov-2008 |
rodrigc |
Merge latest DTrace changes from Perforce.
Approved by: jb
|
183153 |
18-Sep-2008 |
imp |
Mips doesn't have a long double that's different in size from double.
|
178576 |
26-Apr-2008 |
jb |
* Handle the different ioctl design. * Add a couple of FreeBSD action extensions.
|
178575 |
26-Apr-2008 |
jb |
Make this file compile cleanly.
|
178574 |
26-Apr-2008 |
jb |
Leave out some header files.
|
178573 |
26-Apr-2008 |
jb |
* Handle building on FreeBSD for i386 and amd64. * Add stubs for the other FreeBSD arches. * Make the file compile cleanly.
|
178572 |
26-Apr-2008 |
jb |
* Make this file compile cleanly. * Add FreeBSD constructor/destructor definitions.
|
178570 |
26-Apr-2008 |
jb |
* Add FreeBSD action extensions. * Get the kernel module file name rather than hard-coding it like on Solaris. * Use FreeBSD's process library API. * Handle FreeBSD's different lock types. * Get the list of loaded providers via a syscall.
|
178569 |
26-Apr-2008 |
jb |
* Handle the different ioctl design. * Make this file compile cleanly.
|
178568 |
26-Apr-2008 |
jb |
There is a lot of commented out code here which applies to future work for userland tracing.
For now we need the basic functions to be in place so that DTrace can be used for kernel tracing.
|
178567 |
26-Apr-2008 |
jb |
Leave out a header file.
|
178566 |
26-Apr-2008 |
jb |
Merge FreeBSD include file changes with some code that should have come in on the vendor branch.
|
178565 |
26-Apr-2008 |
jb |
* Use FreeBSD's process library instead of the Solaris one. * There are a few placeholders in here for which there isn't libproc support code yet. This is relevent to userland tracing. This set of commits is designed to get kernel tracing up and running, with the userland stuff to follow later.
|
178564 |
26-Apr-2008 |
jb |
Leave out the hook that Solaris has into it's rtld.
|
178563 |
26-Apr-2008 |
jb |
* Add a couple of action definitions for FreeBSD extensions. * Handle the different ioctl design. * Add support for the get and set error location. * Add support for freopen().
|
178562 |
26-Apr-2008 |
jb |
* Handle the different ioctl design. * Make the file compile cleanly.
|
178561 |
26-Apr-2008 |
jb |
There are many places in libdtrace where errno can be set. When an error is returned all the way back to the dtrace app, it's hard to figure out where that error came from.
Add a couple of functions to get and set the error location which can be optionally compiled into the library.
|
178560 |
26-Apr-2008 |
jb |
Add some error definitions for FreeBSD action extensions.
|
178559 |
26-Apr-2008 |
jb |
* Make this file compile cleanly. * Use FreeBSD's kld syscalls to get kernel module information instead of using an object file system like Solaris uses.
|
178558 |
26-Apr-2008 |
jb |
* Handle the different ioctl design. * Use FreeBSD's process library API. * Make the file compile cleanly.
|
178557 |
26-Apr-2008 |
jb |
Just leave out a few includes to compile this on FreeBSD.
|
178556 |
26-Apr-2008 |
jb |
* Get the maximum number of CPUs via a sysctl. * Handle the different ioctl design. * Support the freopen() changes. * Use functions in FreeBSD's process library rather than the CDDL library that Solaris has which sits on top of their process file system and is therefore unsuitable for use on FreeBSD. The libproc API for FreeBSD is deliberately different to that on Solaris because Sun wouldn't release the libproc.h header under a BSD license.
|
178555 |
26-Apr-2008 |
jb |
* Define YY_INPUT for flex since input() can't be re-defined. * On FreeBSD define both LITTLE_ENDIAN and BIG_ENDIAN and then set the BYTE_ORDER to the one we are using. On Solaris they define one or the other but not both. For us to keep using FreeBSD header files, we need to use endian definitions the same way we do in pure BSD code.
|
178553 |
26-Apr-2008 |
jb |
Handle the different level of indirection between ioctl on SYSV vs BSD.
|
178552 |
26-Apr-2008 |
jb |
freopen() on FreeBSD behaves differently to the Solaris one.
|
178551 |
26-Apr-2008 |
jb |
* Use a portable POSIX timed wait. * Handle the different ioctl format.
|
178550 |
26-Apr-2008 |
jb |
* Fix a function prototype. * Allow for the different level of indirection between SYSV's ioctl and BSD's. * Map a couple of sysconf definitions to one that FreeBSD has.
|
178547 |
26-Apr-2008 |
jb |
'echo' behaviour differs between SYSV and BSD.
|
178529 |
26-Apr-2008 |
jb |
This commit was generated by cvs2svn to compensate for changes in r178528, which included commits to RCS files with non-trunk default branches.
|
178480 |
25-Apr-2008 |
jb |
This commit was generated by cvs2svn to compensate for changes in r178479, which included commits to RCS files with non-trunk default branches.
|