Imported Upstream version 1.2
[platform/upstream/libunwind.git] / include / tdep-sh / libunwind_i.h
index 51234d1..7bbb29b 100644 (file)
@@ -52,15 +52,15 @@ struct unw_addr_space
 #else
     uint32_t cache_generation;
 #endif
-    unw_word_t dyn_generation;         /* see dyn-common.h */
-    unw_word_t dyn_info_list_addr;     /* (cached) dyn_info_list_addr */
+    unw_word_t dyn_generation;          /* see dyn-common.h */
+    unw_word_t dyn_info_list_addr;      /* (cached) dyn_info_list_addr */
     struct dwarf_rs_cache global_cache;
     struct unw_debug_frame_list *debug_frames;
   };
 
 struct cursor
   {
-    struct dwarf_cursor dwarf;         /* must be first */
+    struct dwarf_cursor dwarf;          /* must be first */
     enum
       {
         SH_SCF_NONE,                   /* no signal frame */
@@ -73,18 +73,18 @@ struct cursor
     unw_word_t sigcontext_pc;
   };
 
-#define DWARF_GET_LOC(l)       ((l).val)
+#define DWARF_GET_LOC(l)        ((l).val)
 
 #ifdef UNW_LOCAL_ONLY
-# define DWARF_NULL_LOC                DWARF_LOC (0, 0)
-# define DWARF_IS_NULL_LOC(l)  (DWARF_GET_LOC (l) == 0)
-# define DWARF_LOC(r, t)       ((dwarf_loc_t) { .val = (r) })
-# define DWARF_IS_REG_LOC(l)   0
-# define DWARF_REG_LOC(c,r)    (DWARF_LOC((unw_word_t)                      \
-                                tdep_uc_addr((c)->as_arg, (r)), 0))
-# define DWARF_MEM_LOC(c,m)    DWARF_LOC ((m), 0)
-# define DWARF_FPREG_LOC(c,r)  (DWARF_LOC((unw_word_t)                      \
-                                tdep_uc_addr((c)->as_arg, (r)), 0))
+# define DWARF_NULL_LOC         DWARF_LOC (0, 0)
+# define DWARF_IS_NULL_LOC(l)   (DWARF_GET_LOC (l) == 0)
+# define DWARF_LOC(r, t)        ((dwarf_loc_t) { .val = (r) })
+# define DWARF_IS_REG_LOC(l)    0
+# define DWARF_REG_LOC(c,r)     (DWARF_LOC((unw_word_t)                      \
+                                 tdep_uc_addr((c)->as_arg, (r)), 0))
+# define DWARF_MEM_LOC(c,m)     DWARF_LOC ((m), 0)
+# define DWARF_FPREG_LOC(c,r)   (DWARF_LOC((unw_word_t)                      \
+                                 tdep_uc_addr((c)->as_arg, (r)), 0))
 
 static inline int
 dwarf_getfp (struct dwarf_cursor *c, dwarf_loc_t loc, unw_fpreg_t *val)
@@ -123,18 +123,18 @@ dwarf_put (struct dwarf_cursor *c, dwarf_loc_t loc, unw_word_t val)
 }
 
 #else /* !UNW_LOCAL_ONLY */
-# define DWARF_LOC_TYPE_FP     (1 << 0)
-# define DWARF_LOC_TYPE_REG    (1 << 1)
-# define DWARF_NULL_LOC                DWARF_LOC (0, 0)
-# define DWARF_IS_NULL_LOC(l)                                          \
-               ({ dwarf_loc_t _l = (l); _l.val == 0 && _l.type == 0; })
-# define DWARF_LOC(r, t)       ((dwarf_loc_t) { .val = (r), .type = (t) })
-# define DWARF_IS_REG_LOC(l)   (((l).type & DWARF_LOC_TYPE_REG) != 0)
-# define DWARF_IS_FP_LOC(l)    (((l).type & DWARF_LOC_TYPE_FP) != 0)
-# define DWARF_REG_LOC(c,r)    DWARF_LOC((r), DWARF_LOC_TYPE_REG)
-# define DWARF_MEM_LOC(c,m)    DWARF_LOC ((m), 0)
-# define DWARF_FPREG_LOC(c,r)  DWARF_LOC((r), (DWARF_LOC_TYPE_REG      \
-                                               | DWARF_LOC_TYPE_FP))
+# define DWARF_LOC_TYPE_FP      (1 << 0)
+# define DWARF_LOC_TYPE_REG     (1 << 1)
+# define DWARF_NULL_LOC         DWARF_LOC (0, 0)
+# define DWARF_IS_NULL_LOC(l)                                           \
+                ({ dwarf_loc_t _l = (l); _l.val == 0 && _l.type == 0; })
+# define DWARF_LOC(r, t)        ((dwarf_loc_t) { .val = (r), .type = (t) })
+# define DWARF_IS_REG_LOC(l)    (((l).type & DWARF_LOC_TYPE_REG) != 0)
+# define DWARF_IS_FP_LOC(l)     (((l).type & DWARF_LOC_TYPE_FP) != 0)
+# define DWARF_REG_LOC(c,r)     DWARF_LOC((r), DWARF_LOC_TYPE_REG)
+# define DWARF_MEM_LOC(c,m)     DWARF_LOC ((m), 0)
+# define DWARF_FPREG_LOC(c,r)   DWARF_LOC((r), (DWARF_LOC_TYPE_REG      \
+                                                | DWARF_LOC_TYPE_FP))
 
 static inline int
 dwarf_getfp (struct dwarf_cursor *c, dwarf_loc_t loc, unw_fpreg_t *val)
