[Rpm-maint] [Suse patch] Make debugedit build without dwarf.h

Panu Matilainen pmatilai at redhat.com
Wed May 23 11:59:21 UTC 2007


The ppc logic bug has already been fixed in rpm.org tree.

As for the dwarf.h part, I'm a bit curious. On RHEL/Fedora the dwarf.h 
header comes from elfutils(-devel) but that's not present in the 
elfutils-0.97 version bundled inside Suse rpm as if it was removed from 
the tarball deliberately. Somebody care to comment what's the deal here?

I seem to have a vague recollection of some licensing issue wrt elfutils, 
and indeed 0.97.1 says "0.97 code re-released under GPLv2", is this 
perhaps somehow related?

 	- Panu -

---

Make debugedit build without dwarf.h. Also fixes a logic bug for ppc.

--- ./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 @@
  #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

  #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:



More information about the Rpm-maint mailing list