Commit Graph

52 Commits

Author SHA1 Message Date
pmcgleenon
0401446561 Fixed issue with gettid() not available with glibc < 2.30.
In that case use the syscall interface directly

https://stackoverflow.com/questions/30680550/c-gettid-was-not-declared-in-this-scope
2020-10-09 12:42:55 +01:00
Bernhard Schuster
f7b60a68d3
fix/compile: does not compile under fedora 31, extern + static definitions of gettid() 2020-04-09 10:32:35 +02:00
root
2d140cce6d REQUIRE fixed_line to be found.
If we are given a particular line to run an experiment on; not finding that line should be FATAL.
2019-11-06 22:51:09 +00:00
Charlie Curtsinger
9e2a26a632 Generate libelfin cflags with pkg-config 2019-10-15 08:47:54 -05:00
Charlie Curtsinger
06fa6d986b Use pkg-config to link in libelfin. 2019-10-15 08:45:13 -05:00
tetzank
0226150f3b use own gettid() only for older glibc versions
gettid() is provided in glibc since version 2.30. Detect the glibc version
with a macro and only define our own gettid() when glibc version < 2.30.
2019-10-13 22:40:00 +02:00
Charlie Curtsinger
9cbccbc911 Fix a compiler warning 2019-10-08 09:57:00 -05:00
Charlie Curtsinger
52505ca380 Clearer error message for perf mmap failure 2019-10-08 09:56:51 -05:00
Charlie Curtsinger
e71b89b024 Adjust file base address with offset from /proc/self/maps 2019-10-08 09:04:24 -05:00
Charlie Curtsinger
d6036f12e1 No more SA_ONSTACK 2019-10-08 08:46:23 -05:00
Charlie Curtsinger
844e2184c6
Revert "Efficient processing of lineTable. Only units in source scope are pro…" 2019-10-07 17:07:13 -04:00
Tobias Hunger
f4faaed32a Do not resolve the decl_file value from other DIEs
The other DIEs might be part of another compilation unit, so the
index into the line_table taken from those DIEs might cause an
std::out_of_range exception when used on our line_table.
2019-09-28 22:36:31 +02:00
Charlie Curtsinger
3e2f144b30 Makefile cleanup 2019-08-18 16:28:54 -05:00
Charlie Curtsinger
9b0cc348c6 Squash spurious warnings about noreturn functions from g++ 2019-08-18 13:26:36 -05:00
Charlie Curtsinger
cf74c3057e libelfin libraries were missing 2019-08-18 13:18:54 -05:00
Charlie Curtsinger
6b3ea268b1 Dropped internal dependency on libelfin. Updated build instructions with build dependencies. 2019-08-18 12:23:30 -05:00
Charlie Curtsinger
b20e910c4c
Merge pull request #96 from behnampn/fix_dwarf
Efficient processing of lineTable. Only units in source scope are pro…
2018-03-25 11:31:47 -05:00
behnam
cd2e1d2ec7 Efficient processing of lineTable. Only units in source scope are processed line by line. Improving performance for large codes. 2018-01-10 17:08:43 -08:00
behnam
2726c4b0e7 no immidiate return in find_line. line matching and line finding are merged. 2018-01-10 16:13:02 -08:00
Charlie Curtsinger
f38f22e868 Make check now uses coz instead of linking directly with libcoz 2016-12-08 16:42:09 -06:00
Charlie Curtsinger
32bc55ac8e Dropped verbose output when creating threads 2016-12-07 16:43:19 -06:00
Charlie Curtsinger
f1e5321b05 Missed a reference to C++11. Fixes #73 2016-11-22 18:50:20 -06:00
Charlie Curtsinger
3470416c67 Pulled ccutil into libcoz. Refs #48 2016-11-22 18:47:24 -06:00
Charlie Curtsinger
61bb4824d4 Error out when there is no debugging information for in-scope executables. Fixes #69 2016-11-22 18:35:53 -06:00
Lluís Vilanova
49c4deccf0 perf: Be more informative about errors with perf's permissions 2016-11-18 15:05:32 +01:00
Charlie Curtsinger
424302feab Marked a couple internal functions as static. Remaining functions must be visible. Fixes #76. 2016-11-15 11:16:19 -06:00
Charlie Curtsinger
31f470c64f Removed unused rt_tgsigqueueinfo wrapper. Fixes #82 2016-11-15 11:07:53 -06:00
Emery Berger
4ceb44a831 Merge pull request #75 from petterreinholdtsen/pthread-create-init
Do not crash when pthread_create() is called before main()
2016-10-11 13:20:51 -04:00
Charlie Curtsinger
8388195f4b Somehow these changes were lost. Related to #53 and #58. 2016-08-15 11:15:03 -05:00
Petter Reinholdtsen
b6c844c6ec Add simple check target.
This will test the coz library and make sure it is linkable and
the resulting binary is runnable.

