public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Re: ia64 gas default mode
@ 2005-02-08 16:54 Jan Beulich
  2005-02-11  2:46 ` James E Wilson
  0 siblings, 1 reply; 5+ messages in thread
From: Jan Beulich @ 2005-02-08 16:54 UTC (permalink / raw)
  To: wilson; +Cc: binutils

[-- Attachment #1: Type: text/plain, Size: 12492 bytes --]

>>> James E Wilson <wilson@specifixinc.com> 20.01.05 02:24:42 >>>
>On Wed, 2005-01-19 at 16:05, James E Wilson wrote:
>> 3) Enable -xexplicit by default.  Assembler programs with correct
stop
>> bits will always work, but a few may get false DV warnings. 
Assembler
>> programs without correct stop bits will never work, and most but not
all
>> will get assembler warnings.
>
>If we do enable this or -xauto by default, we should probably also add
a
>-xnone or similar option to disable the DV checking code.  No one in
>their right mind should disable DV checking, but it might be useful
if
>someone runs into a DV checking bug, and can't figure out how to work
>around it except by turning off the DV checking.

line option (-xnone) to disable that.

Built and tested on ia64-unknown-linux-gnu.

Jan

gas/
2005-02-08  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (md_parse_option): Handle -xnone and
-xdebugn.
	(md_show_usage): Add -xnone.
	(ia64_init): Set md.detect_dv.
	(ia64_start_line): New static variable warned. Warn only once
when
	encountering explicit stops in automatic mode.

gas/testsuite/
2005-02-08  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/label.l: Adjust line numbers.
	* gas/ia64/label.s: Add .explicit.
	* gas/ia64/nop_x.s: Likewise.
	* gas/ia64/opc-a.d: Add assembler option -xnone.
	* gas/ia64/opc-b.d: Likewise.
	* gas/ia64/opc-f.d: Likewise.
	* gas/ia64/opc-i.d: Likewise.
	* gas/ia64/opc-m.d: Likewise.
	* gas/ia64/opc-x.d: Likewise.
	* gas/ia64/pseudo.d: Likewise.
	* gas/ia64/regs.d: Likewise.
	* gas/ia64/tls.d: Likewise.
	* gas/ia64/unwind-err.l: Adjust line numbers.
	* gas/ia64/unwind-err.s: Remove explicit stops.


ld/testsuite/
2005-02-08  Jan Beulich  <jbeulich@novell.com>

	* ld-elfvers/vers.exp (as_options): New. Set to -x for ia64.
	(build_binary): Pass as_options to ld_assemble.
	(test_ldfail): Likewise.
	(build_exec): Likewise.
	Pass as_options to run_ld_link_tests.
	* ld-ia64/tlsbin.s: Add .explicit.
	* ld-ia64/tlsbinpic.s: Likewise.
	* ld-ia64/tlspic1.s: Likewise.

---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/config/tc-ia64.c	2005-02-02
08:33:18.000000000 +0100
+++ 2005-02-08/gas/config/tc-ia64.c	2005-02-08 10:32:11.442268383
+0100
@@ -6849,6 +6849,10 @@ md_parse_option (c, arg)
 	{
 	  md.default_explicit_mode = 0;
 	}
+      else if (strcmp (arg, "none") == 0)
+	{
+	  md.detect_dv = 0;
+	}
       else if (strcmp (arg, "debug") == 0)
 	{
 	  md.debug_dv = 1;
@@ -6858,6 +6862,11 @@ md_parse_option (c, arg)
 	  md.default_explicit_mode = 1;
 	  md.debug_dv = 1;
 	}
+      else if (strcmp (arg, "debugn") == 0)
+	{
+	  md.debug_dv = 1;
+	  md.detect_dv = 0;
+	}
       else
 	{
 	  as_bad (_("Unrecognized option '-x%s'"), arg);
@@ -6897,8 +6906,9 @@ IA-64 options:\n\
 			  EF_IA_64_NOFUNCDESC_CONS_GP)\n\
   -milp32|-milp64|-mlp64|-mp64	select data model (default
-mlp64)\n\
   -mle | -mbe		  select little- or big-endian byte order
(default -mle)\n\
-  -x | -xexplicit	  turn on dependency violation checking
(default)\n\
-  -xauto		  automagically remove dependency violations\n\
+  -x | -xexplicit	  turn on dependency violation checking\n\
+  -xauto		  automagically remove dependency violations
(default)\n\
+  -xnone		  turn off dependency violation checking\n\
   -xdebug		  debug dependency violation checker\n"),
 	stream);
 }
@@ -7242,6 +7252,7 @@ ia64_init (argc, argv)
      char **argv ATTRIBUTE_UNUSED;
 {
   md.flags = MD_FLAGS_DEFAULT;
+  md.detect_dv = 1;
 }
 
 /* Return a string for the target object file format.  */
@@ -7317,7 +7328,15 @@ ia64_start_line ()
   if (input_line_pointer[0] == ';' && input_line_pointer[-1] == ';')
     {
       if (md.detect_dv && !md.explicit_mode)
-	as_warn (_("Explicit stops are ignored in auto mode"));
+	{
+	  static int warned;
+
+	  if (!warned)
+	    {
+	      warned = 1;
+	      as_warn (_("Explicit stops are ignored in auto mode"));
+	    }
+	}
       else
 	insn_group_break (1, 0, 0);
     }
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/label.l	2005-01-21
15:52:42.000000000 +0100
+++ 2005-02-08/gas/testsuite/gas/ia64/label.l	2005-02-08
10:34:15.098516868 +0100
@@ -1,3 +1,3 @@
 .*: Assembler messages:
-.*:11: Error: Label must be first in a bundle
-.*:18: Error: Label must be first in a bundle
+.*:12: Error: Label must be first in a bundle
+.*:19: Error: Label must be first in a bundle
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/label.s	2005-01-20
11:37:08.000000000 +0100
+++ 2005-02-08/gas/testsuite/gas/ia64/label.s	2005-02-08
10:34:22.953985522 +0100
@@ -1,3 +1,4 @@
+.explicit
 start:
 {.mii
 label0:
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/nop_x.s	2005-01-21
15:56:11.000000000 +0100
+++ 2005-02-08/gas/testsuite/gas/ia64/nop_x.s	2005-02-08
10:34:48.802618018 +0100
@@ -1,3 +1,4 @@
+.explicit
 _start:
 {.mlx
 	nop	0
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/opc-a.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/opc-a.d	2005-02-04
11:11:47.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 opc-a
 
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/opc-b.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/opc-b.d	2005-02-04
11:11:58.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -d
 #name: ia64 opc-b
 
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/opc-f.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/opc-f.d	2005-02-04
11:12:02.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d --disassemble-zeroes
 # name: ia64 opc-f
 
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/opc-i.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/opc-i.d	2005-02-04
11:12:06.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 opc-i
 
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/opc-m.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/opc-m.d	2005-02-04
11:12:10.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 opc-m
 
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/opc-x.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/opc-x.d	2005-02-04
11:12:18.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -d
 #name: ia64 opc-x
 
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/pseudo.d	2005-01-21
15:10:07.000000000 +0100
+++ 2005-02-08/gas/testsuite/gas/ia64/pseudo.d	2005-02-08
10:35:26.639531617 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 pseudo-ops
 
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/regs.d	2004-06-02
16:36:20.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/regs.d	2005-02-08
10:32:11.452034008 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -d
 #name: ia64 regs
 
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/tls.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/tls.d	2005-02-04
15:01:12.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -dr
 #name: ia64 tls
 
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/unwind-err.l	2005-01-28
10:15:27.000000000 +0100
+++ 2005-02-08/gas/testsuite/gas/ia64/unwind-err.l	2005-02-08
10:38:37.655154277 +0100
@@ -29,6 +29,6 @@
 .*:36: Error: .save.b outside of prologue
 .*:37: Error: .altrp outside of prologue
 .*:42: Error: .prologue within prologue
-.*:52: Error: .body outside of procedure
-.*:59: Warning: Initial .prologue.*
-.*:66: Warning: Initial .body.*
+.*:50: Error: .body outside of procedure
+.*:57: Warning: Initial .prologue.*
+.*:64: Warning: Initial .body.*
---
/home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/unwind-err.s	2005-01-28
09:11:40.000000000 +0100
+++ 2005-02-08/gas/testsuite/gas/ia64/unwind-err.s	2005-02-08
10:36:17.905155989 +0100
@@ -42,11 +42,9 @@ start:
 	.prologue
 	.save		ar.lc, r31
 	mov		r31 = ar.lc
-	;;
 	.body
 	.body
 	br.ret.sptk	rp
-	;;
 .personality personality
 .handlerdata
 .body
---
/home/jbeulich/src/binutils/mainline/2005-02-08/ld/testsuite/ld-elfvers/vers.exp	2004-11-02
17:16:17.000000000 +0100
+++ 2005-02-08/ld/testsuite/ld-elfvers/vers.exp	2005-02-08
11:32:10.477380545 +0100
@@ -91,6 +91,11 @@ if [istarget mips*-*-*] {
     }
 }
 
+case $target_triplet in {
+    { ia64-*-* } { set as_options "-x" }
+    default { set as_options "" }
+}
+
 proc test_ar { test lib object expect } {
     global ar
     global nm
@@ -506,6 +511,7 @@ proc build_binary { shared pic test sour
     global host_triplet
     global tmpdir
     global as
+    global as_options
     global objdump
     global CC
     global CFLAGS
@@ -516,7 +522,7 @@ proc build_binary { shared pic test sour
 	return
     }
 
-    if ![ld_assemble $as $tmpdir/$libname.s $tmpdir/$libname.o ]    
{
+    if ![ld_assemble $as "$as_options $tmpdir/$libname.s"
$tmpdir/$libname.o ]     {
 	unresolved "$test"
 	return
     }
@@ -593,6 +599,7 @@ proc test_ldfail { test flag source exec
     global host_triplet
     global tmpdir
     global as
+    global as_options
     global objdump
     global CC
     global CFLAGS
@@ -609,7 +616,7 @@ proc test_ldfail { test flag source exec
 	return
     }
 
-    if ![ld_assemble $as $tmpdir/$execname.s $tmpdir/$execname.o ]    
{
+    if ![ld_assemble $as "$as_options $tmpdir/$execname.s"
$tmpdir/$execname.o ]     {
 	unresolved "$test"
 	return
     }
@@ -697,6 +704,7 @@ proc build_exec { test source execname f
     global host_triplet
     global tmpdir
     global as
+    global as_options
     global objdump
     global CC
     global CFLAGS
@@ -708,7 +716,7 @@ proc build_exec { test source execname f
 	return
     }
 
-    if ![ld_assemble $as $tmpdir/$execname.s $tmpdir/$execname.o ]    
{
+    if ![ld_assemble $as "$as_options $tmpdir/$execname.s"
$tmpdir/$execname.o ]     {
 	unresolved "$test"
 	return
     }
@@ -910,15 +918,15 @@ if [istarget sparc*-*-*] {
 }
 run_ld_link_tests [list "\"vers24a\"
 			 \"-shared --version-script
$srcdir/$subdir/vers24.map\"
-			 \"$as_pic_flags\" {vers24a.c vers24b.c} { {
readelf -Wrs vers24.rd } }
+			 \"$as_pic_flags $as_options\" {vers24a.c
vers24b.c} { { readelf -Wrs vers24.rd } }
 			 \"libvers24a.so\" \"-fpic\""]
 run_ld_link_tests [list "\"vers24b\"
 			 \"-shared --version-script
$srcdir/$subdir/vers24.map\"
-			 \"$as_pic_flags\" {vers24b.c vers24a.c} { {
readelf -Wrs vers24.rd } }
+			 \"$as_pic_flags $as_options\" {vers24b.c
vers24a.c} { { readelf -Wrs vers24.rd } }
 			 \"libvers24b.so\" \"-fpic\""]
 run_ld_link_tests [list "\"vers24c\"
 			 \"-shared --version-script
$srcdir/$subdir/vers24.map\"
-			 \"$as_pic_flags\" {vers24c.c} { { readelf -Wrs
vers24.rd } }
+			 \"$as_pic_flags $as_options\" {vers24c.c} { {
readelf -Wrs vers24.rd } }
 			 \"libvers24c.so\" \"-fpic\""]
 
 # Test versioned definition vs. normal definition in different files.
---
/home/jbeulich/src/binutils/mainline/2005-02-08/ld/testsuite/ld-ia64/tlsbin.s	2003-01-16
22:31:18.000000000 +0100
+++ 2005-02-08/ld/testsuite/ld-ia64/tlsbin.s	2005-02-08
11:38:39.422688280 +0100
@@ -16,6 +16,7 @@ bl5:	.space 4
 bl6:	.space 4
 bl7:	.space 4
 bl8:	.space 4
+	.explicit
 	.pred.safe_across_calls p1-p5,p16-p63
 	.text
 	.globl	_start#
---
/home/jbeulich/src/binutils/mainline/2005-02-08/ld/testsuite/ld-ia64/tlsbinpic.s	2003-01-16
22:31:18.000000000 +0100
+++ 2005-02-08/ld/testsuite/ld-ia64/tlsbinpic.s	2005-02-08
11:37:39.242024955 +0100
@@ -31,9 +31,10 @@ sh5:	.long 261
 sh6:	.long 262
 sh7:	.long 263
 sh8:	.long 264
+	.explicit
+	.pred.safe_across_calls p1-p5,p16-p63
 	/* Force .text aligned to 4K, so it very likely gets at
 	   0x4000000000001000.  */
-	.pred.safe_across_calls p1-p5,p16-p63
 	.text
 	.balign	4096
 	.globl	fn2#
---
/home/jbeulich/src/binutils/mainline/2005-02-08/ld/testsuite/ld-ia64/tlspic1.s	2003-01-18
00:27:57.000000000 +0100
+++ 2005-02-08/ld/testsuite/ld-ia64/tlspic1.s	2005-02-08
11:37:50.275227945 +0100
@@ -30,8 +30,9 @@ sh5:	.long 261
 sh6:	.long 262
 sh7:	.long 263
 sh8:	.long 264
-	/* Force .text aligned to 4K, so it very likely gets at 0x1000. 
*/
+	.explicit
 	.pred.safe_across_calls p1-p5,p16-p63
+	/* Force .text aligned to 4K, so it very likely gets at 0x1000. 
*/
 	.text
 	.balign	4096
 	.globl	fn1#


[-- Attachment #2: binutils-mainline-ia64-default-mode.patch --]
[-- Type: text/plain, Size: 11856 bytes --]

This make automatic mode the default (matching ias behavior), adding a command
line option (-xnone) to disable that.

Built and tested on ia64-unknown-linux-gnu.

Jan

gas/
2005-02-08  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (md_parse_option): Handle -xnone and -xdebugn.
	(md_show_usage): Add -xnone.
	(ia64_init): Set md.detect_dv.
	(ia64_start_line): New static variable warned. Warn only once when
	encountering explicit stops in automatic mode.

gas/testsuite/
2005-02-08  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/label.l: Adjust line numbers.
	* gas/ia64/label.s: Add .explicit.
	* gas/ia64/nop_x.s: Likewise.
	* gas/ia64/opc-a.d: Add assembler option -xnone.
	* gas/ia64/opc-b.d: Likewise.
	* gas/ia64/opc-f.d: Likewise.
	* gas/ia64/opc-i.d: Likewise.
	* gas/ia64/opc-m.d: Likewise.
	* gas/ia64/opc-x.d: Likewise.
	* gas/ia64/pseudo.d: Likewise.
	* gas/ia64/regs.d: Likewise.
	* gas/ia64/tls.d: Likewise.
	* gas/ia64/unwind-err.l: Adjust line numbers.
	* gas/ia64/unwind-err.s: Remove explicit stops.


ld/testsuite/
2005-02-08  Jan Beulich  <jbeulich@novell.com>

	* ld-elfvers/vers.exp (as_options): New. Set to -x for ia64.
	(build_binary): Pass as_options to ld_assemble.
	(test_ldfail): Likewise.
	(build_exec): Likewise.
	Pass as_options to run_ld_link_tests.
	* ld-ia64/tlsbin.s: Add .explicit.
	* ld-ia64/tlsbinpic.s: Likewise.
	* ld-ia64/tlspic1.s: Likewise.

--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/config/tc-ia64.c	2005-02-02 08:33:18.000000000 +0100
+++ 2005-02-08/gas/config/tc-ia64.c	2005-02-08 10:32:11.442268383 +0100
@@ -6849,6 +6849,10 @@ md_parse_option (c, arg)
 	{
 	  md.default_explicit_mode = 0;
 	}
+      else if (strcmp (arg, "none") == 0)
+	{
+	  md.detect_dv = 0;
+	}
       else if (strcmp (arg, "debug") == 0)
 	{
 	  md.debug_dv = 1;
@@ -6858,6 +6862,11 @@ md_parse_option (c, arg)
 	  md.default_explicit_mode = 1;
 	  md.debug_dv = 1;
 	}
+      else if (strcmp (arg, "debugn") == 0)
+	{
+	  md.debug_dv = 1;
+	  md.detect_dv = 0;
+	}
       else
 	{
 	  as_bad (_("Unrecognized option '-x%s'"), arg);
@@ -6897,8 +6906,9 @@ IA-64 options:\n\
 			  EF_IA_64_NOFUNCDESC_CONS_GP)\n\
   -milp32|-milp64|-mlp64|-mp64	select data model (default -mlp64)\n\
   -mle | -mbe		  select little- or big-endian byte order (default -mle)\n\
-  -x | -xexplicit	  turn on dependency violation checking (default)\n\
-  -xauto		  automagically remove dependency violations\n\
+  -x | -xexplicit	  turn on dependency violation checking\n\
+  -xauto		  automagically remove dependency violations (default)\n\
+  -xnone		  turn off dependency violation checking\n\
   -xdebug		  debug dependency violation checker\n"),
 	stream);
 }
@@ -7242,6 +7252,7 @@ ia64_init (argc, argv)
      char **argv ATTRIBUTE_UNUSED;
 {
   md.flags = MD_FLAGS_DEFAULT;
+  md.detect_dv = 1;
 }
 
 /* Return a string for the target object file format.  */
@@ -7317,7 +7328,15 @@ ia64_start_line ()
   if (input_line_pointer[0] == ';' && input_line_pointer[-1] == ';')
     {
       if (md.detect_dv && !md.explicit_mode)
-	as_warn (_("Explicit stops are ignored in auto mode"));
+	{
+	  static int warned;
+
+	  if (!warned)
+	    {
+	      warned = 1;
+	      as_warn (_("Explicit stops are ignored in auto mode"));
+	    }
+	}
       else
 	insn_group_break (1, 0, 0);
     }
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/label.l	2005-01-21 15:52:42.000000000 +0100
+++ 2005-02-08/gas/testsuite/gas/ia64/label.l	2005-02-08 10:34:15.098516868 +0100
@@ -1,3 +1,3 @@
 .*: Assembler messages:
-.*:11: Error: Label must be first in a bundle
-.*:18: Error: Label must be first in a bundle
+.*:12: Error: Label must be first in a bundle
+.*:19: Error: Label must be first in a bundle
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/label.s	2005-01-20 11:37:08.000000000 +0100
+++ 2005-02-08/gas/testsuite/gas/ia64/label.s	2005-02-08 10:34:22.953985522 +0100
@@ -1,3 +1,4 @@
+.explicit
 start:
 {.mii
 label0:
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/nop_x.s	2005-01-21 15:56:11.000000000 +0100
+++ 2005-02-08/gas/testsuite/gas/ia64/nop_x.s	2005-02-08 10:34:48.802618018 +0100
@@ -1,3 +1,4 @@
+.explicit
 _start:
 {.mlx
 	nop	0
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/opc-a.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/opc-a.d	2005-02-04 11:11:47.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 opc-a
 
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/opc-b.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/opc-b.d	2005-02-04 11:11:58.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -d
 #name: ia64 opc-b
 
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/opc-f.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/opc-f.d	2005-02-04 11:12:02.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d --disassemble-zeroes
 # name: ia64 opc-f
 
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/opc-i.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/opc-i.d	2005-02-04 11:12:06.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 opc-i
 
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/opc-m.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/opc-m.d	2005-02-04 11:12:10.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 opc-m
 
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/opc-x.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/opc-x.d	2005-02-04 11:12:18.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -d
 #name: ia64 opc-x
 
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/pseudo.d	2005-01-21 15:10:07.000000000 +0100
+++ 2005-02-08/gas/testsuite/gas/ia64/pseudo.d	2005-02-08 10:35:26.639531617 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 pseudo-ops
 
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/regs.d	2004-06-02 16:36:20.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/regs.d	2005-02-08 10:32:11.452034008 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -d
 #name: ia64 regs
 
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/tls.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-08/gas/testsuite/gas/ia64/tls.d	2005-02-04 15:01:12.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -dr
 #name: ia64 tls
 
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/unwind-err.l	2005-01-28 10:15:27.000000000 +0100
+++ 2005-02-08/gas/testsuite/gas/ia64/unwind-err.l	2005-02-08 10:38:37.655154277 +0100
@@ -29,6 +29,6 @@
 .*:36: Error: .save.b outside of prologue
 .*:37: Error: .altrp outside of prologue
 .*:42: Error: .prologue within prologue
-.*:52: Error: .body outside of procedure
-.*:59: Warning: Initial .prologue.*
-.*:66: Warning: Initial .body.*
+.*:50: Error: .body outside of procedure
+.*:57: Warning: Initial .prologue.*
+.*:64: Warning: Initial .body.*
--- /home/jbeulich/src/binutils/mainline/2005-02-08/gas/testsuite/gas/ia64/unwind-err.s	2005-01-28 09:11:40.000000000 +0100
+++ 2005-02-08/gas/testsuite/gas/ia64/unwind-err.s	2005-02-08 10:36:17.905155989 +0100
@@ -42,11 +42,9 @@ start:
 	.prologue
 	.save		ar.lc, r31
 	mov		r31 = ar.lc
-	;;
 	.body
 	.body
 	br.ret.sptk	rp
-	;;
 .personality personality
 .handlerdata
 .body
--- /home/jbeulich/src/binutils/mainline/2005-02-08/ld/testsuite/ld-elfvers/vers.exp	2004-11-02 17:16:17.000000000 +0100
+++ 2005-02-08/ld/testsuite/ld-elfvers/vers.exp	2005-02-08 11:32:10.477380545 +0100
@@ -91,6 +91,11 @@ if [istarget mips*-*-*] {
     }
 }
 
+case $target_triplet in {
+    { ia64-*-* } { set as_options "-x" }
+    default { set as_options "" }
+}
+
 proc test_ar { test lib object expect } {
     global ar
     global nm
@@ -506,6 +511,7 @@ proc build_binary { shared pic test sour
     global host_triplet
     global tmpdir
     global as
+    global as_options
     global objdump
     global CC
     global CFLAGS
@@ -516,7 +522,7 @@ proc build_binary { shared pic test sour
 	return
     }
 
-    if ![ld_assemble $as $tmpdir/$libname.s $tmpdir/$libname.o ]     {
+    if ![ld_assemble $as "$as_options $tmpdir/$libname.s" $tmpdir/$libname.o ]     {
 	unresolved "$test"
 	return
     }
@@ -593,6 +599,7 @@ proc test_ldfail { test flag source exec
     global host_triplet
     global tmpdir
     global as
+    global as_options
     global objdump
     global CC
     global CFLAGS
@@ -609,7 +616,7 @@ proc test_ldfail { test flag source exec
 	return
     }
 
-    if ![ld_assemble $as $tmpdir/$execname.s $tmpdir/$execname.o ]     {
+    if ![ld_assemble $as "$as_options $tmpdir/$execname.s" $tmpdir/$execname.o ]     {
 	unresolved "$test"
 	return
     }
@@ -697,6 +704,7 @@ proc build_exec { test source execname f
     global host_triplet
     global tmpdir
     global as
+    global as_options
     global objdump
     global CC
     global CFLAGS
@@ -708,7 +716,7 @@ proc build_exec { test source execname f
 	return
     }
 
-    if ![ld_assemble $as $tmpdir/$execname.s $tmpdir/$execname.o ]     {
+    if ![ld_assemble $as "$as_options $tmpdir/$execname.s" $tmpdir/$execname.o ]     {
 	unresolved "$test"
 	return
     }
@@ -910,15 +918,15 @@ if [istarget sparc*-*-*] {
 }
 run_ld_link_tests [list "\"vers24a\"
 			 \"-shared --version-script $srcdir/$subdir/vers24.map\"
-			 \"$as_pic_flags\" {vers24a.c vers24b.c} { { readelf -Wrs vers24.rd } }
+			 \"$as_pic_flags $as_options\" {vers24a.c vers24b.c} { { readelf -Wrs vers24.rd } }
 			 \"libvers24a.so\" \"-fpic\""]
 run_ld_link_tests [list "\"vers24b\"
 			 \"-shared --version-script $srcdir/$subdir/vers24.map\"
-			 \"$as_pic_flags\" {vers24b.c vers24a.c} { { readelf -Wrs vers24.rd } }
+			 \"$as_pic_flags $as_options\" {vers24b.c vers24a.c} { { readelf -Wrs vers24.rd } }
 			 \"libvers24b.so\" \"-fpic\""]
 run_ld_link_tests [list "\"vers24c\"
 			 \"-shared --version-script $srcdir/$subdir/vers24.map\"
-			 \"$as_pic_flags\" {vers24c.c} { { readelf -Wrs vers24.rd } }
+			 \"$as_pic_flags $as_options\" {vers24c.c} { { readelf -Wrs vers24.rd } }
 			 \"libvers24c.so\" \"-fpic\""]
 
 # Test versioned definition vs. normal definition in different files.
--- /home/jbeulich/src/binutils/mainline/2005-02-08/ld/testsuite/ld-ia64/tlsbin.s	2003-01-16 22:31:18.000000000 +0100
+++ 2005-02-08/ld/testsuite/ld-ia64/tlsbin.s	2005-02-08 11:38:39.422688280 +0100
@@ -16,6 +16,7 @@ bl5:	.space 4
 bl6:	.space 4
 bl7:	.space 4
 bl8:	.space 4
+	.explicit
 	.pred.safe_across_calls p1-p5,p16-p63
 	.text
 	.globl	_start#
--- /home/jbeulich/src/binutils/mainline/2005-02-08/ld/testsuite/ld-ia64/tlsbinpic.s	2003-01-16 22:31:18.000000000 +0100
+++ 2005-02-08/ld/testsuite/ld-ia64/tlsbinpic.s	2005-02-08 11:37:39.242024955 +0100
@@ -31,9 +31,10 @@ sh5:	.long 261
 sh6:	.long 262
 sh7:	.long 263
 sh8:	.long 264
+	.explicit
+	.pred.safe_across_calls p1-p5,p16-p63
 	/* Force .text aligned to 4K, so it very likely gets at
 	   0x4000000000001000.  */
-	.pred.safe_across_calls p1-p5,p16-p63
 	.text
 	.balign	4096
 	.globl	fn2#
--- /home/jbeulich/src/binutils/mainline/2005-02-08/ld/testsuite/ld-ia64/tlspic1.s	2003-01-18 00:27:57.000000000 +0100
+++ 2005-02-08/ld/testsuite/ld-ia64/tlspic1.s	2005-02-08 11:37:50.275227945 +0100
@@ -30,8 +30,9 @@ sh5:	.long 261
 sh6:	.long 262
 sh7:	.long 263
 sh8:	.long 264
-	/* Force .text aligned to 4K, so it very likely gets at 0x1000.  */
+	.explicit
 	.pred.safe_across_calls p1-p5,p16-p63
+	/* Force .text aligned to 4K, so it very likely gets at 0x1000.  */
 	.text
 	.balign	4096
 	.globl	fn1#

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Re: ia64 gas default mode
  2005-02-08 16:54 [PATCH] Re: ia64 gas default mode Jan Beulich
@ 2005-02-11  2:46 ` James E Wilson
  2005-02-11  9:34   ` Ian Lance Taylor
  0 siblings, 1 reply; 5+ messages in thread
From: James E Wilson @ 2005-02-11  2:46 UTC (permalink / raw)
  To: Jan Beulich; +Cc: binutils

On Tue, 2005-02-08 at 02:58, Jan Beulich wrote:
> 	* config/tc-ia64.c (md_parse_option): Handle -xnone and
> -xdebugn.
> 	(md_show_usage): Add -xnone.

You didn't add -xdebugn to md_show_usage.

Also, you didn't update the texinfo docs.  gas/doc/c-ia64.texi needs the
exact same changes.

Otherwise this looks OK.

We will have to watch for problems.  Even though this is correct, this
may break existing programs which made incorrect assumptions.  I know
that gcc and the linux kernel are OK because they always use the -x
option.  As for glibc, it looks like it is OK also because it uses gcc
as the assembler.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Re: ia64 gas default mode
  2005-02-11  2:46 ` James E Wilson
