aboutsummaryrefslogtreecommitdiff
path: root/backend.h
diff options
context:
space:
mode:
authorPetr Machata <pmachata@redhat.com>2013-10-11 14:29:09 +0200
committerPetr Machata <pmachata@redhat.com>2013-10-11 14:29:09 +0200
commit7287166e8fd5949ffcf8eb1f3d378b5ea538915e (patch)
tree8120fd39b49dd9df223fd343b8f552e9493c5a72 /backend.h
parentcd6ff36657ef51369f72fe109d581bc2530be5f2 (diff)
downloadltrace-7287166e8fd5949ffcf8eb1f3d378b5ea538915e.tar.gz
arch_library_init and arch_library_clone should be able to signal failure
- This then trickles to library_init, which needs to return int - Callers of library_init were updated to unroll their transactions upon failure - PPC and ARM backends were updated to match the updated interface
Diffstat (limited to 'backend.h')
-rw-r--r--backend.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/backend.h b/backend.h
index 80e5c07..6edc948 100644
--- a/backend.h
+++ b/backend.h
@@ -238,10 +238,11 @@ int arch_breakpoint_clone(struct breakpoint *retp, struct breakpoint *sbp);
/* The following callbacks have to be implemented in backend if arch.h
* defines ARCH_HAVE_LIBRARY_DATA. Those are used to init, destroy
- * and clone LIB->arch. */
-void arch_library_init(struct library *lib);
+ * and clone LIB->arch. arch_library_init and arch_library_clone
+ * return 0 on success or a negative value on failure. */
+int arch_library_init(struct library *lib);
void arch_library_destroy(struct library *lib);
-void arch_library_clone(struct library *retp, struct library *lib);
+int arch_library_clone(struct library *retp, struct library *lib);
/* The following callbacks have to be implemented in backend if arch.h
* defines ARCH_HAVE_LIBRARY_SYMBOL_DATA. Those are used to init,