From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 02/11] ARM: samsung: fix assembly syntax for new gas
Date: Sun, 17 Feb 2013 15:37:13 +0000 [thread overview]
Message-ID: <201302171537.13341.arnd@arndb.de> (raw)
In-Reply-To: <20130217003826.GB2317@blackmetal.musicnaut.iki.fi>
On Sunday 17 February 2013, Aaro Koskinen wrote:
> Hi,
>
> On Thu, Feb 14, 2013 at 02:49:18PM +0100, Arnd Bergmann wrote:
> > Recent assembler versions complain about extraneous
> > whitespace inside [] brackets. This fixes all of
> > these instances for the samsung platforms. We should
> > backport this to all kernels that might need to
> > be built with new binutils.
>
> Which binutils version is this?
I saw it first on the ubuntu binutils-arm-linux-gnueabihf-2.23.1-
0ubuntu6cross1.89 binaries but have now successfully bisected it to
the below commit that introduced the kernel build breakage in the
upstream binutils-2_23-branch.
The changelog comment is rather unhelpful for determining whether
it was intentional or not, and I can't make any sense out of the
source code.
Arnd
8<--------
commit 65faec7cb829c58b20a5f26ee2908ac35165fc58
Author: Roland McGrath <roland@gnu.org>
Date: Tue Nov 20 17:58:28 2012 +0000
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.
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 8a950ec..f4f834d 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-07 James Murray <jsm@jsm-net.demon.co.uk>
* config/tc-m68hc11.c: Fix R_M68HC12_16B relocation for movb/w
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 91b29ac..5bf7d89 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 5bc1c32..09d654e 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-20 Roland McGrath <mcgrathr@google.com>
+
+ * gas/arm/macro-pld.s: New file.
+ * gas/arm/macro-pld.d: New file.
+
2012-10-09 Nagajyothi Eggone <nagajyothi.eggone@amd.com>
* gas/i386/i386.exp: Run bdver3 test cases.
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]
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: arm@kernel.org, Russell King <linux@arm.linux.org.uk>,
linux-kernel@vger.kernel.org, stable@vger.kernel.org,
Ben Dooks <ben-linux@fluff.org>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 02/11] ARM: samsung: fix assembly syntax for new gas
Date: Sun, 17 Feb 2013 15:37:13 +0000 [thread overview]
Message-ID: <201302171537.13341.arnd@arndb.de> (raw)
In-Reply-To: <20130217003826.GB2317@blackmetal.musicnaut.iki.fi>
On Sunday 17 February 2013, Aaro Koskinen wrote:
> Hi,
>
> On Thu, Feb 14, 2013 at 02:49:18PM +0100, Arnd Bergmann wrote:
> > Recent assembler versions complain about extraneous
> > whitespace inside [] brackets. This fixes all of
> > these instances for the samsung platforms. We should
> > backport this to all kernels that might need to
> > be built with new binutils.
>
> Which binutils version is this?
I saw it first on the ubuntu binutils-arm-linux-gnueabihf-2.23.1-
0ubuntu6cross1.89 binaries but have now successfully bisected it to
the below commit that introduced the kernel build breakage in the
upstream binutils-2_23-branch.
The changelog comment is rather unhelpful for determining whether
it was intentional or not, and I can't make any sense out of the
source code.
Arnd
8<--------
commit 65faec7cb829c58b20a5f26ee2908ac35165fc58
Author: Roland McGrath <roland@gnu.org>
Date: Tue Nov 20 17:58:28 2012 +0000
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.
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 8a950ec..f4f834d 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-07 James Murray <jsm@jsm-net.demon.co.uk>
* config/tc-m68hc11.c: Fix R_M68HC12_16B relocation for movb/w
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 91b29ac..5bf7d89 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 5bc1c32..09d654e 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-20 Roland McGrath <mcgrathr@google.com>
+
+ * gas/arm/macro-pld.s: New file.
+ * gas/arm/macro-pld.d: New file.
+
2012-10-09 Nagajyothi Eggone <nagajyothi.eggone@amd.com>
* gas/i386/i386.exp: Run bdver3 test cases.
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]
next prev parent reply other threads:[~2013-02-17 15:37 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-14 13:49 [PATCH 00/11] ARM warning fixes for arm-soc Arnd Bergmann
2013-02-14 13:49 ` Arnd Bergmann
2013-02-14 13:49 ` [PATCH 01/11] ARM: disable virt_to_bus/virt_to_bus almost everywhere Arnd Bergmann
2013-02-14 13:49 ` Arnd Bergmann
2013-02-16 22:18 ` Emilio López
2013-02-16 22:18 ` Emilio López
2013-02-16 23:15 ` Arnd Bergmann
2013-02-16 23:15 ` Arnd Bergmann
2013-02-20 15:14 ` James Hogan
2013-02-20 15:14 ` James Hogan
2013-02-20 16:00 ` Arnd Bergmann
2013-02-20 16:00 ` Arnd Bergmann
2013-02-20 16:32 ` James Hogan
2013-02-20 16:32 ` James Hogan
2013-02-20 16:32 ` James Hogan
2013-02-21 7:37 ` Vineet Gupta
2013-02-21 7:37 ` Vineet Gupta
2013-02-21 7:37 ` Vineet Gupta
2013-02-21 23:13 ` Stephen Rothwell
2013-02-21 23:13 ` Stephen Rothwell
2013-02-21 23:13 ` Stephen Rothwell
2013-02-25 14:18 ` Vineet Gupta
2013-02-25 14:18 ` Vineet Gupta
2013-02-25 14:18 ` Vineet Gupta
2013-02-25 14:54 ` Arnd Bergmann
2013-02-25 14:54 ` Arnd Bergmann
2013-02-14 13:49 ` [PATCH 02/11] ARM: samsung: fix assembly syntax for new gas Arnd Bergmann
2013-02-14 13:49 ` Arnd Bergmann
2013-02-16 23:25 ` Russell King - ARM Linux
2013-02-16 23:25 ` Russell King - ARM Linux
2013-02-17 14:01 ` Arnd Bergmann
2013-02-17 14:01 ` Arnd Bergmann
2013-02-17 15:37 ` Mikael Pettersson
2013-02-17 15:37 ` Mikael Pettersson
2013-02-17 15:47 ` Arnd Bergmann
2013-02-17 15:47 ` Arnd Bergmann
2013-02-17 0:38 ` Aaro Koskinen
2013-02-17 0:38 ` Aaro Koskinen
2013-02-17 15:37 ` Arnd Bergmann [this message]
2013-02-17 15:37 ` Arnd Bergmann
2013-02-14 13:49 ` [PATCH 03/11] ARM: w90x900: fix legacy assembly syntax Arnd Bergmann
2013-02-14 13:49 ` Arnd Bergmann
2013-02-14 13:49 ` [PATCH 04/11] ARM: shmobile: fix defconfig warning on CONFIG_USB Arnd Bergmann
2013-02-14 13:49 ` Arnd Bergmann
2013-02-14 13:49 ` Arnd Bergmann
2013-02-14 13:49 ` [PATCH 05/11] ARM: sa1100: don't warn about mach/ide.h Arnd Bergmann
2013-02-14 13:49 ` Arnd Bergmann
2013-02-14 13:49 ` [PATCH 06/11] ARM: integrator/versatile: fix NOMMU warnings Arnd Bergmann
2013-02-14 13:49 ` Arnd Bergmann
2013-02-15 9:12 ` Linus Walleij
2013-02-15 9:12 ` Linus Walleij
2013-02-14 13:49 ` [PATCH 07/11] ARM: integrator: fix build with INTEGRATOR_AP off Arnd Bergmann
2013-02-14 13:49 ` Arnd Bergmann
2013-02-15 9:13 ` Linus Walleij
2013-02-15 9:13 ` Linus Walleij
2013-02-14 13:49 ` [PATCH 08/11] ARM: pick Versatile by default for !MMU Arnd Bergmann
2013-02-14 13:49 ` Arnd Bergmann
2013-02-14 13:49 ` [PATCH 09/11] ARM: mvebu: allow selecting mvebu without Armada XP Arnd Bergmann
2013-02-14 13:49 ` Arnd Bergmann
2013-02-14 13:49 ` [PATCH 10/11] ARM: s3c: i2c: add platform_device forward declaration Arnd Bergmann
2013-02-14 13:49 ` Arnd Bergmann
[not found] ` <1360849767-1463135-11-git-send-email-arnd-r2nGTMty4D4@public.gmane.org>
2013-02-15 11:54 ` Wolfram Sang
2013-02-15 11:54 ` Wolfram Sang
2013-02-15 11:54 ` Wolfram Sang
2013-02-14 13:49 ` [PATCH 11/11] scripts/sortextable: silence script output Arnd Bergmann
2013-02-14 13:49 ` Arnd Bergmann
2013-02-14 19:25 ` H. Peter Anvin
2013-02-14 19:25 ` H. Peter Anvin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201302171537.13341.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.