@ 2005-02-11  9:34   ` Ian Lance Taylor
  0 siblings, 0 replies; 5+ messages in thread
From: Ian Lance Taylor @ 2005-02-11  9:34 UTC (permalink / raw)
  To: James E Wilson; +Cc: Jan Beulich, binutils

James E Wilson <wilson@specifixinc.com> writes:

> On Tue, 2005-02-08 at 02:58, Jan Beulich wrote:
> > 	* config/tc-ia64.c (md_parse_option): Handle -xnone and
> > -xdebugn.
> > 	(md_show_usage): Add -xnone.
> 
> You didn't add -xdebugn to md_show_usage.
> 
> Also, you didn't update the texinfo docs.  gas/doc/c-ia64.texi needs the
> exact same changes.

Generally new options should be mention in the gas/NEWS file as well.
I don't know how significant these options are, so I don't know how
important it is in this case.

Thanks.

Ian

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Re: ia64 gas default mode
       [not found] <s20c93b8.043@emea1-mh.id2.novell.com>
@ 2005-02-11 20:58 ` James E Wilson
  0 siblings, 0 replies; 5+ messages in thread
From: James E Wilson @ 2005-02-11 20:58 UTC (permalink / raw)
  To: Jan Beulich; +Cc: binutils

On Fri, 2005-02-11 at 03:15, Jan Beulich wrote:
> 	* config/tc-ia64.c (md_parse_option): Handle -xnone and
> -xdebugn.
>	...