@@ -148,15 +148,15 @@ dwarf_getfp (struct dwarf_cursor *c, dwarf_loc_t loc, unw_fpreg_t *val)
 
   if (DWARF_IS_REG_LOC (loc))
     return (*c->as->acc.access_fpreg) (c->as, DWARF_GET_LOC (loc),
-                                      val, 0, c->as_arg);
+                                       val, 0, c->as_arg);
 
   addr = DWARF_GET_LOC (loc);
   if ((ret = (*c->as->acc.access_mem) (c->as, addr + 0, (unw_word_t *) valp,
-                                      0, c->as_arg)) < 0)
+                                       0, c->as_arg)) < 0)
     return ret;
 
   return (*c->as->acc.access_mem) (c->as, addr + 4, (unw_word_t *) valp + 1, 0,
-                                  c->as_arg);
+                                   c->as_arg);
 }
 
 static inline int
@@ -171,15 +171,15 @@ dwarf_putfp (struct dwarf_cursor *c, dwarf_loc_t loc, unw_fpreg_t val)
 
   if (DWARF_IS_REG_LOC (loc))
     return (*c->as->acc.access_fpreg) (c->as, DWARF_GET_LOC (loc),
-                                      &val, 1, c->as_arg);
+                                       &val, 1, c->as_arg);
 
   addr = DWARF_GET_LOC (loc);
   if ((ret = (*c->as->acc.access_mem) (c->as, addr + 0, (unw_word_t *) valp,
-                                      1, c->as_arg)) < 0)
+                                       1, c->as_arg)) < 0)
     return ret;
 
   return (*c->as->acc.access_mem) (c->as, addr + 4, (unw_word_t *) valp + 1,
-                                  1, c->as_arg);
+                                   1, c->as_arg);
 }
 
 static inline int
@@ -196,10 +196,10 @@ dwarf_get (struct dwarf_cursor *c, dwarf_loc_t loc, unw_word_t *val)
 
   if (DWARF_IS_REG_LOC (loc))
     return (*c->as->acc.access_reg) (c->as, DWARF_GET_LOC (loc), val,
-                                    0, c->as_arg);
+                                     0, c->as_arg);
   else
     return (*c->as->acc.access_mem) (c->as, DWARF_GET_LOC (loc), val,
-                                    0, c->as_arg);
+                                     0, c->as_arg);
 }
 
 static inline int
@@ -216,63 +216,63 @@ dwarf_put (struct dwarf_cursor *c, dwarf_loc_t loc, unw_word_t val)
 
   if (DWARF_IS_REG_LOC (loc))
     return (*c->as->acc.access_reg) (c->as, DWARF_GET_LOC (loc), &val,
-                                    1, c->as_arg);
+                                     1, c->as_arg);
   else
     return (*c->as->acc.access_mem) (c->as, DWARF_GET_LOC (loc), &val,
-                                    1, c->as_arg);
+                                     1, c->as_arg);
 }
 
 #endif /* !UNW_LOCAL_ONLY */
 
 #define tdep_getcontext_trace           unw_getcontext
-#define tdep_init_done                 UNW_OBJ(init_done)
-#define tdep_init                      UNW_OBJ(init)
+#define tdep_init_done                  UNW_OBJ(init_done)
+#define tdep_init                       UNW_OBJ(init)
 /* Platforms that support UNW_INFO_FORMAT_TABLE need to define
    tdep_search_unwind_table.  */
