Re: [PATCH v2] Add frame pointer unwinding for aarch64

2017-04-25 Thread Ulf Hermann
On 04/24/2017 04:53 PM, Mark Wielaard wrote: > I got these separately. I assume they are as in the email you sent on > Mon, 10 Apr 2017 14:48:06 +0200 (which didn't hit the list because it > had the binaries attached...) Yes. Those are the right binaries. > This description doesn't seem to match

Re: frame unwinding patches

2017-04-25 Thread Mark Wielaard
On Thu, 2017-04-20 at 11:26 +0200, Ulf Hermann wrote: > The x86_64 case already works with the test case I sent. Maybe we can > accept that one before the others. The aarch64 case almost works, but > seems to generally duplicate the first entry it unwinds by frame > pointer after unwinding anything

[PATCH 4/5] Add i386 frame pointer unwinder.

2017-04-25 Thread Mark Wielaard
Add a simple i386_unwind.c frame pointer unwinder as fallback if DWARF/CFI unwinding fails. Signed-off-by: Mark Wielaard --- backends/ChangeLog | 6 +++ backends/Makefile.am| 2 +- backends/i386_init.c| 3 +- backends/i386_unwind.c

[PATCH 1/5] Revert "Optionally allow unknown symbols in the backtrace tests"

2017-04-25 Thread Mark Wielaard
This reverts commit f9971cb422df39adea7e8c7e22689b879e39c626. Allowing no symbol resolving at all makes it too hard to see whether the test actually tests anything. But do keep "address out of range" as allowed error in check_err. This can be interpreted as DWARF not available (if end of callstac

[PATCH 3/5] Add frame pointer unwinding as fallback on x86_64

2017-04-25 Thread Mark Wielaard
From: Ulf Hermann If we don't find any debug information for a given frame, we usually cannot unwind any further. However, the binary in question might have been compiled with frame pointers, in which case we can look up the well known frame pointer locations in the stack snapshot and use them to

[PATCH 2/5] tests: Add core backtracegen chec and regenerate ppc32 backtrace test files.

2017-04-25 Thread Mark Wielaard
Add a check to check_core to make sure the backtracegen function is found in the backtrace. This function is in the middle of the backtrace in the main executable and if not found it means the backtrace was incomplete or the frame was skipped (which could happen on a bad frame pointer only unwind).

Re: [PATCH 1/5] Revert "Optionally allow unknown symbols in the backtrace tests"

2017-04-25 Thread Ulf Hermann
On 04/25/2017 02:49 PM, Mark Wielaard wrote: > This reverts commit f9971cb422df39adea7e8c7e22689b879e39c626. > > Allowing no symbol resolving at all makes it too hard to see > whether the test actually tests anything. > [...] Looks good to me. Ulf

Re: [PATCH 2/5] tests: Add core backtracegen chec and regenerate ppc32 backtrace test files.

2017-04-25 Thread Ulf Hermann
On 04/25/2017 02:49 PM, Mark Wielaard wrote: > Add a check to check_core to make sure the backtracegen function is > found in the backtrace. This function is in the middle of the backtrace > in the main executable and if not found it means the backtrace was > incomplete or the frame was skipped (wh

Re: [PATCH 3/5] Add frame pointer unwinding as fallback on x86_64

2017-04-25 Thread Ulf Hermann
On 04/25/2017 02:49 PM, Mark Wielaard wrote: > From: Ulf Hermann > > If we don't find any debug information for a given frame, we usually > cannot unwind any further. However, the binary in question might have > been compiled with frame pointers, in which case we can look up the > well known fram

[PATCH 5/5] Add frame pointer unwinding for aarch64

2017-04-25 Thread Mark Wielaard
From: Ulf Hermann If we don't find any debug information for a given frame, we usually cannot unwind any further. However, the binary in question might have been compiled with frame pointers, in which case we can look up the well known frame pointer locations in the stack snapshot and use them to

Re: [PATCH 4/5] Add i386 frame pointer unwinder.

2017-04-25 Thread Ulf Hermann
On 04/25/2017 02:49 PM, Mark Wielaard wrote: > Add a simple i386_unwind.c frame pointer unwinder as fallback if DWARF/CFI > unwinding fails. Looks good to me. The logic could be relaxed a bit so that failure to e.g. write the new value for sp would not be fatal. Then we might be able to unwind e

Re: [PATCH 5/5] Add frame pointer unwinding for aarch64

2017-04-25 Thread Ulf Hermann
On 04/25/2017 02:49 PM, Mark Wielaard wrote: > From: Ulf Hermann > > If we don't find any debug information for a given frame, we usually > cannot unwind any further. However, the binary in question might have > been compiled with frame pointers, in which case we can look up the > well known fram

Re: [PATCH 5/5] Add frame pointer unwinding for aarch64

2017-04-25 Thread Mark Wielaard
On Tue, 2017-04-25 at 14:49 +0200, Mark Wielaard wrote: > +bool > +EBLHOOK(unwind) (Ebl *ebl __attribute__ ((unused)), Dwarf_Addr pc > __attribute__ ((unused)), > + ebl_tid_registers_t *setfunc, ebl_tid_registers_get_t > *getfunc, > + ebl_pid_memory_read_t *readfun

Re: [PATCH 5/5] Add frame pointer unwinding for aarch64

2017-04-25 Thread Ulf Hermann
> My question is about this "initial frame". In our testcase we don't have > this case since the backtrace starts in a function that has some CFI. > But I assume you have some tests that rely on this behavior. Actually the test I provided does exercise this code. The initial __libc_do_syscall() f

Re: [PATCH v2] Include sys/types.h before fts.h

2017-04-25 Thread Mark Wielaard
On Thu, Apr 20, 2017 at 04:45:51PM +0200, Ulf Hermann wrote: > The bad fts not only needs to be included before config.h, but also > requires various special types without including sys/types.h. > > Change-Id: I31ac8d2aadcf7ffb3efb63583b2745991bfd6f90 > Signed-off-by: Ulf Hermann Thanks pushed t

Re: [PATCH] Clean up linux-specific system includes

2017-04-25 Thread Mark Wielaard
On Thu, Apr 20, 2017 at 03:37:04PM +0200, Ulf Hermann wrote: > We only include them where we actually need them and only on linux. Looks correct. Quickly tested on Fedora and RHEL x86_64. But I believe the other arches are correct too. Pushed to master. Thanks, Mark

Re: [PATCH] Don't use comparison_fn_t

2017-04-25 Thread Mark Wielaard
On Thu, Apr 20, 2017 at 03:40:46PM +0200, Ulf Hermann wrote: > Not all search.h declare it, and it is not very helpful anyway. Well, it is less typing and it kept the lines under 80 chars. But because there were other longer lines already I just kept it. Pushed to master. Thanks, Mark

Re: [PATCH] Avoid YESSTR and NOSTR

2017-04-25 Thread Mark Wielaard
On Thu, Apr 20, 2017 at 03:47:49PM +0200, Ulf Hermann wrote: > Those are deprecated and apparently some implementations of nl_langinfo > return empty strings for them. The tests even tested for those empty > strings even though the intention of the code was clearly to output > "yes" or "no" there.