| Summary: | broken BEGIN, END probes | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | aspsk <aspsk> |
| Component: | bpftrace | Assignee: | Vitaly Chikunov <vt> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | vt |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
Спасибо, что разобрались в чем проблема. Подумаю как это лучше решить. Может есть варианты кроме как не стрипать. Можно оставить только эти два символа: strip --keep-symbol=BEGIN_trigger --keep-symbol=END_trigger ... Если это просто, конечно. В какой момент strip происходит? Это cmake делает при сборке или это альтовая сборочница стрипает? Опции в strip передать нельзя. Думаю, хватит %brp_strip_debug %_bindir/bpftrace Разница несколько мегабайт, на мой взгляд приемлема. Хочу еще обновить версию, что в общем-то просто. Но обнаружил проблему с libbpf с которой надо разобраться. (Ответ для aspsk на комментарий #2) > В какой момент strip происходит? Это cmake делает > при сборке или это альтовая сборочница стрипает? Это делает brp-debuginfo скрипт во время rpmbuild после %install. ps. Обновить хочу до v0.13.1. |
В опакеченом bpftrace не работают пробы BEGIN и END: $ sudo bpftrace -e 'BEGIN {}' Attaching 1 probe... ERROR: Could not resolve symbol: /proc/self/exe:BEGIN_trigger $ sudo bpftrace -e 'END {}' Attaching 1 probe... ^CERROR: Could not resolve symbol: /proc/self/exe:END_trigger Это происходит из-за того, что бинарник bpftrace пострипан: $ nm /usr/bin/bpftrace nm: /usr/bin/bpftrace: no symbols а bpftrace для реализации BEGIN и END трейсит свои же символы (см. https://github.com/iovisor/bpftrace/issues/954#issuecomment-573342522).