Skip to content

Commit dd7e028

Browse files
committed
docs: explain changes of --skip-plt
1 parent 6dab839 commit dd7e028

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

CODSPEED-CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,17 @@ This file documents changes made to Valgrind for CodSpeed integration, beyond th
44

55
## Features
66

7+
### Skip `.plt.sec` in `--skip-plt`
8+
9+
**Feature**: Added support for skipping `.plt.sec` sections when using the `--skip-plt` option.
10+
11+
**Motivation**: The `.plt.sec` section is a specialized variant of the Procedure Linkage Table (PLT) used in systems with Intel Control-flow Enforcement Technology (CET). When profiling applications using libraries compiled with it (e.g. libpython), symbols in `.plt.sec` were not skipped by the `--skip-plt` option, causing unresolved addresses to appear in profiling data (e.g., `_PySequence_Tuple` at 0x48ce4a0). Both `.plt` and `.plt.sec` sections contain only jumps to the actual function implementations, and do not have any symbols associated with those wrapper functions.
12+
13+
**How it works**:
14+
- Extends the existing PLT-skipping logic to also recognize and skip `.plt.sec` sections
15+
- Whenever we see a function inside the `.plt.sec` section, skip it
16+
17+
**Usage**: Enable `--skip-plt=yes` and both `.plt` and `.plt.sec` will be skipped.
718

819
### Callgrind: Inline Function Tracking
920

0 commit comments

Comments
 (0)