Message ID | 20210416181421.2374588-1-jiancai@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: vdso: remove commas between macro name and arguments | expand |
I should've mentioned this patch is for 4.19 only as the code has been rewritten in later versions, but requires a large amount of backports (https://github.com/ClangBuiltLinux/linux/issues/1349). This is the only blocker for 4.19 migration to LLVM's integrated assembler on CrOS that I am aware of. Thanks, Jian On Fri, Apr 16, 2021 at 11:14 AM Jian Cai <jiancai@google.com> wrote: > > LLVM's integrated assembler does not support using commas separating > the name and arguments in .macro. However, only spaces are used in the > manual page. This replaces commas between macro names and the subsequent > arguments with space in calls to clock_gettime_return to make it > compatible with IAS. > > Link: > https://sourceware.org/binutils/docs/as/Macro.html#Macro > Signed-off-by: Jian Cai <jiancai@google.com> > --- > arch/arm64/kernel/vdso/gettimeofday.S | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/arm64/kernel/vdso/gettimeofday.S b/arch/arm64/kernel/vdso/gettimeofday.S > index 856fee6d3512..7ee685d9adfc 100644 > --- a/arch/arm64/kernel/vdso/gettimeofday.S > +++ b/arch/arm64/kernel/vdso/gettimeofday.S > @@ -122,7 +122,7 @@ x_tmp .req x8 > 9998: > .endm > > - .macro clock_gettime_return, shift=0 > + .macro clock_gettime_return shift=0 > .if \shift == 1 > lsr x11, x11, x12 > .endif > @@ -227,7 +227,7 @@ realtime: > seqcnt_check fail=realtime > get_ts_realtime res_sec=x10, res_nsec=x11, \ > clock_nsec=x15, xtime_sec=x13, xtime_nsec=x14, nsec_to_sec=x9 > - clock_gettime_return, shift=1 > + clock_gettime_return shift=1 > > ALIGN > monotonic: > @@ -250,7 +250,7 @@ monotonic: > clock_nsec=x15, xtime_sec=x13, xtime_nsec=x14, nsec_to_sec=x9 > > add_ts sec=x10, nsec=x11, ts_sec=x3, ts_nsec=x4, nsec_to_sec=x9 > - clock_gettime_return, shift=1 > + clock_gettime_return shift=1 > > ALIGN > monotonic_raw: > @@ -271,7 +271,7 @@ monotonic_raw: > clock_nsec=x15, nsec_to_sec=x9 > > add_ts sec=x10, nsec=x11, ts_sec=x13, ts_nsec=x14, nsec_to_sec=x9 > - clock_gettime_return, shift=1 > + clock_gettime_return shift=1 > > ALIGN > realtime_coarse: > -- > 2.31.1.368.gbe11c130af-goog >
On Fri, 16 Apr 2021 at 20:16, Jian Cai <jiancai@google.com> wrote: > > LLVM's integrated assembler does not support using commas separating > the name and arguments in .macro. However, only spaces are used in the > manual page. This replaces commas between macro names and the subsequent > arguments with space in calls to clock_gettime_return to make it > compatible with IAS. > > Link: > https://sourceware.org/binutils/docs/as/Macro.html#Macro > Signed-off-by: Jian Cai <jiancai@google.com> > --- > arch/arm64/kernel/vdso/gettimeofday.S | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/arm64/kernel/vdso/gettimeofday.S b/arch/arm64/kernel/vdso/gettimeofday.S > index 856fee6d3512..7ee685d9adfc 100644 > --- a/arch/arm64/kernel/vdso/gettimeofday.S > +++ b/arch/arm64/kernel/vdso/gettimeofday.S > @@ -122,7 +122,7 @@ x_tmp .req x8 > 9998: > .endm > > - .macro clock_gettime_return, shift=0 > + .macro clock_gettime_return shift=0 Are you sure the definition needs to be changed as well? The majority of GAS macros in arch/arm64 (if not all) use a comma after the identifier, so I would prefer not to deviate from that arbitrarily. Just look at $ git grep -E \.macro\\s+\\S+, arch/arm64/*.S > .if \shift == 1 > lsr x11, x11, x12 > .endif > @@ -227,7 +227,7 @@ realtime: > seqcnt_check fail=realtime > get_ts_realtime res_sec=x10, res_nsec=x11, \ > clock_nsec=x15, xtime_sec=x13, xtime_nsec=x14, nsec_to_sec=x9 > - clock_gettime_return, shift=1 > + clock_gettime_return shift=1 > > ALIGN > monotonic: > @@ -250,7 +250,7 @@ monotonic: > clock_nsec=x15, xtime_sec=x13, xtime_nsec=x14, nsec_to_sec=x9 > > add_ts sec=x10, nsec=x11, ts_sec=x3, ts_nsec=x4, nsec_to_sec=x9 > - clock_gettime_return, shift=1 > + clock_gettime_return shift=1 > > ALIGN > monotonic_raw: > @@ -271,7 +271,7 @@ monotonic_raw: > clock_nsec=x15, nsec_to_sec=x9 > > add_ts sec=x10, nsec=x11, ts_sec=x13, ts_nsec=x14, nsec_to_sec=x9 > - clock_gettime_return, shift=1 > + clock_gettime_return shift=1 > > ALIGN > realtime_coarse: > -- > 2.31.1.368.gbe11c130af-goog > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/arch/arm64/kernel/vdso/gettimeofday.S b/arch/arm64/kernel/vdso/gettimeofday.S index 856fee6d3512..7ee685d9adfc 100644 --- a/arch/arm64/kernel/vdso/gettimeofday.S +++ b/arch/arm64/kernel/vdso/gettimeofday.S @@ -122,7 +122,7 @@ x_tmp .req x8 9998: .endm - .macro clock_gettime_return, shift=0 + .macro clock_gettime_return shift=0 .if \shift == 1 lsr x11, x11, x12 .endif @@ -227,7 +227,7 @@ realtime: seqcnt_check fail=realtime get_ts_realtime res_sec=x10, res_nsec=x11, \ clock_nsec=x15, xtime_sec=x13, xtime_nsec=x14, nsec_to_sec=x9 - clock_gettime_return, shift=1 + clock_gettime_return shift=1 ALIGN monotonic: @@ -250,7 +250,7 @@ monotonic: clock_nsec=x15, xtime_sec=x13, xtime_nsec=x14, nsec_to_sec=x9 add_ts sec=x10, nsec=x11, ts_sec=x3, ts_nsec=x4, nsec_to_sec=x9 - clock_gettime_return, shift=1 + clock_gettime_return shift=1 ALIGN monotonic_raw: @@ -271,7 +271,7 @@ monotonic_raw: clock_nsec=x15, nsec_to_sec=x9 add_ts sec=x10, nsec=x11, ts_sec=x13, ts_nsec=x14, nsec_to_sec=x9 - clock_gettime_return, shift=1 + clock_gettime_return shift=1 ALIGN realtime_coarse:
LLVM's integrated assembler does not support using commas separating the name and arguments in .macro. However, only spaces are used in the manual page. This replaces commas between macro names and the subsequent arguments with space in calls to clock_gettime_return to make it compatible with IAS. Link: https://sourceware.org/binutils/docs/as/Macro.html#Macro Signed-off-by: Jian Cai <jiancai@google.com> --- arch/arm64/kernel/vdso/gettimeofday.S | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)