On Mon, Jan 28, 2019 at 2:24 AM Tom de Vries <tdevr...@suse.de> wrote: > > [ was: Re: [libbacktrace] Fix and simplify xcoff_%.c pattern rule ] > > On 28-01-19 10:25, Tom de Vries wrote: > > [ was: Re: [backtrace] Avoid segfault ] > > On 27-01-19 22:53, Ian Lance Taylor wrote: > >> On Sun, Jan 27, 2019 at 1:16 PM Tom de Vries <tdevr...@suse.de> wrote: > >>> > >>> On 25-01-19 18:15, Nathan Sidwell wrote: > >>>> On 1/25/19 5:28 AM, Tom de Vries wrote: > >>>>> > >>>>> This patch fixes it by passing "" instead of NULL, in the call to > >>>>> elf_add at line 3083 (for .gnu_debugaltlink), not the call to elf_add at > >>>>> line 3044 (for .gnu_debuglink) mentioned above. > >>>>> > >>>>> Nathan, does this fix the problem for you? If not, can you provide a > >>>>> reproducer, or give a hint on how one could be constructed? > >>>> > >>>> I still hit the problem, and am installing this as sufficiently obvious. > >>>> I'm on a fedora system debugging pr88995. The debuglink_name is > >>>> "../../.dwz/isl-0.16.1-7.fc29.x86_64" > >>>> > >>> > >>> I've managed to reproduce this segfault instance by adding a test-case > >>> that uses both build-id and dwz. > >>> > >>> OK for trunk? > >> > >>> +elf_for_test.c: elf.c > >>> + PWD=$$(pwd -P); \ > >>> + BUILD_ID_DIR="usr/lib/debug/.build-id/"; \ > >>> + SEARCH='#define SYSTEM_BUILD_ID_DIR'; \ > >>> + REPLACE="#define SYSTEM_BUILD_ID_DIR \"$$PWD/$$BUILD_ID_DIR\""; \ > >>> + $(SED) "s%^$$SEARCH.*\$$%$$REPLACE%" \ > >>> + $< \ > >>> + > $@ > >> > >> You need to use a temporary file, such as $@.tmp, for the final sed > >> command, followed by a mv to $@. Otherwise a failure in the sed will > >> leave what appears to be an up to date file. > > > > I noticed the same problem in the xcoff_%.c pattern rule. > > > > And looking over the rule again, I wondered if it would be more readable > if split off into a separate script file. > > Is this follow-up patch OK for trunk?
I guess for this case I think it's OK to keep the lines in the Makefile. Ian