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] Fix possible alignment issue with dw2-dir-file-name test case


Since upstream gcc has recently increased the function alignment on
S390, the dw2-dir-file-name test case fails in the first
gdb_continue_to_breakpoint.  Indeed, the breakpoint is now placed into
the alignment gap *before* the actual function.

This happens because the test case declares the respective "*_start"
symbol as a "loose" label before the function definition, and the
compiler inserts the alignment between that label and the function
itself.  The fix defines the "*_start" symbol as a global alias to the
function instead.

testsuite/
2014-01-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>

	* gdb.dwarf2/dw2-dir-file-name.c (FUNC): Declare "*_start" symbol
	as an alias of the function instead of a label pointing before the
	function, to avoid possible alignment issues.
---
 gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c
index 21a4d2a..a0a9731 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c
+++ b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c
@@ -63,13 +63,13 @@ FUNC (compdir_absolute_ldir_absolute_file_relative_different)	\
 FUNC (compdir_absolute_ldir_absolute_file_absolute_same)	\
 FUNC (compdir_absolute_ldir_absolute_file_absolute_different)
 
-#define FUNC(name)					\
-  asm (#name "_start: .globl " #name "_start\n");	\
-  static void						\
-  name (void)						\
-  {							\
-    v++;						\
-  }							\
+#define FUNC(name)						\
+  static void							\
+  name (void)							\
+  {								\
+    v++;							\
+  }								\
+  void name ## _start (void) __attribute__ ((alias (#name)));	\
   asm (#name "_end: .globl " #name "_end\n");
 FUNCBLOCK
 #undef FUNC
-- 
1.8.3.1


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