Thanks.  This is OK.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Re: ia64 gas default mode
@ 2005-02-11 15:56 Jan Beulich
  0 siblings, 0 replies; 5+ messages in thread
From: Jan Beulich @ 2005-02-11 15:56 UTC (permalink / raw)
  To: wilson; +Cc: binutils

[-- Attachment #1: Type: text/plain, Size: 13889 bytes --]

>>> James E Wilson <wilson@specifixinc.com> 11.02.05 01:19:13 >>>
>On Tue, 2005-02-08 at 02:58, Jan Beulich wrote:
>> 	* config/tc-ia64.c (md_parse_option): Handle -xnone and
>> -xdebugn.
>> 	(md_show_usage): Add -xnone.
>
>You didn't add -xdebugn to md_show_usage.
>
>Also, you didn't update the texinfo docs.  gas/doc/c-ia64.texi needs
the
>exact same changes.
>
>Otherwise this looks OK.

Update below/attached.

Jan

gas/
2005-02-11  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (md_parse_option): Handle -xnone and
-xdebugn.
	(md_show_usage): Add -xnone, -xdebugn, and -xdebugx. Relocate
default
	indicator.
	(ia64_init): Set md.detect_dv.
	(ia64_start_line): New static variable warned. Warn only once
when
	encountering explicit stops in automatic mode.
	* doc/c-ia64.texi: Describe -xnone, -xdebugn, and -xdebugx.
	* NEWS: Mention new default mode.

gas/testsuite/
2005-02-11  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/label.l: Adjust line numbers.
	* gas/ia64/label.s: Add .explicit.
	* gas/ia64/nop_x.s: Likewise.
	* gas/ia64/opc-a.d: Add assembler option -xnone.
	* gas/ia64/opc-b.d: Likewise.
	* gas/ia64/opc-f.d: Likewise.
	* gas/ia64/opc-i.d: Likewise.
	* gas/ia64/opc-m.d: Likewise.
	* gas/ia64/opc-x.d: Likewise.
	* gas/ia64/pseudo.d: Likewise.
	* gas/ia64/regs.d: Likewise.
	* gas/ia64/tls.d: Likewise.
	* gas/ia64/unwind-err.l: Adjust line numbers.
	* gas/ia64/unwind-err.s: Remove explicit stops.


ld/testsuite/
2005-02-11  Jan Beulich  <jbeulich@novell.com>

	* ld-elfvers/vers.exp (as_options): New. Set to -x for ia64.
	(build_binary): Pass as_options to ld_assemble.
	(test_ldfail): Likewise.
	(build_exec): Likewise.
	Pass as_options to run_ld_link_tests.
	* ld-ia64/tlsbin.s: Add .explicit.
	* ld-ia64/tlsbinpic.s: Likewise.
	* ld-ia64/tlspic1.s: Likewise.

---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/NEWS	2004-12-14
08:44:20.000000000 +0100
+++ 2005-02-11/gas/NEWS	2005-02-11 12:04:54.105276040 +0100
@@ -1,5 +1,8 @@
 -*- text -*-
 
+* The IA64 port now uses automatic dependency violation removal as its
default
+  mode.
+
 * Port to MAXQ processor contributed by HCL Tech.
 
 * Added support for generating unwind tables for ARM ELF targets.
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/config/tc-ia64.c	2005-02-11
11:09:20.000000000 +0100
+++ 2005-02-11/gas/config/tc-ia64.c	2005-02-11 12:01:05.033100304
+0100
@@ -6744,6 +6744,10 @@ md_parse_option (c, arg)
 	{
 	  md.default_explicit_mode = 0;
 	}
+      else if (strcmp (arg, "none") == 0)
+	{
+	  md.detect_dv = 0;
+	}
       else if (strcmp (arg, "debug") == 0)
 	{
 	  md.debug_dv = 1;
@@ -6753,6 +6757,11 @@ md_parse_option (c, arg)
 	  md.default_explicit_mode = 1;
 	  md.debug_dv = 1;
 	}
+      else if (strcmp (arg, "debugn") == 0)
+	{
+	  md.debug_dv = 1;
+	  md.detect_dv = 0;
+	}
       else
 	{
 	  as_bad (_("Unrecognized option '-x%s'"), arg);
@@ -6792,9 +6801,14 @@ IA-64 options:\n\
 			  EF_IA_64_NOFUNCDESC_CONS_GP)\n\
   -milp32|-milp64|-mlp64|-mp64	select data model (default
-mlp64)\n\
   -mle | -mbe		  select little- or big-endian byte order
(default -mle)\n\
-  -x | -xexplicit	  turn on dependency violation checking
(default)\n\
-  -xauto		  automagically remove dependency violations\n\
-  -xdebug		  debug dependency violation checker\n"),
+  -x | -xexplicit	  turn on dependency violation checking\n\
+  -xauto		  automagically remove dependency violations
(default)\n\
+  -xnone		  turn off dependency violation checking\n\
+  -xdebug		  debug dependency violation checker\n\
+  -xdebugn		  debug dependency violation checker but turn
off\n\
+			  dependency violation checking\n\
+  -xdebugx		  debug dependency violation checker and turn
on\n\
+			  dependency violation checking\n"),
 	stream);
 }
 
@@ -7137,6 +7151,7 @@ ia64_init (argc, argv)
      char **argv ATTRIBUTE_UNUSED;
 {
   md.flags = MD_FLAGS_DEFAULT;
+  md.detect_dv = 1;
 }
 
 /* Return a string for the target object file format.  */
@@ -7212,7 +7227,15 @@ ia64_start_line ()
   if (input_line_pointer[0] == ';' && input_line_pointer[-1] == ';')
     {
       if (md.detect_dv && !md.explicit_mode)
-	as_warn (_("Explicit stops are ignored in auto mode"));
+	{
+	  static int warned;
+
+	  if (!warned)
+	    {
+	      warned = 1;
+	      as_warn (_("Explicit stops are ignored in auto mode"));
+	    }
+	}
       else
 	insn_group_break (1, 0, 0);
     }
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/doc/c-ia64.texi	2005-02-11
08:39:38.000000000 +0100
+++ 2005-02-11/gas/doc/c-ia64.texi	2005-02-11 12:03:42.319189184
+0100
@@ -67,17 +67,25 @@ IA-64 machine code always uses little-en
 
 @item -x
 @item -xexplicit
-These options turn on dependency violation checking.  This checking is
turned on by
-default.
+These options turn on dependency violation checking.
 
 @item -xauto
 This option instructs the assembler to automatically insert stop bits
where necessary
-to remove dependency violations.
+to remove dependency violations.  This is the default mode.
+
+@item -xnone
+This option turns off dependency violation checking.
 
 @item -xdebug
 This turns on debug output intended to help tracking down bugs in the
dependency
 violation checker.
 
+@item -xdebugn
+This is a shortcut for -xnone -xdebug.
+
+@item -xdebugx
+This is a shortcut for -xexplicit -xdebug.
+
 @end table
 
 @cindex IA-64 Syntax
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/label.l	2005-01-21
15:52:42.000000000 +0100
+++ 2005-02-11/gas/testsuite/gas/ia64/label.l	2005-02-08
10:34:15.000000000 +0100
@@ -1,3 +1,3 @@
 .*: Assembler messages:
-.*:11: Error: Label must be first in a bundle
-.*:18: Error: Label must be first in a bundle
+.*:12: Error: Label must be first in a bundle
+.*:19: Error: Label must be first in a bundle
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/label.s	2005-01-20
11:37:08.000000000 +0100
+++ 2005-02-11/gas/testsuite/gas/ia64/label.s	2005-02-08
10:34:23.000000000 +0100
@@ -1,3 +1,4 @@
+.explicit
 start:
 {.mii
 label0:
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/nop_x.s	2005-01-21
15:56:11.000000000 +0100
+++ 2005-02-11/gas/testsuite/gas/ia64/nop_x.s	2005-02-08
10:34:49.000000000 +0100
@@ -1,3 +1,4 @@
+.explicit
 _start:
 {.mlx
 	nop	0
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/opc-a.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/opc-a.d	2005-02-04
11:11:47.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 opc-a
 
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/opc-b.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/opc-b.d	2005-02-04
11:11:58.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -d
 #name: ia64 opc-b
 
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/opc-f.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/opc-f.d	2005-02-04
11:12:02.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d --disassemble-zeroes
 # name: ia64 opc-f
 
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/opc-i.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/opc-i.d	2005-02-04
11:12:06.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 opc-i
 
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/opc-m.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/opc-m.d	2005-02-04
11:12:10.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 opc-m
 
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/opc-x.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/opc-x.d	2005-02-04
11:12:18.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -d
 #name: ia64 opc-x
 
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/pseudo.d	2005-01-21
15:10:07.000000000 +0100
+++ 2005-02-11/gas/testsuite/gas/ia64/pseudo.d	2005-02-08
10:35:27.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 pseudo-ops
 
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/regs.d	2004-06-02
16:36:20.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/regs.d	2005-02-08
10:32:11.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -d
 #name: ia64 regs
 
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/tls.d	2003-09-26
05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/tls.d	2005-02-04
15:01:12.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -dr
 #name: ia64 tls
 
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/unwind-err.l	2005-01-28
10:15:27.000000000 +0100
+++ 2005-02-11/gas/testsuite/gas/ia64/unwind-err.l	2005-02-08
10:38:38.000000000 +0100
@@ -29,6 +29,6 @@
 .*:36: Error: .save.b outside of prologue
 .*:37: Error: .altrp outside of prologue
 .*:42: Error: .prologue within prologue
-.*:52: Error: .body outside of procedure
-.*:59: Warning: Initial .prologue.*
-.*:66: Warning: Initial .body.*
+.*:50: Error: .body outside of procedure
+.*:57: Warning: Initial .prologue.*
+.*:64: Warning: Initial .body.*
---
/home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/unwind-err.s	2005-01-28
09:11:40.000000000 +0100
+++ 2005-02-11/gas/testsuite/gas/ia64/unwind-err.s	2005-02-08
10:36:18.000000000 +0100
@@ -42,11 +42,9 @@ start:
 	.prologue
 	.save		ar.lc, r31
 	mov		r31 = ar.lc
-	;;
 	.body
 	.body
 	br.ret.sptk	rp
-	;;
 .personality personality
 .handlerdata
 .body
---
/home/jbeulich/src/binutils/mainline/2005-02-11/ld/testsuite/ld-elfvers/vers.exp	2004-11-02
17:16:17.000000000 +0100
+++ 2005-02-11/ld/testsuite/ld-elfvers/vers.exp	2005-02-08
11:32:10.000000000 +0100
@@ -91,6 +91,11 @@ if [istarget mips*-*-*] {
     }
 }
 
+case $target_triplet in {
+    { ia64-*-* } { set as_options "-x" }
+    default { set as_options "" }
+}
+
 proc test_ar { test lib object expect } {
     global ar
     global nm
@@ -506,6 +511,7 @@ proc build_binary { shared pic test sour
     global host_triplet
     global tmpdir
     global as
+    global as_options
     global objdump
     global CC
     global CFLAGS
@@ -516,7 +522,7 @@ proc build_binary { shared pic test sour
 	return
     }
 
-    if ![ld_assemble $as $tmpdir/$libname.s $tmpdir/$libname.o ]    
{
+    if ![ld_assemble $as "$as_options $tmpdir/$libname.s"
$tmpdir/$libname.o ]     {
 	unresolved "$test"
 	return
     }
@@ -593,6 +599,7 @@ proc test_ldfail { test flag source exec
     global host_triplet
     global tmpdir
     global as
+    global as_options
     global objdump
     global CC
     global CFLAGS
@@ -609,7 +616,7 @@ proc test_ldfail { test flag source exec
 	return
     }
 
-    if ![ld_assemble $as $tmpdir/$execname.s $tmpdir/$execname.o ]    
{
+    if ![ld_assemble $as "$as_options $tmpdir/$execname.s"
$tmpdir/$execname.o ]     {
 	unresolved "$test"
 	return
     }
@@ -697,6 +704,7 @@ proc build_exec { test source execname f
     global host_triplet
     global tmpdir
     global as
+    global as_options
     global objdump
     global CC
     global CFLAGS
@@ -708,7 +716,7 @@ proc build_exec { test source execname f
 	return
     }
 
-    if ![ld_assemble $as $tmpdir/$execname.s $tmpdir/$execname.o ]    
{
+    if ![ld_assemble $as "$as_options $tmpdir/$execname.s"
$tmpdir/$execname.o ]     {
 	unresolved "$test"
 	return
     }
@@ -910,15 +918,15 @@ if [istarget sparc*-*-*] {
 }
 run_ld_link_tests [list "\"vers24a\"
 			 \"-shared --version-script
$srcdir/$subdir/vers24.map\"
-			 \"$as_pic_flags\" {vers24a.c vers24b.c} { {
readelf -Wrs vers24.rd } }
+			 \"$as_pic_flags $as_options\" {vers24a.c
vers24b.c} { { readelf -Wrs vers24.rd } }
 			 \"libvers24a.so\" \"-fpic\""]
 run_ld_link_tests [list "\"vers24b\"
 			 \"-shared --version-script
$srcdir/$subdir/vers24.map\"
-			 \"$as_pic_flags\" {vers24b.c vers24a.c} { {
readelf -Wrs vers24.rd } }
+			 \"$as_pic_flags $as_options\" {vers24b.c
vers24a.c} { { readelf -Wrs vers24.rd } }
 			 \"libvers24b.so\" \"-fpic\""]
 run_ld_link_tests [list "\"vers24c\"
 			 \"-shared --version-script
$srcdir/$subdir/vers24.map\"
-			 \"$as_pic_flags\" {vers24c.c} { { readelf -Wrs
vers24.rd } }
+			 \"$as_pic_flags $as_options\" {vers24c.c} { {
readelf -Wrs vers24.rd } }
 			 \"libvers24c.so\" \"-fpic\""]
 
 # Test versioned definition vs. normal definition in different files.
