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

Reply via email to