[lkml]   [2017]   [Dec]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v2 11/18] arm64: make mrs_s and msr_s macros work with LTO
On Thu, Nov 16, 2017 at 2:54 PM, Alex Matveev <> wrote:
> On Fri, 17 Nov 2017 00:29:20 +0300
> Yury Norov <> wrote:
>> On Thu, Nov 16, 2017 at 01:55:31PM +0000, Robin Murphy wrote:
>> > Given that this whole mrs_s infrastructure is a workaround for older
>> > assemblers which don't support the "S<op0>_<op1>_<Cn>_<Cm>_<op2>"
>> > syntax for arbitrary unnamed system registers (which IIRC was a
>> > fairly late addition to the architecture), the only way it could be
>> > "fixed" on the toolchain side is by removing all those older
>> > toolchains from existence. Good luck with that ;)
> commit 72c583951526
> Author: Catalin Marinas <>
> Date: Thu Jul 24 14:14:42 2014 +0100
> arm64: gicv3: Allow GICv3 compilation with older binutils
> GICv3 introduces new system registers accessible with the full
> msr/mrs syntax (e.g. mrs x0, Sop0_op1_CRm_CRn_op2). However, only
> recent binutils understand the new syntax. This patch introduces
> msr_s/mrs_s assembly macros which generate the equivalent
> instructions above and converts the existing GICv3 code (both
> drivers/irqchip/ and arch/arm64/kernel/).
> The question is - is it OK to drop compatibility with old versions of
> binutils (which were already "older" back in 2014)? It's not my call to
> make. If yes, then it should be possible to make this change more
> aesthetic by reverting to "S<op>" (however, it will affect more places
> as now some users of register definitions expect them to be numbers, not
> "S<op>" strings).

I don't think we found a resolution to the compatibility question
posed. Given that the affected file is only in use for arm64, I think
the arm64 maintainers should make the call. I encourage them to drop
support for old toolchains; the use of ld-version macros can help warn
users using old toolchains on newer kernel versions.

 \ /
  Last update: 2017-12-04 18:34    [W:0.075 / U:1.176 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site