From 046b014dee9ebd41cbc165e8c3de852f8b874903 Mon Sep 17 00:00:00 2001 From: pancake Date: Wed, 25 Jun 2014 04:25:38 +0200 Subject: [PATCH] Make bin/core java plugins use libr_java.a --- libr/bin/p/bin_java.c | 8 +++----- libr/bin/p/java.mk | 4 +++- libr/core/p/core_java.c | 12 +++++------- libr/core/p/java.mk | 2 ++ shlr/java/class.h | 4 +++- 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/libr/bin/p/bin_java.c b/libr/bin/p/bin_java.c index 8f0a817362..e7e5e5c5c8 100644 --- a/libr/bin/p/bin_java.c +++ b/libr/bin/p/bin_java.c @@ -4,11 +4,9 @@ #include #include #include -#undef R_API -#define R_API static inline -#undef R_IPI -#define R_IPI static -#include "../../shlr/java/class.c" + +#include "../../shlr/java/class.h" +#include "../../shlr/java/code.h" #define IFDBG_BIN_JAVA if(0) diff --git a/libr/bin/p/java.mk b/libr/bin/p/java.mk index 4d73ca5e7b..70bce3f176 100644 --- a/libr/bin/p/java.mk +++ b/libr/bin/p/java.mk @@ -18,4 +18,6 @@ ALL_TARGETS+=${TARGET_JAVA} ${TARGET_JAVA}: ${OBJ_JAVA} ${CC} $(call libname,bin_java) ${CFLAGS} ${OBJ_JAVA} \ - $(LDFLAGS) ${SHARED2_JAVA} ${SHLR}/sdb/src/libsdb.a + $(LDFLAGS) ${SHARED2_JAVA} \ + ${SHLR}/java/libr_java.a \ + ${SHLR}/sdb/src/libsdb.a diff --git a/libr/core/p/core_java.c b/libr/core/p/core_java.c index 953529caf1..64ac25ead7 100644 --- a/libr/core/p/core_java.c +++ b/libr/core/p/core_java.c @@ -7,17 +7,15 @@ #include #include #include +#include -#undef R_API -#define R_API static inline - -#undef R_IPI -#define R_IPI static - +#if 0 #include "../../../shlr/java/ops.c" #include "../../../shlr/java/code.c" #include "../../../shlr/java/class.c" -//#include "../../../shlr/java/class.h" +#endif +#include "../../../shlr/java/class.h" +#include "../../../shlr/java/code.h" #define DO_THE_DBG 0 #undef IFDBG diff --git a/libr/core/p/java.mk b/libr/core/p/java.mk index 221dbbdcee..cd1ee197b6 100644 --- a/libr/core/p/java.mk +++ b/libr/core/p/java.mk @@ -17,4 +17,6 @@ ALL_TARGETS+=${CORE_TARGET_JAVA} ${CORE_TARGET_JAVA}: ${CORE_OBJ_JAVA} ${CC} $(call libname,core_java) ${CFLAGS} \ -o core_java.${EXT_SO} \ + $(SHLR)/java/libr_java.a \ + $(SHLR)/sdb/src/libsdb.a \ ${CORE_OBJ_JAVA} ${CORE_SHARED2_JAVA} diff --git a/shlr/java/class.h b/shlr/java/class.h index 6a0d6e0cb5..5105d07005 100644 --- a/shlr/java/class.h +++ b/shlr/java/class.h @@ -7,7 +7,7 @@ #include #undef U -#define U(x) UNUSED_FUNCTION(x) +#define U(x) x #include #include #include @@ -749,6 +749,8 @@ typedef struct r_bin_java_obj_t { R_API RList * U(r_bin_java_get_interface_names)(RBinJavaObj * bin); R_API RBinJavaCPTypeObj* U(r_bin_java_get_item_from_cp)(RBinJavaObj *bin, int i); +R_API RBinJavaCPTypeObj* r_bin_java_get_item_from_bin_cp_list(RBinJavaObj *bin, ut64 idx); +R_API ut8 * r_bin_java_cp_get_idx_bytes(RBinJavaObj *bin, ut16 idx, ut32 *out_sz); R_API RList * r_bin_java_get_lib_names(RBinJavaObj * bin); R_API RList* r_bin_java_get_sections(RBinJavaObj *bin); R_API RList* r_bin_java_get_fields(RBinJavaObj *bin);