-
Notifications
You must be signed in to change notification settings - Fork 2
/
Changelog
114 lines (91 loc) · 4.28 KB
/
Changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
version 2.2.2 (2023-08-14)
- workaround pmc offset values
- Updated dependencies
version 2.2.1 (2023-07-05)
- Updated dependencies
version 2.2.0 (2023-07-03)
- FEATURE: add ms_get_timer (lib) and .timer (getter in TS) to see which
timer has been used. Will also write that into the JSON (.stats.timer)
- Bugfix: (Segfaults) The last change caused essentially only RDTSCP to be
used. Now the assembly to get SYS_perf_event_open should be correct as
well as the assembly to `rdpmc`. Some reasons were that, when specifying
e.g. 'rax' in inline asm, cc only saw the 'r' and moved the value into
"some" register. This probbaly also caused the stack smashing in earlier
versions.
- Updated dependencies
version 2.1.2 (2023-06-30)
- fix build errors
- fix segfault caused by incorrect syscall in timer.c
- adding `destroy` method to cleanly free/unmap data
- fixed printer prefixes and line breaks (in case the check fails)
version 2.1.1 (2023-06-29)
- fix package-lock.json file
- code quality: replace forbidden assertion with actual assertion
version 2.1.0 (2023-06-29)
- lib: Bug worked around, which caused stack smashing. I don't know why this is
happening, but it turns out that if `get_fdperf` is inlined, the syscall
overwrites the canary. If we prevent inlining, this issue does not
appear. Also added some more attributes like size to the attr.
- ms: Checking if there is a symbol, when specifying `.so`s
- msc: Feature: new wrapper script around `./ms`. Give this script a
couple filenames and it will report how fast all others are compared
to a baseline.
- Fixed a invalid extension check:
Instead of checking, whether the filename ends with .o,
the code was only checking if .o is in the filename.
- Minor: clarified help text in ms-binary
- Updated Typescript Dependencies
- Fixed issue when `pkg-config` is not installed
- Makefile, added missing `-ldl` to the link step for `ms`. This caused
issues on older systems (How did that work without?)
- Makefile removed duplicated 'check' target
- Makefile added 'DEBUG' variable. To use debug mode, use
`make DEBUG=1 -B`, which will define `ENABLE_DEBUG` and `-g` for debug
symbols.
- Reworked printing if the check fails.
Will now always print the hex, and binary if compiled with debug
version 2.0.1 (2023-01-19)
- Fixed a bug causing out-of-memory after repeated calls to 'measure'
from the typescript wrapper
- API: added the unload_{all,last} function to the native module
version 2.0.0 (2023-01-11)
- BREAKING CHANGES (API changed)
- MS can now load elf (*.o) files (specific symbol or 'just the first one')
- MS can now load bin files (raw machine code)
- MS can now measure an arbitrary number of functions of arbitrary type
the default was: "one Shared Object and two ASMs"
now one can load a colorful mix of ELFs / BINs / ASMs shared_objects
- MS no longer measures 'ac-bc-ac-ac-bc'. Instead, all loaded functions are
executed exactly once, but in a random permutation (abc-bca-abc-cba-cab).
- MS no longer needs to have three functions calculating the same.
In fact, equality check is optional.
- Directory separation of libmeasuresuite and ts-binding to make forking
and reuse easier
- Auto-detect AssemblyLine. Compile without it, if not available.
(disable with make AL=0 -C lib)
- removed uiCA wrapper, as now considered out of scope
- introducing cli-tool ms
- npm package release
version 1.3.0 (2022-09-11)
- now supports up to 6 arguments. i.e. 2 out's and 4 in's. Before, it was
limited to 3 each
version 1.2.3 (2022-08-17)
- Bug fixed, which caused assemblyline.h to still be necessary although
`-DNO_AL` was passed
version 1.2.2 (2022-08-16)
- Chore, tests address sanitized
version 1.2.1 (2022-08-16)
- remove const specifier when getting the cycles
version 1.2.0 (2022-08-16)
- new feature to compile measuresuite with the NO_AL flag, to not use
assemblyline. Build with `make NO_AL=1` and use `ms_measure_lib_only` over
`ms_measure`
- fix a bug in ms_measure_lib_only, where the recursive call would measure
asm-code, too
version 1.1.0 (2022-08-02)
- new feature to ms_measure_lib_only and return an array of cycle measurements.
version 1.0.1 (2022-08-02)
- Replace Jest with vite
- bundle as ESM
version 1.0.0 (2022-07-21)
- initial release