public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Stefan Agner <stefan@agner.ch>
To: linux@armlinux.org.uk
Cc: kbuild-all@01.org, kbuild test robot <lkp@intel.com>,
	ndesaulniers@google.com, natechancellor@gmail.com, arnd@arndb.de,
	ard.biesheuvel@linaro.org, nicolas.pitre@linaro.org,
	peterz@infradead.org, mingo@redhat.com, will.deacon@arm.com,
	julien.thierry@arm.com, mark.rutland@arm.com,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/3] ARM: uaccess: use unified assembler language syntax
Date: Wed, 02 Jan 2019 16:09:04 +0100	[thread overview]
Message-ID: <8f6aeb56adcb7a937c834ee24b654805@agner.ch> (raw)
In-Reply-To: <201812310309.fFJTFUuf%fengguang.wu@intel.com>

On 30.12.2018 20:12, kbuild test robot wrote:
> Hi Stefan,
> 
> I love your patch! Yet something to improve:
> 
> [auto build test ERROR on arm/for-next]
> [also build test ERROR on v4.20 next-20181224]
> [if your patch is applied to the wrong git tree, please drop us a note
> to help improve the system]
> 
> url:   
> https://github.com/0day-ci/linux/commits/Stefan-Agner/ARM-fix-argument-count-to-match-macro-definition/20181231-001137
> base:   git://git.armlinux.org.uk/~rmk/linux-arm.git for-next
> config: arm-ebsa110_defconfig (attached as .config)
> compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
> reproduce:
>         wget
> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
> -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # save the attached .config to linux build tree
>         GCC_VERSION=7.2.0 make.cross ARCH=arm 
> 
> All errors (new ones prefixed by >>):
> 
>    /tmp/ccfKN3IW.s: Assembler messages:
>    /tmp/ccfKN3IW.s:26: Error: bad instruction `sbcscc r1,r1,r3'
>>> /tmp/ccfKN3IW.s:94: Error: bad instruction `sbcscc r8,r8,r0'
>    /tmp/ccfKN3IW.s:104: Error: bad instruction `sbcscc r0,r0,r2'
>    /tmp/ccfKN3IW.s:155: Error: bad instruction `sbcscc lr,lr,r2'
>    /tmp/ccfKN3IW.s:630: Error: bad instruction `sbcscc r1,r1,r2'

Hm, it seems that gcc always assumes inline assembly is in non-unified
syntax when compiling using -marm:

        .syntax divided
@ 244 "arch/arm/kernel/signal.c" 1
        adds ip, r1, #760; sbcscc ip, ip, r3; movcc r3, #0
@ 0 "" 2

It seems that gcc would have an option to force unified syntax when
generating code for ARM state (-marm) using -masm-syntax-unified.
However, unfortunately, this seems currently broken. I created a bug in
the gcc bug tracker:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88648

The only solution I found is using ".syntax unified" in inline assembly,
not pretty but seems to do the job... Will send a v2.

--
Stefan



> --
>    /tmp/cc9oa73P.s: Assembler messages:
>    /tmp/cc9oa73P.s:2036: Error: bad instruction `sbcscc r1,r1,r3'
>    /tmp/cc9oa73P.s:3325: Error: bad instruction `sbcscc r3,r3,r0'
>    /tmp/cc9oa73P.s:3724: Error: bad instruction `sbcscc r2,r2,r3'
>    /tmp/cc9oa73P.s:4242: Error: bad instruction `sbcscc r1,r1,r3'
>>> /tmp/cc9oa73P.s:4304: Error: bad instruction `sbcscc r10,r10,r2'
>    /tmp/cc9oa73P.s:4831: Error: bad instruction `sbcscc r1,r1,r3'
>    /tmp/cc9oa73P.s:4973: Error: bad instruction `sbcscc r1,r1,r3'
>    /tmp/cc9oa73P.s:5059: Error: bad instruction `sbcscc r0,r0,r2'
>    /tmp/cc9oa73P.s:5076: Error: bad instruction `sbcscc r0,r0,r2'
>    /tmp/cc9oa73P.s:5120: Error: bad instruction `sbcscc r1,r1,r3'
> --
>    /tmp/ccnaC92i.s: Assembler messages:
>>> /tmp/ccnaC92i.s:133: Error: bad instruction `sbcscc r7,r7,r1'
>    /tmp/ccnaC92i.s:225: Error: bad instruction `sbcscc r1,r1,r3'
>    /tmp/ccnaC92i.s:631: Error: bad instruction `sbcscc ip,ip,r3'
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

  parent reply	other threads:[~2019-01-02 15:09 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-30 16:08 [PATCH 0/3] ARM: trivial assembly fixes to enable LLVM as Stefan Agner
2018-12-30 16:08 ` [PATCH 1/3] ARM: fix argument count to match macro definition Stefan Agner
2018-12-30 16:08 ` [PATCH 2/3] ARM: uaccess: use unified assembler language syntax Stefan Agner
2018-12-30 19:30   ` kbuild test robot
     [not found]   ` <201812310309.fFJTFUuf%fengguang.wu@intel.com>
2019-01-02 15:09     ` Stefan Agner [this message]
2018-12-30 16:08 ` [PATCH 3/3] ARM: spinlock: " Stefan Agner
2018-12-30 21:27   ` kbuild test robot

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=8f6aeb56adcb7a937c834ee24b654805@agner.ch \
    --to=stefan@agner.ch \
    --cc=ard.biesheuvel@linaro.org \
    --cc=arnd@arndb.de \
    --cc=julien.thierry@arm.com \
    --cc=kbuild-all@01.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=lkp@intel.com \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=natechancellor@gmail.com \
    --cc=ndesaulniers@google.com \
    --cc=nicolas.pitre@linaro.org \
    --cc=peterz@infradead.org \
    --cc=will.deacon@arm.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox