aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2012-11-20 17:53:46 +0000
committerRoland McGrath <roland@gnu.org>2012-11-20 17:53:46 +0000
commitbacebabc8edc98e5651097a1d2640ffe81736004 (patch)
treeae52867ba7fce689c98e2672c97f45215651274e
parentef37bb07f04fb434fe37331e8cdd2e174394523d (diff)
downloadgdb-bacebabc8edc98e5651097a1d2640ffe81736004.zip
gdb-bacebabc8edc98e5651097a1d2640ffe81736004.tar.gz
gdb-bacebabc8edc98e5651097a1d2640ffe81736004.tar.bz2
gas/
* config/tc-arm.c (arm_symbol_chars): New variable. * config/tc-arm.h (tc_symbol_chars): New macro, defined to that. gas/testsuite/ * gas/arm/macro-pld.s: New file. * gas/arm/macro-pld.d: New file.
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-arm.c15
-rw-r--r--gas/config/tc-arm.h3
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/arm/macro-pld.d8
-rw-r--r--gas/testsuite/gas/arm/macro-pld.s4
6 files changed, 36 insertions, 6 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index bcf76b8..c9c0e36 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -9,6 +9,11 @@
* config/tc-aarch64.c (first_error_fmt): Add ATTRIBUTE_UNUSED to the
local variable "ret".
+2012-11-20 Roland McGrath <mcgrathr@google.com>
+
+ * config/tc-arm.c (arm_symbol_chars): New variable.
+ * config/tc-arm.h (tc_symbol_chars): New macro, defined to that.
+
2012-11-20 David S. Miller <davem@davemloft.net>
* config/tc-sparc.c (md_parse_option): Only certain arch
@@ -644,7 +649,7 @@
CPU_BTVER2_FLAGS.
(i386_align_code): Add case for PROCESSOR_BT.
- * config/tc-i386.h (enum processor_type): Add PROCESSOR_BT.
+ * config/tc-i386.h (enum processor_type): Add PROCESSOR_BT.
* doc/c-i386.texi: Add -march={btver1, btver2} options.
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 971ac6f..4cd2745 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -321,6 +321,11 @@ static int implicit_it_mode = IMPLICIT_IT_MODE_ARM;
static bfd_boolean unified_syntax = FALSE;
+/* An immediate operand can start with #, and ld*, st*, pld operands
+ can contain [ and ]. We need to tell APP not to elide whitespace
+ before a [, which can appear as the first operand for pld. */
+const char arm_symbol_chars[] = "#[]";
+
enum neon_el_type
{
NT_invtype,
@@ -10225,7 +10230,7 @@ do_t_branch (void)
}
/* Actually do the work for Thumb state bkpt and hlt. The only difference
- between the two is the maximum immediate allowed - which is passed in
+ between the two is the maximum immediate allowed - which is passed in
RANGE. */
static void
do_t_bkpt_hlt1 (int range)
@@ -14660,7 +14665,7 @@ do_vfp_nsyn_cvtz (void)
}
static void
-do_vfp_nsyn_cvt_fpv8 (enum neon_cvt_flavour flavour,
+do_vfp_nsyn_cvt_fpv8 (enum neon_cvt_flavour flavour,
enum neon_cvt_mode mode)
{
int sz, op;
@@ -14720,9 +14725,9 @@ do_neon_cvt_1 (enum neon_cvt_mode mode)
/* PR11109: Handle round-to-zero for VCVT conversions. */
if (mode == neon_cvt_mode_z
&& ARM_CPU_HAS_FEATURE (cpu_variant, fpu_arch_vfp_v2)
- && (flavour == neon_cvt_flavour_s32_f32
- || flavour == neon_cvt_flavour_u32_f32
- || flavour == neon_cvt_flavour_s32_f64
+ && (flavour == neon_cvt_flavour_s32_f32
+ || flavour == neon_cvt_flavour_u32_f32
+ || flavour == neon_cvt_flavour_s32_f64
|| flavour == neon_cvt_flavour_u32_f64)
&& (rs == NS_FD || rs == NS_FF))
{
diff --git a/gas/config/tc-arm.h b/gas/config/tc-arm.h
index da6469c..3a0fab0 100644
--- a/gas/config/tc-arm.h
+++ b/gas/config/tc-arm.h
@@ -82,6 +82,9 @@ struct fix;
/* We support double slash line-comments for compatibility with the ARM AArch64 Assembler. */
#define DOUBLESLASH_LINE_COMMENTS
+#define tc_symbol_chars arm_symbol_chars
+extern const char arm_symbol_chars[];
+
#define TC_FORCE_RELOCATION(FIX) arm_force_relocation (FIX)
extern unsigned int arm_frag_max_var (struct frag *);
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 8c21a0c..b05f281 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -3,6 +3,11 @@
* gas/s390/zarch-z9-109.d: Fix srstu opcode.
* gas/s390/zarch-z900.d: Replace lasp with strag.
+2012-11-20 Roland McGrath <mcgrathr@google.com>
+
+ * gas/arm/macro-pld.s: New file.
+ * gas/arm/macro-pld.d: New file.
+
2012-11-14 David Holsgrove <david.holsgrove@xilinx.com>
* gas/microblaze/allinsn.s: Add mbar and sleep
diff --git a/gas/testsuite/gas/arm/macro-pld.d b/gas/testsuite/gas/arm/macro-pld.d
new file mode 100644
index 0000000..8f9d86c8
--- /dev/null
+++ b/gas/testsuite/gas/arm/macro-pld.d
@@ -0,0 +1,8 @@
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0+ <.*>:
+\s*0:\s+f5d0f000\s+pld\s+\[r0\]
diff --git a/gas/testsuite/gas/arm/macro-pld.s b/gas/testsuite/gas/arm/macro-pld.s
new file mode 100644
index 0000000..cf4df8b
--- /dev/null
+++ b/gas/testsuite/gas/arm/macro-pld.s
@@ -0,0 +1,4 @@
+.macro foo arg, rest:vararg
+ \rest
+.endm
+ foo r0, pld [r0]