[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKwvOdnbRnEpxyGu2N0g_AqRRD_YT7rtYTNuknSeCuoSHwKjog@mail.gmail.com>
Date: Fri, 13 May 2022 12:39:55 -0700
From: Nick Desaulniers <ndesaulniers@...gle.com>
To: Changbin Du <changbin.du@...wei.com>
Cc: Craig Topper <craig.topper@...ive.com>,
Alex Bradbury <asb@...radbury.org>,
Albert Ou <aou@...s.berkeley.edu>,
Palmer Dabbelt <palmer@...belt.com>,
Paul Walmsley <paul.walmsley@...ive.com>,
Steven Rostedt <rostedt@...dmis.org>, hw.huiwang@...wei.com,
linux-kernel@...r.kernel.org, linux-riscv@...ts.infradead.org,
llvm@...ts.linux.dev
Subject: Re: riscv: llvm-compiler: calling convention violation: temporary
register $t2 is used to pass the ninth function parameter
On Thu, May 12, 2022 at 8:46 PM Changbin Du <changbin.du@...wei.com> wrote:
>
> On Thu, May 12, 2022 at 07:49:41AM -0700, Craig Topper wrote:
> > Changbin, can you provide a pre-processed source and a command line? I can
> > reduce it on the llvm side.
> >
>
> hmm, clang can not build the preprocessed source by itself!
Sorry, I should have provided more info.
In order to get the preprocessed source, you generally can do:
$ ARCH=riscv make LLVM=1 -j$(nproc) defconfig lib/string.i
replace the final command line parameter with the path to the source
file you care about.
Then, to get the command line invocation, you can do:
$ ARCH=riscv make LLVM=1 -j$(nproc) lib/string.o V=1
Then you can provide the output of those two commands.
--
Thanks,
~Nick Desaulniers
Powered by blists - more mailing lists