File: find-debuginfo.1

package info (click to toggle)
debugedit 1%3A5.3-3
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 1,408 kB
  • sloc: sh: 12,042; ansic: 5,032; makefile: 115
file content (103 lines) | stat: -rw-r--r-- 5,043 bytes parent folder | download
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
.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.49.3.
.TH FIND-DEBUGINFO "1" "March 2026" "find-debuginfo 5.3" "User Commands"
.SH NAME
find-debuginfo \- finds debuginfo and processes it
.SH SYNOPSIS
.B find-debuginfo
[\fI\,OPTION\/\fR]... [\fI\,builddir\/\fR]
.SH DESCRIPTION
automagically generates debug info and file lists
.SH OPTIONS
[\-\-strict\-build\-id] [\-g] [\-r] [\-m] [\-i] [\-n] [\-q] [\-v]
[\-\-keep\-section SECTION] [\-\-remove\-section SECTION]
[\-\-g\-libs] [\-\-no\-ar\-files]
[\-j N] [\-\-jobs N]
[\-o debugfiles.list]
[\-S debugsourcefiles.list]
[\-O PATH] [\-\-output\-dir PATH]
[\-\-run\-dwz] [\-\-dwz\-low\-mem\-die\-limit N]
[\-\-dwz\-max\-die\-limit N]
[\-\-dwz\-single\-file\-mode]
[\-\-build\-id\-seed SEED]
[\-\-unique\-debug\-suffix SUFFIX]
[\-\-unique\-debug\-src\-base BASE]
[[\-l filelist]... [\-p 'pattern'] \fB\-o\fR debuginfo.list]
[\-\-check\-elf] [\-\-check\-elf\-strict]
[builddir]
.PP
The \fB\-g\fR flag says to use strip \fB\-g\fR instead of full strip on DSOs or EXEs.
The \fB\-\-g\-libs\fR flag says to use strip \fB\-g\fR instead of full strip ONLY on
DSOs.  Options \fB\-g\fR and \fB\-\-g\-libs\fR are mutually exclusive.
.PP
The \fB\-r\fR flag says to use eu\-strip \fB\-\-reloc\-debug\-sections\fR.
.PP
Use \fB\-\-keep\-section\fR SECTION or \fB\-\-remove\-section\fR SECTION to explicitly
keep a (non\-allocated) section in the main executable or explicitly
remove it into the .debug file. SECTION is an extended wildcard
pattern.  Both options can be given more than once.
.PP
The \fB\-\-strict\-build\-id\fR flag says to exit with failure status if
any ELF binary processed fails to contain a build\-id note.
.PP
The \fB\-m\fR flag says to include a .gnu_debugdata section (MiniDebugInfo) in
the main binary.
.PP
The \fB\-i\fR flag says to include a .gdb_index section in the .debug file.
.PP
The \fB\-n\fR flag says to not recompute the build\-id.
.PP
The \fB\-j\fR, \fB\-\-jobs\fR N option will spawn N processes to do the debuginfo
extraction in parallel.
.PP
A single \fB\-o\fR switch before any \fB\-l\fR or \fB\-p\fR switches simply renames
the primary output file from debugfiles.list to something else.
A \fB\-o\fR switch that follows a \fB\-p\fR switch or some \fB\-l\fR switches produces
an additional output file with the debuginfo for the files in
the \fB\-l\fR filelist file, or whose names match the \fB\-p\fR pattern.
The \fB\-p\fR argument is an grep \fB\-E\fR \fB\-style\fR regexp matching the a file name,
and must not use anchors (^ or $).
.PP
The \fB\-O\fR or \fB\-\-output\-dir\fR PATH flag instructs find\-debuginfo to store all output
files in the PATH directory. If not given, all output files will be stored in
builddir.
.PP
The \fB\-\-run\-dwz\fR flag instructs find\-debuginfo to run the dwz utility
if available, and \fB\-\-dwz\-low\-mem\-die\-limit\fR and \fB\-\-dwz\-max\-die\-limit\fR
provide detailed limits.  See dwz(1) \fB\-l\fR and \fB\-L\fR option for details.
Use \fB\-\-dwz\-single\-file\-mode\fR to disable multi\-file mode, see dwz(1) \fB\-m\fR
for more details.
.PP
If \fB\-\-build\-id\-seed\fR SEED is given then debugedit is called to
update the build\-ids it finds adding the SEED as seed to recalculate
the build\-id hash.  This makes sure the build\-ids in the ELF files
are unique between versions and releases of the same package.
(Use \fB\-\-build\-id\-seed\fR "%{VERSION}\-%{RELEASE}".)
.PP
If \fB\-\-unique\-debug\-suffix\fR SUFFIX is given then the debug files created
for <FILE> will be named <FILE>\-<SUFFIX>.debug.  This makes sure .debug
are unique between package version, release and architecture.
(Use \fB\-\-unique\-debug\-suffix\fR "\-%{VERSION}\-%{RELEASE}.%{_arch}".)
.PP
If \fB\-\-unique\-debug\-src\-base\fR BASE is given then the source directory
will be called /usr/debug/src/<BASE>.  This makes sure the debug source
dirs are unique between package version, release and achitecture (Use
\fB\-\-unique\-debug\-src\-base\fR "%{name}\-%{VERSION}\-%{RELEASE}.%{_arch}")
.PP
If \fB\-\-no\-ar\-files\fR is given, then static libraries will be ignored.  Otherwise,
they receive only with source\-path rewriting and collection.  They are
not stripped, since they have no persistent build\-ids to accommodate
eventual reunification.
.PP
The \fB\-q\fR or \fB\-\-quiet\fR flag silences all non\-error output from the script.
The \fB\-v\fR or \fB\-\-verbose\fR flag add more output for all files processed.
When neither \fB\-q\fR or \fB\-v\fR is given then only output for each pass is given.
.PP
The \fB\-\-check\-elf\fR and \fB\-\-check\-elf\-strict\fR flags will run eu\-elflint \fB\-\-gnu\fR
on the ELF and AR files before and after processing the
files. Including on the generated separate .debug files. When
\fB\-\-check\-elf\-strict\fR is given then if eu\-elflint reports any errors
find\-debuginfo will exit with a failure status. With just \fB\-\-check\-elf\fR
given any eu\-elflint output will be logged but not change the exit
status.
.PP
All file names in switches are relative to builddir ('.' if not given).