[PATCH 00/10] Unwinder interface consolidation

Florian Weimer fweimer@redhat.com
Wed Feb 17 16:02:33 GMT 2021


This series is basically a repost.  I had to tweak it somewhat to pick
up the <unwind-arch.h> customization for MIPS.  I switched to reusing
that header for all customization.

This is a prequiste for consolidating and libc and nptl implementations
of unwinding, and moving the cancellation implementation into libc.

Thanks,
Florian

Florian Weimer (10):
  Implement <unwind-link.h> for dynamically loading the libgcc_s
    unwinder
  backtrace: Implement on top of <unwind-link.h>
  arm: Implement backtrace on top of <unwind-link.h>
  i386: Implement backtrace on top of <unwind-link.h>
  m68k: Implement backtrace on top of <unwind-link.h>
  sparc: Implement backtrace on top <unwind-link.h>
  __frame_state_for: Use <unwind-link.h> for unwinder access
  Move sysdeps/gnu/unwind-resume.c to sysdeps/generic/unwind-resume.c
  Implement _Unwind_Resume in libc on top of <unwind-link.h>
  nptl: Use <unwind-link.h> for accessing the libgcc_s unwinder

 debug/backtrace.c                             |  86 +++--------
 malloc/set-freeres.c                          |   5 +
 misc/Makefile                                 |   2 +-
 misc/Versions                                 |   1 +
 misc/unwind-link.c                            | 145 ++++++++++++++++++
 nptl/nptlfreeres.c                            |   1 -
 nptl/pthreadP.h                               |   6 +-
 nptl/pthread_cancel.c                         |   3 +-
 sysdeps/alpha/unwind-arch.h                   |  28 ++++
 sysdeps/arm/arm-unwind-resume.S               |  26 ++--
 sysdeps/arm/backtrace.c                       |  77 +++-------
 sysdeps/arm/nptl/unwind-forcedunwind.c        |  25 +++
 sysdeps/arm/pt-arm-unwind-resume.S            |  22 ++-
 sysdeps/arm/unwind-arch.h                     |  39 +++++
 sysdeps/arm/unwind-resume.c                   |  25 +++
 sysdeps/generic/framestate.c                  |  21 +--
 sysdeps/generic/unwind-arch.h                 |  27 ++--
 sysdeps/generic/unwind-link.h                 | 106 +++++++++++++
 sysdeps/generic/unwind-resume.c               |  46 ++++++
 sysdeps/gnu/unwind-resume.c                   |  83 ----------
 sysdeps/i386/backtrace.c                      |  82 +++-------
 sysdeps/i386/unwind-arch.h                    |  39 +++++
 sysdeps/ia64/unwind-arch.h                    |  32 ++++
 sysdeps/m68k/backtrace.c                      |  82 +++-------
 sysdeps/m68k/m680x0/unwind-arch.h             |  26 ++++
 sysdeps/m68k/unwind-arch.h                    |  35 +++++
 sysdeps/mach/hurd/fork.c                      |   3 +
 .../{unix/sysv/linux => }/mips/unwind-arch.h  |  17 +-
 sysdeps/nptl/fork.c                           |   3 +
 sysdeps/nptl/unwind-forcedunwind.c            | 115 ++------------
 sysdeps/powerpc/powerpc32/unwind-arch.h       |  28 ++++
 sysdeps/s390/unwind-arch.h                    |  28 ++++
 sysdeps/sh/unwind-arch.h                      |  28 ++++
 sysdeps/sparc/backtrace.c                     |  66 ++------
 sysdeps/sparc/unwind-arch.h                   |  28 ++++
 .../sysv/linux/ia64/unwind-forcedunwind.c     |  16 +-
 36 files changed, 852 insertions(+), 550 deletions(-)
 create mode 100644 misc/unwind-link.c
 create mode 100644 sysdeps/alpha/unwind-arch.h
 create mode 100644 sysdeps/arm/nptl/unwind-forcedunwind.c
 create mode 100644 sysdeps/arm/unwind-arch.h
 create mode 100644 sysdeps/arm/unwind-resume.c
 create mode 100644 sysdeps/generic/unwind-link.h
 create mode 100644 sysdeps/generic/unwind-resume.c
 delete mode 100644 sysdeps/gnu/unwind-resume.c
 create mode 100644 sysdeps/i386/unwind-arch.h
 create mode 100644 sysdeps/ia64/unwind-arch.h
 create mode 100644 sysdeps/m68k/m680x0/unwind-arch.h
 create mode 100644 sysdeps/m68k/unwind-arch.h
 rename sysdeps/{unix/sysv/linux => }/mips/unwind-arch.h (85%)
 create mode 100644 sysdeps/powerpc/powerpc32/unwind-arch.h
 create mode 100644 sysdeps/s390/unwind-arch.h
 create mode 100644 sysdeps/sh/unwind-arch.h
 create mode 100644 sysdeps/sparc/unwind-arch.h

-- 
2.29.2



More information about the Libc-alpha mailing list