]> code.ossystems Code Review - openembedded-core.git/commit
dwarfsrcfiles: Avoid races over debug-link files
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 6 Jul 2021 10:36:16 +0000 (11:36 +0100)
committerSteve Sakoman <steve@sakoman.com>
Sun, 11 Jul 2021 16:19:43 +0000 (06:19 -1000)
commit317e334518c6394ecba4a3fdd4ba18b185822d22
tree52bfd39fc04bd51bcfc6d920965f963410a77943
parent58fa175702f0cd8f00dc5e7938fb55108921d324
dwarfsrcfiles: Avoid races over debug-link files

We use dwarfsrcfiles in package.bbclass to list the source files used by a binary.
This is done before they're stripped and linked to debug symbols in separate files.

It is possible a binary may already have a link to separate debug symbols, e.g.
some of the test binaries in lttng-tools ptest. In those cases, the linked binary
may be changed by package.bbclass code whilst dwarfsrcfiles is reading it. That
would result in a rare SIGBUS race causing the binary to fail.

To avoid this, break the debug file search path so no other binaries are found.

Also fix a segfault if no binary is specified while here.

[YOCTO #14400]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit efef732859e265533acf16f2f4da3b29d50e0df4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/recipes-devtools/dwarfsrcfiles/files/dwarfsrcfiles.c