aboutsummaryrefslogtreecommitdiff
path: root/lib/libproc
Commit message (Collapse)AuthorAgeFilesLines
* DIRDEPS_BUILD: Update dependencies.Bryan Drewery2017-10-312-2/+0
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325188
* Avoid keeping a dangling pointer when the mappings array is resized.Mark Johnston2017-09-063-3/+4
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=323227
* Add supporting changes for `Add limited sandbox capability to "make check"`Enji Cooper2017-08-141-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Non-tests/... changes: - Add HAS_TESTS= to Makefiles with libraries and programs to enable iteration and propagate the appropriate environment down to *.test.mk. tests/... changes: - Add appropriate support Makefile.inc's to set HAS_TESTS in a minimal manner, since tests/... is a special subdirectory tree compared to the others. MFC after: 2 months MFC with: r322511 Reviewed by: arch (silence), testing (silence) Differential Revision: D12014 Notes: svn path=/head/; revision=322515
| * Add HAS_TESTS to all Makefiles that are currently using theEnji Cooper2017-08-021-0/+1
| | | | | | | | | | | | | | | | | | `SUBDIR.${MK_TESTS}+= tests` idiom. This is a follow up to r321912. Notes: svn path=/projects/make-check-sandbox/; revision=321914
* | o Replace __riscv__ with __riscvRuslan Bukin2017-08-072-5/+5
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Replace __riscv64 with (__riscv && __riscv_xlen == 64) This is required to support new GCC 7.1 compiler. This is compatible with current GCC 6.1 compiler. RISC-V is extensible ISA and the idea here is to have built-in define per each extension, so together with __riscv we will have some subset of these as well (depending on -march string passed to compiler): __riscv_compressed __riscv_atomic __riscv_mul __riscv_div __riscv_muldiv __riscv_fdiv __riscv_fsqrt __riscv_float_abi_soft __riscv_float_abi_single __riscv_float_abi_double __riscv_cmodel_medlow __riscv_cmodel_medany __riscv_cmodel_pic __riscv_xlen Reviewed by: ngie Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D11901 Notes: svn path=/head/; revision=322168
* Convert traditional ${MK_TESTS} conditional idiom for including testEnji Cooper2017-08-021-3/+1
| | | | | | | | | | | | | | directories to SUBDIR.${MK_TESTS} idiom This is being done to pave the way for future work (and homogenity) in ^/projects/make-check-sandbox . No functional change intended. MFC after: 1 weeks Notes: svn path=/head/; revision=321912
* Ensure that the mappings table is populated in proc_objname().Mark Johnston2017-05-221-0/+3
| | | | | | | | MFC after: 1 week Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=318687
* Add initializations missed in r315728.Mark Johnston2017-03-221-0/+3
| | | | | | | X-MFC With: r315728 Notes: svn path=/head/; revision=315729
* Avoid accessing an uninitialized variable when vfork() fails.Mark Johnston2017-03-221-9/+9
| | | | | | | | | Reported by: Miles Ohlrich <miles.ohlrich@isilon.com> MFC after: 1 week Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=315728
* Increase WARNS for libproc testsAlan Somers2017-03-111-0/+1
| | | | | | | | | | | | ATF tests have a default WARNS of 0, unlike other usermode programs. Reviewed by: ngie, julian MFC after: 3 weeks Sponsored by: Spectra Logic Corporation Differential Revision: https://reviews.freebsd.org/D9933 Notes: svn path=/head/; revision=315038
* Use SRCTOP-relative paths to other directories instead of .CURDIR-relative onesEnji Cooper2017-01-201-3/+3
| | | | | | | | | | This implifies pathing in make/displayed output MFC after: 3 weeks Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=312488
* Add a reasonable bound on the symbol table index size.Mark Johnston2017-01-051-2/+4
| | | | Notes: svn path=/head/; revision=311348
* Bump the libproc library version.Mark Johnston2016-12-061-1/+1
| | | | Notes: svn path=/head/; revision=309598
* libproc: Add support for some proc_attach() flags.Mark Johnston2016-12-063-22/+36
| | | | | | | | | | This change adds some handling for the equivalent of Solaris' PGRAB_* flags. In particular, support for PGRAB_RDONLY is needed to avoid a nasty deadlock: dtrace(1) may otherwise stop the master process for its pseudo-terminal and end up blocking while writing to standard output. Notes: svn path=/head/; revision=309597
* libproc: Cache symbol tables for mapped objects upon access.Mark Johnston2016-12-063-167/+160
| | | | | | | | | | | Extend the file handle cache entries to include symbol tables as well. An index is used to implement binary search by symbol value. Lookups by name are comparatively rare and are thus still implemented with a linear search, but support for a binary search by name would be straightforward to add if needed. Notes: svn path=/head/; revision=309596
* libproc: Match prefixes when looking up mapped object by name.Mark Johnston2016-12-063-56/+33
| | | | | | | | | | | | | | | | | When looking up an object by name, allow prefix matches if no direct match is found. This allows one to, for example, match libc entry probes with: # dtrace -n 'pid$target:libc.so::entry' -c ./foo instead of requiring "libc.so.7" or a glob. Also remove proc_obj2map() as it currently just duplicates the functionality of proc_name2map(). It's supposed to take a Solaris link-map ID as a paramter, but support for this isn't implemented and isn't required to support DTrace's pid provider. Notes: svn path=/head/; revision=309595
* libproc: Cache ELF handles for loaded objects.Mark Johnston2016-12-065-219/+231
| | | | | | | | | | libproc previously created a new handle for each symbol lookup, which gives rather egregious performance for DTrace's ustack() action. With this change libproc will cache the libelf descriptor upon access, making lookups much faster in the common case. Notes: svn path=/head/; revision=309594
* libproc: Improve .gnu_debuglink support.Mark Johnston2016-12-064-54/+277
| | | | | | | | | | | | | | As of r278658 libproc looks for debug files under /usr/lib/debug and will use them if available. This change fleshes out that support a bit further: - Check for a .gnu_debuglink section and use the file name specified there if one is present. - Validate external debug files with the CRC in the .gnu_debuglink section so as to avoid using stale or corrupt debug files. - Search for debug files in the directory containing the referencing object or in the .debug subdirectory, as GDB does. Notes: svn path=/head/; revision=309593
* libproc: Make proc_getpid() an accessor for struct proc_handle.Mark Johnston2016-12-065-25/+23
| | | | | | | | | This allows librtld_db to fetch the PID from a handle without calling into libproc. Together with r303531, this means that librtld_db no longer references symbols from libproc. Notes: svn path=/head/; revision=309592
* Fix style bugs and remove trailing whitespace in libproc and librtld_db.Mark Johnston2016-12-067-98/+110
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=309591
* Use uint32_t instead of u_long as a storage for breakpoint instructionRuslan Bukin2016-10-261-9/+19
| | | | | | | | | | | | | | | to copy. All the platforms breakpoints fits this fine. This fixes operation on big-endian MIPS64 where we were coping zeroes instead of real instruction. Reviewed by: rpaulo Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D8250 Notes: svn path=/head/; revision=307964
* DIRDEPS_BUILD: Update dependencies.Bryan Drewery2016-08-312-0/+3
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=305146
* proc_init: Fix a few memory leaks of 'phdl'Conrad Meyer2016-08-021-5/+5
| | | | | | | | | | | | | | | | In the normal case and correct failure cases, the 'phdl' pointer is passed to callers to use or clean up as needed. However, some failure cases returned early, failing to export the phdl pointer. This was introduced in the restructuring of r303533. Reported by: Coverity CID: 1361070 Reviewed by: markj Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=303669
* libproc: Add proc_getmodel().Mark Johnston2016-07-306-43/+108
| | | | | | | | | | | This is used by libdtrace to determine the data model of target processes. This allows for the creation of pid provider probes in 32-bit processes on amd64. MFC after: 1 month Notes: svn path=/head/; revision=303533
* Add descriptions for fields in struct proc_handle.Mark Johnston2016-07-301-9/+6
| | | | | | | | | Remove the unused kq field and some unnecessary includes. MFC after: 1 month Notes: svn path=/head/; revision=303532
* Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installedEnji Cooper2016-05-041-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | after r298107 Summary of changes: - Replace all instances of FILES/TESTS with ${PACKAGE}FILES. This ensures that namespacing is kept with FILES appropriately, and that this shouldn't need to be repeated if the namespace changes -- only the definition of PACKAGE needs to be changed - Allow PACKAGE to be overridden by callers instead of forcing it to always be `tests`. In the event we get to the point where things can be split up enough in the base system, it would make more sense to group the tests with the blocks they're a part of, e.g. byacc with byacc-tests, etc - Remove PACKAGE definitions where possible, i.e. where FILES wasn't used previously. - Remove unnecessary TESTSPACKAGE definitions; this has been elided into bsd.tests.mk - Remove unnecessary BINDIRs used previously with ${PACKAGE}FILES; ${PACKAGE}FILESDIR is now automatically defined in bsd.test.mk. - Fix installation of files under data/ subdirectories in lib/libc/tests/hash and lib/libc/tests/net/getaddrinfo - Remove unnecessary .include <bsd.own.mk>s (some opportunistic cleanup) Document the proposed changes in share/examples/tests/tests/... via examples so it's clear that ${PACKAGES}FILES is the suggested way forward in terms of replacing FILES. share/mk/bsd.README didn't seem like the appropriate method of communicating that info. MFC after: never probably X-MFC with: r298107 PR: 209114 Relnotes: yes Tested with: buildworld, installworld, checkworld; buildworld, packageworld Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=299094
* MFHGlen Barber2016-03-101-0/+26
|\ | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=296625
| * DIRDEPS_BUILD: Connect MK_TESTS.Bryan Drewery2016-03-091-0/+26
| | | | | | | | | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296587
* | MFHGlen Barber2016-03-022-2/+3
|\| | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=296318
| * Remove WARNS inherited fine by ../Makefile.inc.Bryan Drewery2016-02-262-2/+3
| | | | | | | | | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296129
* | First pass through library packaging.Glen Barber2016-02-041-0/+1
| | | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295278
* | First pass to fix the 'tests' packages.Glen Barber2016-02-021-0/+4
|/ | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295171
* Add support for RISC-V ISA.Ruslan Bukin2016-01-242-0/+11
| | | | | | | | | | Reviewed by: andrew Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D5040 Notes: svn path=/head/; revision=294662
* Fix LDADD/DPADD that should be LIBADD.Bryan Drewery2015-12-041-2/+1
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291738
* META MODE: Rework circular dependency guard for librtld_db/libproc.Bryan Drewery2015-11-252-3/+1
| | | | | | | | | | | | librtld_db only needs libutil.h to build, not the libproc library. So it can safely use its header and allow libproc to depend on librtld_rb to be built first to link. This is required after fixing ld --sysroot in r291226. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291313
* META MODE: Prefer INSTALL=tools/install.sh to lessen the need for xinstall.host.Bryan Drewery2015-11-251-1/+0
| | | | | | | | | | | This both avoids some dependencies on xinstall.host and allows bootstrapping on older releases to work due to lack of at least 'install -l' support. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291307
* Refactor the test/ Makefiles after recent changes to bsd.test.mk (r289158) andEnji Cooper2015-10-121-3/+0
| | | | | | | | | | | | | | | netbsd-tests.test.mk (r289151) - Eliminate explicit OBJTOP/SRCTOP setting - Convert all ad hoc NetBSD test integration over to netbsd-tests.test.mk - Remove unnecessary TESTSDIR setting - Use SRCTOP where possible for clarity MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Divison Notes: svn path=/head/; revision=289172
* Enable libproc symbol_lookup tests on arm64Ed Maste2015-08-311-9/+0
| | | | | | | | | | | This reverts part of r286863, as the kernel support required by these tests was added in r287105. PR: 202305 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=287333
* Fix libproc on architectures that don't need the program counter to beAndrew Turner2015-08-241-1/+10
| | | | | | | | | | | | | adjusted. This seems to be the case on all non-x86 architectures libproc supports. Reviewed by: kib Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3465 Notes: svn path=/head/; revision=287106
* On arm64 disable three tests that hang or panicEd Maste2015-08-171-0/+9
| | | | | | | | | | | | | Each issue has a PR open to track. This workaround allows us to run the tests to investigate the failures and avoid any new regressions. PR: 202304, 202305, 202307 Reviewed by: ngie Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3378 Notes: svn path=/head/; revision=286863
* Make libproc compilable on AArch64.Ruslan Bukin2015-07-012-12/+26
| | | | Notes: svn path=/head/; revision=285003
* Add META_MODE support.Simon J. Gerraty2015-06-132-0/+26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree. Still need to add real targets under targets/ to build packages. Differential Revision: D2796 Reviewed by: brooks imp Notes: svn path=/head/; revision=284345
| * dirdeps.mk now sets DEP_RELDIRSimon J. Gerraty2015-06-081-2/+0
| | | | | | | | Notes: svn path=/projects/bmake/; revision=284172
| * Merge sync of headSimon J. Gerraty2015-05-276-17/+89
| |\ | |/ |/| | | Notes: svn path=/projects/bmake/; revision=283595
| * Merge from head@274682Simon J. Gerraty2014-11-1912-363/+608
| |\ | | | | | | | | | Notes: svn path=/projects/bmake/; revision=274683
| * \ Merge head from 7/28Simon J. Gerraty2014-08-192-18/+21
| |\ \ | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=270164
| * | | Updated dependenciesSimon J. Gerraty2014-05-161-1/+1
| | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=266219
| * | | Updated dependenciesSimon J. Gerraty2014-05-101-0/+2
| | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265802
| * | | Merge from headSimon J. Gerraty2014-05-088-44/+94
| |\ \ \ | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265720
| * | | | New/updated dependenciesSimon J. Gerraty2014-05-051-0/+1
| | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265381