This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PPC debug_line support


Hi,

this patch adds debug_line support for PPC, please someone apply it after 
review.

Franz.

	* config/tc-ppc.c (md_pseudo_table): Add .file and .loc.
	(md_assemble): Call dwarf2_emit_insn.
	(shlib): Fix typo SHILB -> SHLIB.
	(md_parse_option): Likewise.
	(ppc_elf_validate_fix): Likewise:
	* config/tc-ppc.h (DWARF2_LINE_MIN_INSN_LENGTH): New.

? obj
Index: gas/config/tc-ppc.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-ppc.c,v
retrieving revision 1.15
diff -u -p -r1.15 tc-ppc.c
--- gas/config/tc-ppc.c	2000/09/26 07:09:18	1.15
+++ gas/config/tc-ppc.c	2000/11/21 20:34:01
@@ -29,6 +29,7 @@
 
 #ifdef OBJ_ELF
 #include "elf/ppc.h"
+#include "dwarf2dbg.h"
 #endif
 
 #ifdef TE_PE
@@ -197,6 +198,8 @@ const pseudo_typeS md_pseudo_table[] =
   { "rdata",	ppc_elf_rdata,	0 },
   { "rodata",	ppc_elf_rdata,	0 },
   { "lcomm",	ppc_elf_lcomm,	0 },
+  { "file",	dwarf2_directive_file, 0 },
+  { "loc",	dwarf2_directive_loc, 0 },
 #endif
 
 #ifdef TE_PE
@@ -674,7 +677,7 @@ static struct hash_control *ppc_macro_ha
 
 #ifdef OBJ_ELF
 /* What type of shared library support to use */
-static enum { SHLIB_NONE, SHLIB_PIC, SHILB_MRELOCATABLE } shlib = SHLIB_NONE;
+static enum { SHLIB_NONE, SHLIB_PIC, SHLIB_MRELOCATABLE } shlib = SHLIB_NONE;
 
 /* Flags to set in the elf header */
 static flagword ppc_flags = 0;
@@ -879,13 +882,13 @@ md_parse_option (c, arg)
       /* -mrelocatable/-mrelocatable-lib -- warn about initializations that require relocation */
       else if (strcmp (arg, "relocatable") == 0)
 	{
-	  shlib = SHILB_MRELOCATABLE;
+	  shlib = SHLIB_MRELOCATABLE;
 	  ppc_flags |= EF_PPC_RELOCATABLE;
 	}
 
       else if (strcmp (arg, "relocatable-lib") == 0)
 	{
-	  shlib = SHILB_MRELOCATABLE;
+	  shlib = SHLIB_MRELOCATABLE;
 	  ppc_flags |= EF_PPC_RELOCATABLE_LIB;
 	}
 
@@ -1553,7 +1556,7 @@ ppc_elf_validate_fix (fixp, seg)
     case SHLIB_PIC:
       return;
 
-    case SHILB_MRELOCATABLE:
+    case SHLIB_MRELOCATABLE:
       if (fixp->fx_r_type <= BFD_RELOC_UNUSED
 	  && fixp->fx_r_type != BFD_RELOC_16_GOTOFF
 	  && fixp->fx_r_type != BFD_RELOC_HI16_GOTOFF
@@ -2096,6 +2099,10 @@ md_assemble (str)
   /* Write out the instruction.  */
   f = frag_more (4);
   md_number_to_chars (f, insn, 4);
+
+#ifdef OBJ_ELF
+  dwarf2_emit_insn (4);
+#endif
 
   /* Create any fixups.  At this point we do not use a
      bfd_reloc_code_real_type, but instead just use the
Index: gas/config/tc-ppc.h
===================================================================
RCS file: /cvs/src/src/gas/config/tc-ppc.h,v
retrieving revision 1.7
diff -u -p -r1.7 tc-ppc.h
--- gas/config/tc-ppc.h	2000/09/26 07:09:18	1.7
+++ gas/config/tc-ppc.h	2000/11/21 20:34:01
@@ -258,6 +258,7 @@ extern const char *ppc_comment_chars;
        && S_IS_DEFINED ((FIX)->fx_addsy) \
        && ! S_IS_COMMON ((FIX)->fx_addsy)))
 
+#define DWARF2_LINE_MIN_INSN_LENGTH 4
 #endif /* OBJ_ELF */
 
 /* call md_apply_fix3 with segment instead of md_apply_fix */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]