---
/home/jbeulich/src/binutils/mainline/2005-02-11/ld/testsuite/ld-ia64/tlsbin.s	2003-01-16
22:31:18.000000000 +0100
+++ 2005-02-11/ld/testsuite/ld-ia64/tlsbin.s	2005-02-08
11:38:39.000000000 +0100
@@ -16,6 +16,7 @@ bl5:	.space 4
 bl6:	.space 4
 bl7:	.space 4
 bl8:	.space 4
+	.explicit
 	.pred.safe_across_calls p1-p5,p16-p63
 	.text
 	.globl	_start#
---
/home/jbeulich/src/binutils/mainline/2005-02-11/ld/testsuite/ld-ia64/tlsbinpic.s	2003-01-16
22:31:18.000000000 +0100
+++ 2005-02-11/ld/testsuite/ld-ia64/tlsbinpic.s	2005-02-08
11:37:39.000000000 +0100
@@ -31,9 +31,10 @@ sh5:	.long 261
 sh6:	.long 262
 sh7:	.long 263
 sh8:	.long 264
+	.explicit
+	.pred.safe_across_calls p1-p5,p16-p63
 	/* Force .text aligned to 4K, so it very likely gets at
 	   0x4000000000001000.  */
-	.pred.safe_across_calls p1-p5,p16-p63
 	.text
 	.balign	4096
 	.globl	fn2#
---
/home/jbeulich/src/binutils/mainline/2005-02-11/ld/testsuite/ld-ia64/tlspic1.s	2003-01-18
00:27:57.000000000 +0100
+++ 2005-02-11/ld/testsuite/ld-ia64/tlspic1.s	2005-02-08
11:37:50.000000000 +0100
@@ -30,8 +30,9 @@ sh5:	.long 261
 sh6:	.long 262
 sh7:	.long 263
 sh8:	.long 264
-	/* Force .text aligned to 4K, so it very likely gets at 0x1000. 
*/
+	.explicit
 	.pred.safe_across_calls p1-p5,p16-p63
+	/* Force .text aligned to 4K, so it very likely gets at 0x1000. 
*/
 	.text
 	.balign	4096
 	.globl	fn1#


