2006-12-19 00:17:44 +01:00
|
|
|
Make debugedit build without dwarf.h. Also fixes a logic bug for ppc.
|
2006-12-19 00:17:44 +01:00
|
|
|
|
2006-12-19 00:17:44 +01:00
|
|
|
--- ./tools/debugedit.c.orig 2005-12-15 14:28:49.000000000 +0000
|
|
|
|
+++ ./tools/debugedit.c 2006-03-17 13:01:53.000000000 +0000
|
|
|
|
@@ -34,7 +34,37 @@
|
2006-12-19 00:17:44 +01:00
|
|
|
#include <popt.h>
|
|
|
|
|
|
|
|
#include <gelf.h>
|
|
|
|
-#include <dwarf.h>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+/* some defines taken from the dwarf standard */
|
|
|
|
+
|
|
|
|
+#define DW_TAG_compile_unit 0x11
|
|
|
|
+
|
|
|
|
+#define DW_AT_name 0x03
|
|
|
|
+#define DW_AT_stmt_list 0x10
|
|
|
|
+#define DW_AT_comp_dir 0x1b
|
|
|
|
+
|
|
|
|
+#define DW_FORM_addr 0x01
|
|
|
|
+#define DW_FORM_block2 0x03
|
|
|
|
+#define DW_FORM_block4 0x04
|
|
|
|
+#define DW_FORM_data2 0x05
|
|
|
|
+#define DW_FORM_data4 0x06
|
|
|
|
+#define DW_FORM_data8 0x07
|
|
|
|
+#define DW_FORM_string 0x08
|
|
|
|
+#define DW_FORM_block 0x09
|
|
|
|
+#define DW_FORM_block1 0x0a
|
|
|
|
+#define DW_FORM_data1 0x0b
|
|
|
|
+#define DW_FORM_flag 0x0c
|
|
|
|
+#define DW_FORM_sdata 0x0d
|
|
|
|
+#define DW_FORM_strp 0x0e
|
|
|
|
+#define DW_FORM_udata 0x0f
|
|
|
|
+#define DW_FORM_ref_addr 0x10
|
|
|
|
+#define DW_FORM_ref1 0x11
|
|
|
|
+#define DW_FORM_ref2 0x12
|
|
|
|
+#define DW_FORM_ref4 0x13
|
|
|
|
+#define DW_FORM_ref8 0x14
|
|
|
|
+#define DW_FORM_ref_udata 0x15
|
|
|
|
+#define DW_FORM_indirect 0x16
|
|
|
|
|
2006-12-19 00:17:44 +01:00
|
|
|
#include "hashtab.h"
|
|
|
|
|
|
|
|
@@ -1039,7 +1069,7 @@ edit_dwarf2 (DSO *dso)
|
|
|
|
break;
|
|
|
|
case EM_PPC:
|
|
|
|
case EM_PPC64:
|
|
|
|
- if (rtype != R_PPC_ADDR32 || rtype != R_PPC_UADDR32)
|
|
|
|
+ if (rtype != R_PPC_ADDR32 && rtype != R_PPC_UADDR32)
|
|
|
|
goto fail;
|
|
|
|
break;
|
|
|
|
case EM_S390:
|