diff options
author | Jan Beulich <jbeulich@novell.com> | 2005-02-14 08:02:51 +0000 |
---|---|---|
committer | Jan Beulich <jbeulich@novell.com> | 2005-02-14 08:02:51 +0000 |
commit | f1dab70d1a825b97aac510777cc023dc3b6ff8f4 (patch) | |
tree | b2ec962009912594020e3c580a2d1a67dd776b32 /gas | |
parent | 20b36a95ab568a0de00130164834322706e59d1d (diff) | |
download | gdb-f1dab70d1a825b97aac510777cc023dc3b6ff8f4.zip gdb-f1dab70d1a825b97aac510777cc023dc3b6ff8f4.tar.gz gdb-f1dab70d1a825b97aac510777cc023dc3b6ff8f4.tar.bz2 |
gas/
2005-02-13 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-13 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-13 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.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 11 | ||||
-rw-r--r-- | gas/NEWS | 3 | ||||
-rw-r--r-- | gas/config/tc-ia64.c | 31 | ||||
-rw-r--r-- | gas/doc/c-ia64.texi | 14 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 17 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/label.l | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/label.s | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/nop_x.s | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/opc-a.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/opc-b.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/opc-f.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/opc-i.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/opc-m.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/opc-x.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/pseudo.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/regs.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/tls.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/unwind-err.l | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/ia64/unwind-err.s | 2 |
19 files changed, 85 insertions, 14 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 19b4ee9..fe934ea 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,16 @@ 2005-02-13 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. + +2005-02-13 Jan Beulich <jbeulich@novell.com> + * config/tc-ia64.c (dot_rot): Add comment that name strings should be freed when wiping out previous state. Canonicalize names before use. Free name string when detecting redefinition. @@ -3,6 +3,9 @@ * New command line option -munwind-check=[warning|error] for IA64 targets. +* 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. diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index 7dcb67c..3da3dda 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -6830,6 +6830,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; @@ -6839,6 +6843,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); @@ -6880,9 +6889,14 @@ IA-64 options:\n\ -mle | -mbe select little- or big-endian byte order (default -mle)\n\ -munwind-check=[warning|error]\n\ unwind directive check (default -munwind-check=warning)\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); } @@ -7224,6 +7238,7 @@ ia64_init (argc, argv) char **argv ATTRIBUTE_UNUSED; { md.flags = MD_FLAGS_DEFAULT; + md.detect_dv = 1; /* FIXME: We should change it to unwind_check_error someday. */ md.unwind_check = unwind_check_warning; } @@ -7301,7 +7316,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); } diff --git a/gas/doc/c-ia64.texi b/gas/doc/c-ia64.texi index cfe6469..4858cb9 100644 --- a/gas/doc/c-ia64.texi +++ b/gas/doc/c-ia64.texi @@ -75,17 +75,25 @@ assembler issue an error when an unwind directive check fails. @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 diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 823d36e..07662e9 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,5 +1,22 @@ 2005-02-13 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. + +2005-02-13 Jan Beulich <jbeulich@novell.com> + * gas/ia64/pound.[ls]: New. * gas/ia64/ia64.exp: Run new test. diff --git a/gas/testsuite/gas/ia64/label.l b/gas/testsuite/gas/ia64/label.l index 288fce5..89eba59 100644 --- a/gas/testsuite/gas/ia64/label.l +++ b/gas/testsuite/gas/ia64/label.l @@ -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 diff --git a/gas/testsuite/gas/ia64/label.s b/gas/testsuite/gas/ia64/label.s index 6eff4c9..dbe5c38 100644 --- a/gas/testsuite/gas/ia64/label.s +++ b/gas/testsuite/gas/ia64/label.s @@ -1,3 +1,4 @@ +.explicit start: {.mii label0: diff --git a/gas/testsuite/gas/ia64/nop_x.s b/gas/testsuite/gas/ia64/nop_x.s index 33c7e0c..61265b3 100644 --- a/gas/testsuite/gas/ia64/nop_x.s +++ b/gas/testsuite/gas/ia64/nop_x.s @@ -1,3 +1,4 @@ +.explicit _start: {.mlx nop 0 diff --git a/gas/testsuite/gas/ia64/opc-a.d b/gas/testsuite/gas/ia64/opc-a.d index 44d7daf..ed599bd 100644 --- a/gas/testsuite/gas/ia64/opc-a.d +++ b/gas/testsuite/gas/ia64/opc-a.d @@ -1,3 +1,4 @@ +# as: -xnone # objdump: -d # name: ia64 opc-a diff --git a/gas/testsuite/gas/ia64/opc-b.d b/gas/testsuite/gas/ia64/opc-b.d index 9dd9874..64a4928 100644 --- a/gas/testsuite/gas/ia64/opc-b.d +++ b/gas/testsuite/gas/ia64/opc-b.d @@ -1,3 +1,4 @@ +#as: -xnone #objdump: -d #name: ia64 opc-b diff --git a/gas/testsuite/gas/ia64/opc-f.d b/gas/testsuite/gas/ia64/opc-f.d index 4b39b9b..fa53116 100644 --- a/gas/testsuite/gas/ia64/opc-f.d +++ b/gas/testsuite/gas/ia64/opc-f.d @@ -1,3 +1,4 @@ +# as: -xnone # objdump: -d --disassemble-zeroes # name: ia64 opc-f diff --git a/gas/testsuite/gas/ia64/opc-i.d b/gas/testsuite/gas/ia64/opc-i.d index 3b99593..5c2bf0c 100644 --- a/gas/testsuite/gas/ia64/opc-i.d +++ b/gas/testsuite/gas/ia64/opc-i.d @@ -1,3 +1,4 @@ +# as: -xnone # objdump: -d # name: ia64 opc-i diff --git a/gas/testsuite/gas/ia64/opc-m.d b/gas/testsuite/gas/ia64/opc-m.d index ea5ddac..dcd0195 100644 --- a/gas/testsuite/gas/ia64/opc-m.d +++ b/gas/testsuite/gas/ia64/opc-m.d @@ -1,3 +1,4 @@ +# as: -xnone # objdump: -d # name: ia64 opc-m diff --git a/gas/testsuite/gas/ia64/opc-x.d b/gas/testsuite/gas/ia64/opc-x.d index 77010e8..dc64558 100644 --- a/gas/testsuite/gas/ia64/opc-x.d +++ b/gas/testsuite/gas/ia64/opc-x.d @@ -1,3 +1,4 @@ +#as: -xnone #objdump: -d #name: ia64 opc-x diff --git a/gas/testsuite/gas/ia64/pseudo.d b/gas/testsuite/gas/ia64/pseudo.d index c636e50..67a1103 100644 --- a/gas/testsuite/gas/ia64/pseudo.d +++ b/gas/testsuite/gas/ia64/pseudo.d @@ -1,3 +1,4 @@ +# as: -xnone # objdump: -d # name: ia64 pseudo-ops diff --git a/gas/testsuite/gas/ia64/regs.d b/gas/testsuite/gas/ia64/regs.d index 8ff41a4..e51c500 100644 --- a/gas/testsuite/gas/ia64/regs.d +++ b/gas/testsuite/gas/ia64/regs.d @@ -1,3 +1,4 @@ +#as: -xnone #objdump: -d #name: ia64 regs diff --git a/gas/testsuite/gas/ia64/tls.d b/gas/testsuite/gas/ia64/tls.d index 57e0767..f067e05 100644 --- a/gas/testsuite/gas/ia64/tls.d +++ b/gas/testsuite/gas/ia64/tls.d @@ -1,3 +1,4 @@ +#as: -xnone #objdump: -dr #name: ia64 tls diff --git a/gas/testsuite/gas/ia64/unwind-err.l b/gas/testsuite/gas/ia64/unwind-err.l index 7641df7..153451f 100644 --- a/gas/testsuite/gas/ia64/unwind-err.l +++ b/gas/testsuite/gas/ia64/unwind-err.l @@ -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.* diff --git a/gas/testsuite/gas/ia64/unwind-err.s b/gas/testsuite/gas/ia64/unwind-err.s index 49cb6c9..f50cc3d 100644 --- a/gas/testsuite/gas/ia64/unwind-err.s +++ b/gas/testsuite/gas/ia64/unwind-err.s @@ -42,11 +42,9 @@ start: .prologue .save ar.lc, r31 mov r31 = ar.lc - ;; .body .body br.ret.sptk rp - ;; .personality personality .handlerdata .body |