This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Prologue not set properly for binaries compiled with LLVM compiler (Bug #14419)


Hi,
Please find the fix for Bug #14419 (http://sourceware.org/bugzilla/show_bug.cgi?id=14419). Prologue not set properly in case the binary is compiled with LLVM compiler. 
Clang  similar to gcc guarantees a line note before and after the prologue.
Extending GDB to support binaries compiled with LLVM so that prologue_end is set properly.

Index: gdb/ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/ChangeLog,v
retrieving revision 1.14697
diff -u -p -r1.14697 ChangeLog
--- gdb/ChangeLog	25 Sep 2012 12:48:52 -0000	1.14697
+++ gdb/ChangeLog	25 Sep 2012 13:34:52 -0000
@@ -1,3 +1,7 @@
+2012-09-25  Karthik Bhat  <kv.bhat@samsung.com>
+	
+	* alpha-tdep.c (arm_skip_prologue): Extending support for LLVM compiler. 
+
 2012-09-25  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	* ada-valprint.c (ada_val_print_1): Eliminate single-use



Index: gdb/arm-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/arm-tdep.c,v
retrieving revision 1.367
diff -u -p -r1.367 arm-tdep.c
--- gdb/arm-tdep.c	22 Aug 2012 19:47:56 -0000	1.367
+++ gdb/arm-tdep.c	25 Sep 2012 13:34:54 -0000
@@ -1400,7 +1400,7 @@ arm_skip_prologue (struct gdbarch *gdbar
       if (post_prologue_pc
 	  && (s == NULL
 	      || s->producer == NULL
-	      || strncmp (s->producer, "GNU ", sizeof ("GNU ") - 1) == 0))
+	      || strncmp (s->producer, "GNU ", sizeof ("GNU ") - 1) == 0 || strncmp (s->producer, "clang ", sizeof ("clang ") - 1) == 0))
 	return post_prologue_pc;
 
       if (post_prologue_pc != 0)

Thanks
Karthik

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