This test detects a problem with GCC 6 when combined with clang that
is missing with 4.9.
2016-08-15 14:14:08 +02:00
Petter Reinholdtsen
9d1a28447f Do not crash when pthread_create() is called before main()
Make sure to initialize coz if pthread_create() is called before main().
This happend with openalpr when a shared library initialized a thread
in the library initialization code.

Fixes issue #54
2016-08-14 22:08:30 +02:00
Petter Reinholdtsen
9c34d16c2f Port code to build using GCC.
GCC 6 complains with "sorry, unimplemented: non-trivial designated
initializers not supported/" for the original struct initializers.
Rewrite code to clear structs and assign individual members instead.

The designated initializers feature is only part of standard C, not
(at least not yet) part of standard C++.
2016-08-11 13:56:40 +02:00
Charlie Curtsinger
5cd402164b Updated licenses and copyright notices in source files. Fixes #51 2016-08-09 21:13:30 -05:00
Charlie Curtsinger
6701430b7e Use ifdef guards to support older libc <4.6.3. Fixes #16 2016-07-14 11:24:41 -05:00
Charlie Curtsinger
e33f58d531 Merge pull request #50 from petterreinholdtsen/install-target
Implement 'make install DESTDIR=target'.
2016-07-14 11:06:37 -05:00
Petter Reinholdtsen
781409b49e Implement 'make install DESTDIR=target'. 2016-07-11 05:08:50 +00:00
Petter Reinholdtsen
b86b9a6958 Include path of link when unable to read symlink. 2016-07-10 20:42:46 +02:00
Charlie Curtsinger
ac9f6c7420 Fixing race condition in real.cpp. Fixes #29 2016-04-06 14:30:32 -05:00
Charlie Curtsinger
810c9eea96 Small bug broke fixed-line experiments 2016-03-21 13:30:54 -05:00
Michael McConville
6202fe7f39 Use ptrdiff_t for memory offset
The type of copy_from_ring_buffer's index argument was inconsistent
between the function's prototype and definition. Emery suggested using
ptrdiff_t rather than size_t, as index represents a memory offset rather
than a size.

We need to include cstddef for ptrdiff_t, so I added that as well.
2016-01-06 19:53:19 -05:00
Michael McConville
114f645b1f Sync types of copy_from_ring_buffer and its prototype
The prototype declares index as a size_t while the definition declares
it as a uint64_t. If I understand correctly, it's used a memory offset,
so size_t seems preferable.

This causes a build failure with Clang 3.4 on Ubuntu 14.04.3 LTS.
2016-01-06 15:23:17 -05:00
Emery Berger
665d323212 causal -> coz. 2015-10-26 10:09:27 -05:00
Charlie Curtsinger
95128f89f5 Restored end-to-end mode. That was simpler than expected. 2015-10-26 10:09:27 -05:00
Charlie Curtsinger
d4e57a8f5f Cleanup 2015-10-12 21:41:31 -04:00
Charlie Curtsinger
336a423856 Switched from delay counts to delay times 2015-10-12 21:10:19 -04:00
Charlie Curtsinger
1f0eba173a Dropped sample-only option because there was no way to process the results. 2015-10-11 21:59:01 -04:00
Charlie Curtsinger
841a22bfdf Whoops, subtracting in the wrong order. Changed log output slightly to match new plotting code. 2015-10-11 20:40:49 -05:00
Charlie Curtsinger
8424a76693 Naming consistency 2015-10-11 21:19:32 -04:00
Charlie Curtsinger
b4cee6d397 Cleaned up progress points for throughput and latency. Named progress point support. 2015-10-11 21:12:05 -04:00
emeryberger
44f6e90764 Changed to fix inode overflow. 2015-10-09 22:03:48 -04:00