dwz command examples
dwz – DWARF optimization and duplicate removal tool
$ dwz -m .dwz/foobar-1.2.debug -rh \ bin/foo.debug bin/foo2.debug foo/lib/libbar.so.debug
will attempt to optimize debugging information in bin/foo.debug, bin/foo2.debug and lib/libbar.so.debug (by modifying the files in place) and when beneficial also will create .dwz/foobar-1.2.debug file. .gnu_debugaltlink section in the first two files will refer to ../.dwz/foobar-1.2.debug and in the last file to ../../.dwz/foobar-1.2.debug.
If e.g. bin/foo.debug and bin/foo2.debug were hardlinked together initially, they will be hardlinked again and for multifile optimizations considered just as a single file rather than two.
$ dwz -o foo.dwz foo
will not modify foo but instead store the ELF object with optimized debugging information if successful into foo.dwz file it creates.
$ dwz *.debug foo/*.debug
will attempt to optimize debugging information in *.debug and foo/*.debug files, optimizing each file individually in place.
$ dwz
is equivalent to dwz a.out command.