--- a/include/libunwind-ppc32.h
+++ b/include/libunwind-ppc32.h
-@@ -81,6 +81,88 @@ typedef int64_t unw_sword_t;
+@@ -40,6 +40,10 @@ extern "C" {
+ #include <stdint.h>
+ #include <ucontext.h>
+
++#ifndef __GLIBC__
++#include <bits/reg.h>
++#endif
++
+ #ifndef UNW_EMPTY_STRUCT
+ # define UNW_EMPTY_STRUCT uint8_t unused;
+ #endif
+@@ -81,6 +85,88 @@ typedef int64_t unw_sword_t;
typedef long double unw_tdep_fpreg_t;
UNW_PPC32_R0,
--- a/include/libunwind-ppc64.h
+++ b/include/libunwind-ppc64.h
-@@ -88,6 +88,88 @@ typedef struct {
+@@ -40,6 +40,10 @@ extern "C" {
+ #include <stdint.h>
+ #include <ucontext.h>
+
++#ifndef __GLIBC__
++#include <bits/reg.h>
++#endif
++
+ #ifndef UNW_EMPTY_STRUCT
+ # define UNW_EMPTY_STRUCT uint8_t unused;
+ #endif
+@@ -88,6 +92,88 @@ typedef struct {
uint64_t halves[2];
} unw_tdep_vreg_t;