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 4/4] Fix dw2-ifort-parameter.exp on PPC64


On PPC64, 'func' and 'main' are function descriptors and don't point
to the actual code.  Thus the usage of these symbols in the DWARF
assembler source was broken.  The patch introduces new labels
func_start and func_end for this purpose.

gdb/testsuite/
	* gdb.dwarf2/dw2-ifort-parameter.c (func): Define labels
	'func_start' and 'func_end' for the beginning and end of the
	function code, respectively.
	* gdb.dwarf2/dw2-ifort-parameter.exp: Use 'func_start' and
	'func_end' instead of 'func' and 'main'.
---
 gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c   |  8 +++++++-
 gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp | 10 +++++-----
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c b/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c
index 361c44d..4474814 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c
+++ b/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c
@@ -18,11 +18,17 @@
 int value = 0xdeadf00d;
 int *ptr = &value;
 
-void
+asm (".section	\".text\"");
+asm (".balign 8");
+asm ("func_start: .globl func_start");
+
+static void
 func (void)
 {
 }
 
+asm ("func_end: .globl func_end");
+
 int
 main (void)
 {
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp b/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp
index d11de9e..026e071 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp
@@ -29,14 +29,14 @@ set asm_file [standard_output_file $srcfile2]
 Dwarf::assemble $asm_file {
     declare_labels int_label
 
-    extern main func ptr
+    extern func_start func_end ptr
 
     cu {} {
 	compile_unit {
 	    {name file1.txt}
 	    {language @DW_LANG_C}
-	    {low_pc func addr}
-	    {high_pc main addr}
+	    {low_pc func_start addr}
+	    {high_pc func_end addr}
 	} {
 	    int_label: base_type {
 		{name int}
@@ -47,8 +47,8 @@ Dwarf::assemble $asm_file {
 	    subprogram {
 		{external 1 flag}
 		{name func}
-		{low_pc func addr}
-		{high_pc main addr}
+		{low_pc func_start addr}
+		{high_pc func_end addr}
 	    } {
 		formal_parameter {
 		    {name param}
-- 
1.8.4.2


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