-#define tdep_search_unwind_table       dwarf_search_unwind_table
-#define tdep_find_unwind_table         dwarf_find_unwind_table
-#define tdep_uc_addr                   UNW_ARCH_OBJ(uc_addr)
-#define tdep_get_elf_image             UNW_ARCH_OBJ(get_elf_image)
-#define tdep_access_reg                        UNW_OBJ(access_reg)
-#define tdep_access_fpreg              UNW_OBJ(access_fpreg)
-#define tdep_fetch_frame(c,ip,n)       do {} while(0)
-#define tdep_cache_frame(c,rs)         do {} while(0)
-#define tdep_reuse_frame(c,rs)         do {} while(0)
-#define tdep_stash_frame(c,rs)         do {} while(0)
-#define tdep_trace(cur,addr,n)         (-UNW_ENOINFO)
+#define tdep_search_unwind_table        dwarf_search_unwind_table
+#define tdep_find_unwind_table          dwarf_find_unwind_table
+#define tdep_uc_addr                    UNW_ARCH_OBJ(uc_addr)
+#define tdep_get_elf_image              UNW_ARCH_OBJ(get_elf_image)
+#define tdep_access_reg                 UNW_OBJ(access_reg)
+#define tdep_access_fpreg               UNW_OBJ(access_fpreg)
+#define tdep_fetch_frame(c,ip,n)        do {} while(0)
+#define tdep_cache_frame(c,rs)          do {} while(0)
+#define tdep_reuse_frame(c,rs)          do {} while(0)
+#define tdep_stash_frame(c,rs)          do {} while(0)
+#define tdep_trace(cur,addr,n)          (-UNW_ENOINFO)
 
 #ifdef UNW_LOCAL_ONLY
-# define tdep_find_proc_info(c,ip,n)                           \
-       dwarf_find_proc_info((c)->as, (ip), &(c)->pi, (n),      \
-                                      (c)->as_arg)
-# define tdep_put_unwind_info(as,pi,arg)               \
-       dwarf_put_unwind_info((as), (pi), (arg))
+# define tdep_find_proc_info(c,ip,n)                            \
+        dwarf_find_proc_info((c)->as, (ip), &(c)->pi, (n),      \
+                                       (c)->as_arg)
+# define tdep_put_unwind_info(as,pi,arg)                \
+        dwarf_put_unwind_info((as), (pi), (arg))
 #else
-# define tdep_find_proc_info(c,ip,n)                                   \
-       (*(c)->as->acc.find_proc_info)((c)->as, (ip), &(c)->pi, (n),    \
-                                      (c)->as_arg)
-# define tdep_put_unwind_info(as,pi,arg)               \
-       (*(as)->acc.put_unwind_info)((as), (pi), (arg))
+# define tdep_find_proc_info(c,ip,n)                                    \
+        (*(c)->as->acc.find_proc_info)((c)->as, (ip), &(c)->pi, (n),    \
+                                       (c)->as_arg)
+# define tdep_put_unwind_info(as,pi,arg)                \
+        (*(as)->acc.put_unwind_info)((as), (pi), (arg))
 #endif
 
-#define tdep_get_as(c)                 ((c)->dwarf.as)
-#define tdep_get_as_arg(c)             ((c)->dwarf.as_arg)
-#define tdep_get_ip(c)                 ((c)->dwarf.ip)
-#define tdep_big_endian(as)            ((as)->big_endian)
+#define tdep_get_as(c)                  ((c)->dwarf.as)
+#define tdep_get_as_arg(c)              ((c)->dwarf.as_arg)
+#define tdep_get_ip(c)                  ((c)->dwarf.ip)
+#define tdep_big_endian(as)             ((as)->big_endian)
 
 extern int tdep_init_done;
 
 extern void tdep_init (void);
 extern int tdep_search_unwind_table (unw_addr_space_t as, unw_word_t ip,
-                                    unw_dyn_info_t *di, unw_proc_info_t *pi,
-                                    int need_unwind_info, void *arg);
+                                     unw_dyn_info_t *di, unw_proc_info_t *pi,
+                                     int need_unwind_info, void *arg);
 extern void *tdep_uc_addr (unw_tdep_context_t *uc, int reg);
 extern int tdep_get_elf_image (struct elf_image *ei, pid_t pid, unw_word_t ip,
-                              unsigned long *segbase, unsigned long *mapoff,
-                              char *path, size_t pathlen);
+                               unsigned long *segbase, unsigned long *mapoff,
+                               char *path, size_t pathlen);
 extern int tdep_access_reg (struct cursor *c, unw_regnum_t reg,
-                           unw_word_t *valp, int write);
+                            unw_word_t *valp, int write);
 extern int tdep_access_fpreg (struct cursor *c, unw_regnum_t reg,
-                             unw_fpreg_t *valp, int write);
+                              unw_fpreg_t *valp, int write);
 
 #endif /* SH_LIBUNWIND_I_H */