[-- Attachment #2: binutils-mainline-ia64-default-mode.patch --]
[-- Type: text/plain, Size: 13636 bytes --]

This makes automatic mode the default (matching ias behavior), adding a command
line option (-xnone) to disable that.

Built and tested on ia64-unknown-linux-gnu.

Jan

gas/
2005-02-11  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (md_parse_option): Handle -xnone and -xdebugn.
	(md_show_usage): Add -xnone, -xdebugn, and -xdebugx. Relocate default
	indicator.
	(ia64_init): Set md.detect_dv.
	(ia64_start_line): New static variable warned. Warn only once when
	encountering explicit stops in automatic mode.
	* doc/c-ia64.texi: Describe -xnone, -xdebugn, and -xdebugx.
	* NEWS: Mention new default mode.

gas/testsuite/
2005-02-11  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/label.l: Adjust line numbers.
	* gas/ia64/label.s: Add .explicit.
	* gas/ia64/nop_x.s: Likewise.
	* gas/ia64/opc-a.d: Add assembler option -xnone.
	* gas/ia64/opc-b.d: Likewise.
	* gas/ia64/opc-f.d: Likewise.
	* gas/ia64/opc-i.d: Likewise.
	* gas/ia64/opc-m.d: Likewise.
	* gas/ia64/opc-x.d: Likewise.
	* gas/ia64/pseudo.d: Likewise.
	* gas/ia64/regs.d: Likewise.
	* gas/ia64/tls.d: Likewise.
	* gas/ia64/unwind-err.l: Adjust line numbers.
	* gas/ia64/unwind-err.s: Remove explicit stops.


ld/testsuite/
2005-02-11  Jan Beulich  <jbeulich@novell.com>

	* ld-elfvers/vers.exp (as_options): New. Set to -x for ia64.
	(build_binary): Pass as_options to ld_assemble.
	(test_ldfail): Likewise.
	(build_exec): Likewise.
	Pass as_options to run_ld_link_tests.
	* ld-ia64/tlsbin.s: Add .explicit.
	* ld-ia64/tlsbinpic.s: Likewise.
	* ld-ia64/tlspic1.s: Likewise.

--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/NEWS	2004-12-14 08:44:20.000000000 +0100
+++ 2005-02-11/gas/NEWS	2005-02-11 12:04:54.105276040 +0100
@@ -1,5 +1,8 @@
 -*- text -*-
 
+* The IA64 port now uses automatic dependency violation removal as its default
+  mode.
+
 * Port to MAXQ processor contributed by HCL Tech.
 
 * Added support for generating unwind tables for ARM ELF targets.
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/config/tc-ia64.c	2005-02-11 11:09:20.000000000 +0100
+++ 2005-02-11/gas/config/tc-ia64.c	2005-02-11 12:01:05.033100304 +0100
@@ -6744,6 +6744,10 @@ md_parse_option (c, arg)
 	{
 	  md.default_explicit_mode = 0;
 	}
+      else if (strcmp (arg, "none") == 0)
+	{
+	  md.detect_dv = 0;
+	}
       else if (strcmp (arg, "debug") == 0)
 	{
 	  md.debug_dv = 1;
@@ -6753,6 +6757,11 @@ md_parse_option (c, arg)
 	  md.default_explicit_mode = 1;
 	  md.debug_dv = 1;
 	}
+      else if (strcmp (arg, "debugn") == 0)
+	{
+	  md.debug_dv = 1;
+	  md.detect_dv = 0;
+	}
       else
 	{
 	  as_bad (_("Unrecognized option '-x%s'"), arg);
@@ -6792,9 +6801,14 @@ IA-64 options:\n\
 			  EF_IA_64_NOFUNCDESC_CONS_GP)\n\
   -milp32|-milp64|-mlp64|-mp64	select data model (default -mlp64)\n\
   -mle | -mbe		  select little- or big-endian byte order (default -mle)\n\
-  -x | -xexplicit	  turn on dependency violation checking (default)\n\
-  -xauto		  automagically remove dependency violations\n\
-  -xdebug		  debug dependency violation checker\n"),
+  -x | -xexplicit	  turn on dependency violation checking\n\
+  -xauto		  automagically remove dependency violations (default)\n\
+  -xnone		  turn off dependency violation checking\n\
+  -xdebug		  debug dependency violation checker\n\
+  -xdebugn		  debug dependency violation checker but turn off\n\
+			  dependency violation checking\n\
+  -xdebugx		  debug dependency violation checker and turn on\n\
+			  dependency violation checking\n"),
 	stream);
 }
 
@@ -7137,6 +7151,7 @@ ia64_init (argc, argv)
      char **argv ATTRIBUTE_UNUSED;
 {
   md.flags = MD_FLAGS_DEFAULT;
+  md.detect_dv = 1;
 }
 
 /* Return a string for the target object file format.  */
@@ -7212,7 +7227,15 @@ ia64_start_line ()
   if (input_line_pointer[0] == ';' && input_line_pointer[-1] == ';')
     {
       if (md.detect_dv && !md.explicit_mode)
-	as_warn (_("Explicit stops are ignored in auto mode"));
+	{
+	  static int warned;
+
+	  if (!warned)
+	    {
+	      warned = 1;
+	      as_warn (_("Explicit stops are ignored in auto mode"));
+	    }
+	}
       else
 	insn_group_break (1, 0, 0);
     }
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/doc/c-ia64.texi	2005-02-11 08:39:38.000000000 +0100
+++ 2005-02-11/gas/doc/c-ia64.texi	2005-02-11 12:03:42.319189184 +0100
@@ -67,17 +67,25 @@ IA-64 machine code always uses little-en
 
 @item -x
 @item -xexplicit
-These options turn on dependency violation checking.  This checking is turned on by
-default.
+These options turn on dependency violation checking.
 
 @item -xauto
 This option instructs the assembler to automatically insert stop bits where necessary
-to remove dependency violations.
+to remove dependency violations.  This is the default mode.
+
+@item -xnone
+This option turns off dependency violation checking.
 
 @item -xdebug
 This turns on debug output intended to help tracking down bugs in the dependency
 violation checker.
 
+@item -xdebugn
+This is a shortcut for -xnone -xdebug.
+
+@item -xdebugx
+This is a shortcut for -xexplicit -xdebug.
+
 @end table
 
 @cindex IA-64 Syntax
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/label.l	2005-01-21 15:52:42.000000000 +0100
+++ 2005-02-11/gas/testsuite/gas/ia64/label.l	2005-02-08 10:34:15.000000000 +0100
@@ -1,3 +1,3 @@
 .*: Assembler messages:
-.*:11: Error: Label must be first in a bundle
-.*:18: Error: Label must be first in a bundle
+.*:12: Error: Label must be first in a bundle
+.*:19: Error: Label must be first in a bundle
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/label.s	2005-01-20 11:37:08.000000000 +0100
+++ 2005-02-11/gas/testsuite/gas/ia64/label.s	2005-02-08 10:34:23.000000000 +0100
@@ -1,3 +1,4 @@
+.explicit
 start:
 {.mii
 label0:
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/nop_x.s	2005-01-21 15:56:11.000000000 +0100
+++ 2005-02-11/gas/testsuite/gas/ia64/nop_x.s	2005-02-08 10:34:49.000000000 +0100
@@ -1,3 +1,4 @@
+.explicit
 _start:
 {.mlx
 	nop	0
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/opc-a.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/opc-a.d	2005-02-04 11:11:47.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 opc-a
 
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/opc-b.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/opc-b.d	2005-02-04 11:11:58.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -d
 #name: ia64 opc-b
 
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/opc-f.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/opc-f.d	2005-02-04 11:12:02.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d --disassemble-zeroes
 # name: ia64 opc-f
 
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/opc-i.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/opc-i.d	2005-02-04 11:12:06.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 opc-i
 
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/opc-m.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/opc-m.d	2005-02-04 11:12:10.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 opc-m
 
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/opc-x.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/opc-x.d	2005-02-04 11:12:18.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -d
 #name: ia64 opc-x
 
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/pseudo.d	2005-01-21 15:10:07.000000000 +0100
+++ 2005-02-11/gas/testsuite/gas/ia64/pseudo.d	2005-02-08 10:35:27.000000000 +0100
@@ -1,3 +1,4 @@
+# as: -xnone
 # objdump: -d
 # name: ia64 pseudo-ops
 
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/regs.d	2004-06-02 16:36:20.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/regs.d	2005-02-08 10:32:11.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -d
 #name: ia64 regs
 
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/tls.d	2003-09-26 05:54:09.000000000 +0200
+++ 2005-02-11/gas/testsuite/gas/ia64/tls.d	2005-02-04 15:01:12.000000000 +0100
@@ -1,3 +1,4 @@
+#as: -xnone
 #objdump: -dr
 #name: ia64 tls
 
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/unwind-err.l	2005-01-28 10:15:27.000000000 +0100
+++ 2005-02-11/gas/testsuite/gas/ia64/unwind-err.l	2005-02-08 10:38:38.000000000 +0100
@@ -29,6 +29,6 @@
 .*:36: Error: .save.b outside of prologue
 .*:37: Error: .altrp outside of prologue
 .*:42: Error: .prologue within prologue
-.*:52: Error: .body outside of procedure
-.*:59: Warning: Initial .prologue.*
-.*:66: Warning: Initial .body.*
+.*:50: Error: .body outside of procedure
+.*:57: Warning: Initial .prologue.*
+.*:64: Warning: Initial .body.*
--- /home/jbeulich/src/binutils/mainline/2005-02-11/gas/testsuite/gas/ia64/unwind-err.s	2005-01-28 09:11:40.000000000 +0100
+++ 2005-02-11/gas/testsuite/gas/ia64/unwind-err.s	2005-02-08 10:36:18.000000000 +0100
@@ -42,11 +42,9 @@ start:
 	.prologue
 	.save		ar.lc, r31
 	mov		r31 = ar.lc
-	;;
 	.body
 	.body
 	br.ret.sptk	rp
-	;;
 .personality personality
 .handlerdata
 .body
--- /home/jbeulich/src/binutils/mainline/2005-02-11/ld/testsuite/ld-elfvers/vers.exp	2004-11-02 17:16:17.000000000 +0100
+++ 2005-02-11/ld/testsuite/ld-elfvers/vers.exp	2005-02-08 11:32:10.000000000 +0100
@@ -91,6 +91,11 @@ if [istarget mips*-*-*] {
     }
 }
 
+case $target_triplet in {
+    { ia64-*-* } { set as_options "-x" }
+    default { set as_options "" }
+}
+
 proc test_ar { test lib object expect } {
     global ar
     global nm
@@ -506,6 +511,7 @@ proc build_binary { shared pic test sour
     global host_triplet
     global tmpdir
     global as
+    global as_options
     global objdump
     global CC
     global CFLAGS
@@ -516,7 +522,7 @@ proc build_binary { shared pic test sour
 	return
     }
 
-    if ![ld_assemble $as $tmpdir/$libname.s $tmpdir/$libname.o ]     {
+    if ![ld_assemble $as "$as_options $tmpdir/$libname.s" $tmpdir/$libname.o ]     {
 	unresolved "$test"
 	return
     }
@@ -593,6 +599,7 @@ proc test_ldfail { test flag source exec
     global host_triplet
     global tmpdir
     global as
+    global as_options
     global objdump
     global CC
     global CFLAGS
@@ -609,7 +616,7 @@ proc test_ldfail { test flag source exec
 	return
     }
 
-    if ![ld_assemble $as $tmpdir/$execname.s $tmpdir/$execname.o ]     {
+    if ![ld_assemble $as "$as_options $tmpdir/$execname.s" $tmpdir/$execname.o ]     {
 	unresolved "$test"
 	return
     }
@@ -697,6 +704,7 @@ proc build_exec { test source execname f
     global host_triplet
     global tmpdir
     global as
+    global as_options
     global objdump
     global CC
     global CFLAGS
@@ -708,7 +716,7 @@ proc build_exec { test source execname f
 	return
     }
 
-    if ![ld_assemble $as $tmpdir/$execname.s $tmpdir/$execname.o ]     {
+    if ![ld_assemble $as "$as_options $tmpdir/$execname.s" $tmpdir/$execname.o ]     {
 	unresolved "$test"
 	return
     }
@@ -910,15 +918,15 @@ if [istarget sparc*-*-*] {
 }
 run_ld_link_tests [list "\"vers24a\"
 			 \"-shared --version-script $srcdir/$subdir/vers24.map\"
-			 \"$as_pic_flags\" {vers24a.c vers24b.c} { { readelf -Wrs vers24.rd } }
+			 \"$as_pic_flags $as_options\" {vers24a.c vers24b.c} { { readelf -Wrs vers24.rd } }
 			 \"libvers24a.so\" \"-fpic\""]
 run_ld_link_tests [list "\"vers24b\"
 			 \"-shared --version-script $srcdir/$subdir/vers24.map\"
-			 \"$as_pic_flags\" {vers24b.c vers24a.c} { { readelf -Wrs vers24.rd } }
+			 \"$as_pic_flags $as_options\" {vers24b.c vers24a.c} { { readelf -Wrs vers24.rd } }
 			 \"libvers24b.so\" \"-fpic\""]
 run_ld_link_tests [list "\"vers24c\"
 			 \"-shared --version-script $srcdir/$subdir/vers24.map\"
-			 \"$as_pic_flags\" {vers24c.c} { { readelf -Wrs vers24.rd } }
+			 \"$as_pic_flags $as_options\" {vers24c.c} { { readelf -Wrs vers24.rd } }
 			 \"libvers24c.so\" \"-fpic\""]
 
 # Test versioned definition vs. normal definition in different files.
--- /home/jbeulich/src/binutils/mainline/2005-02-11/ld/testsuite/ld-ia64/tlsbin.s	2003-01-16 22:31:18.000000000 +0100
+++ 2005-02-11/ld/testsuite/ld-ia64/tlsbin.s	2005-02-08 11:38:39.000000000 +0100
@@ -16,6 +16,7 @@ bl5:	.space 4
 bl6:	.space 4
 bl7:	.space 4
 bl8:	.space 4
+	.explicit
 	.pred.safe_across_calls p1-p5,p16-p63
 	.text
 	.globl	_start#
--- /home/jbeulich/src/binutils/mainline/2005-02-11/ld/testsuite/ld-ia64/tlsbinpic.s	2003-01-16 22:31:18.000000000 +0100
+++ 2005-02-11/ld/testsuite/ld-ia64/tlsbinpic.s	2005-02-08 11:37:39.000000000 +0100
@@ -31,9 +31,10 @@ sh5:	.long 261
 sh6:	.long 262
 sh7:	.long 263
 sh8:	.long 264
+	.explicit
+	.pred.safe_across_calls p1-p5,p16-p63
 	/* Force .text aligned to 4K, so it very likely gets at
 	   0x4000000000001000.  */
-	.pred.safe_across_calls p1-p5,p16-p63
 	.text
 	.balign	4096
 	.globl	fn2#
--- /home/jbeulich/src/binutils/mainline/2005-02-11/ld/testsuite/ld-ia64/tlspic1.s	2003-01-18 00:27:57.000000000 +0100
+++ 2005-02-11/ld/testsuite/ld-ia64/tlspic1.s	2005-02-08 11:37:50.000000000 +0100
@@ -30,8 +30,9 @@ sh5:	.long 261
 sh6:	.long 262
 sh7:	.long 263
 sh8:	.long 264
-	/* Force .text aligned to 4K, so it very likely gets at 0x1000.  */
+	.explicit
 	.pred.safe_across_calls p1-p5,p16-p63
+	/* Force .text aligned to 4K, so it very likely gets at 0x1000.  */
 	.text
 	.balign	4096
 	.globl	fn1#

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-02-11 19:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-02-08 16:54 [PATCH] Re: ia64 gas default mode Jan Beulich
2005-02-11  2:46 ` James E Wilson
2005-02-11  9:34   ` Ian Lance Taylor
2005-02-11 15:56 Jan Beulich
     [not found] <s20c93b8.043@emea1-mh.id2.novell.com>
2005-02-11 20:58 ` James E Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).