Messages in this thread | | | From | Stefan Agner <> | Subject | [PATCH v3 0/5] ARM: convert to unified syntax | Date | Tue, 12 Feb 2019 21:01:56 +0100 |
| |
This patchset converts all assembly code to unified assembler language (UAL) compatible assembly code. From what I can tell, this mainly boils down to using conditional infixes instead of postfixes.
Most of the conversion has been done using the following regular expression: find ./arch/arm/ -name "*.[hSc]" -exec sed -i -r \ "s/^((\s*[._a-zA-Z0-9]*[\:\(])?\s*)([a-z]{3})(eq|ne|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al)([a-z]{1,2})(\s)/\1\3\5\4\6/" \ {} \;
The expression resulted in some false positives and missed some instances where infix conditionals have been used. With this changes applied, I compiled several kernel configurations successfully and without a warning.
The file arch/arm/probes/kprobes/test-arm.c is still using some divided syntax assembler.
This does not allow to use LLVM's integrated assembler just yet, there is still some assembler which the integrated assembler does not like (yet). But it is a big step towards that direction.
-- Stefan
Stefan Agner (5): ARM: use unified assembler in macros ARM: use unified assembler in headers ARM: use unified assembler in assembly files ARM: use unified assembler in c files ARM: warn if divided syntax assembler is used
arch/arm/Makefile | 7 +--- arch/arm/boot/bootp/init.S | 2 +- arch/arm/boot/compressed/ll_char_wr.S | 4 +- arch/arm/include/asm/assembler.h | 12 +++--- .../include/asm/hardware/entry-macro-iomd.S | 10 ++--- arch/arm/include/asm/vfpmacros.h | 8 ++-- arch/arm/include/debug/tegra.S | 2 +- arch/arm/kernel/debug.S | 2 +- arch/arm/kernel/entry-armv.S | 12 +++--- arch/arm/kernel/entry-common.S | 2 +- arch/arm/kernel/entry-header.S | 8 ++-- arch/arm/lib/bitops.h | 8 ++-- arch/arm/lib/clear_user.S | 2 +- arch/arm/lib/copy_from_user.S | 2 +- arch/arm/lib/copy_page.S | 4 +- arch/arm/lib/copy_template.S | 4 +- arch/arm/lib/copy_to_user.S | 2 +- arch/arm/lib/csumpartial.S | 20 ++++----- arch/arm/lib/csumpartialcopygeneric.S | 4 +- arch/arm/lib/csumpartialcopyuser.S | 2 +- arch/arm/lib/div64.S | 4 +- arch/arm/lib/floppydma.S | 10 ++--- arch/arm/lib/io-readsb.S | 20 ++++----- arch/arm/lib/io-readsl.S | 2 +- arch/arm/lib/io-readsw-armv3.S | 6 +-- arch/arm/lib/io-readsw-armv4.S | 12 +++--- arch/arm/lib/io-writesb.S | 20 ++++----- arch/arm/lib/io-writesl.S | 2 +- arch/arm/lib/io-writesw-armv3.S | 2 +- arch/arm/lib/io-writesw-armv4.S | 6 +-- arch/arm/lib/lib1funcs.S | 4 +- arch/arm/lib/memcpy.S | 4 +- arch/arm/lib/memmove.S | 24 +++++------ arch/arm/lib/memset.S | 42 +++++++++---------- .../mach-ks8695/include/mach/entry-macro.S | 2 +- arch/arm/mach-tegra/reset-handler.S | 2 +- arch/arm/mm/cache-v6.S | 8 ++-- arch/arm/mm/copypage-v4mc.c | 3 +- arch/arm/mm/copypage-v4wb.c | 3 +- arch/arm/mm/copypage-v4wt.c | 3 +- arch/arm/mm/proc-v7m.S | 4 +- 41 files changed, 150 insertions(+), 150 deletions(-)
-- 2.20.1
| |