[LLVMdev] [LLVMLinux] Regression: rev 208833/208834 break linux kernel build in ASM handling

Nick Lewycky nlewycky at google.com
Fri May 16 12:40:20 PDT 2014


On 16 May 2014 06:01, Jan-Simon Möller <dl9pf at gmx.de> wrote:

> Hi !
>
> Our buildbot found this regression while compiling the kernel with clang:
>
> A bisection points to
>
> 475ac5d302ba84ac13d34a9215c29c1a38ca5690 is the first bad commit
> commit 475ac5d302ba84ac13d34a9215c29c1a38ca5690
> Author: Eric Christopher <echristo at gmail.com>
> Date:   Thu May 15 01:10:50 2014 +0000
>
>     Unify command line handling of MCTargetOptions and remove extra
>     options and code. No functional change.
>
>     git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208833
> 91177308-0d34-0410-b5e6-96231b3b80d8
>
> 8454a4b9373bca5d2a8f596ef1c33826171729bd is the first bad commit
> commit 8454a4b9373bca5d2a8f596ef1c33826171729bd
> Author: Eric Christopher <echristo at gmail.com>
> Date:   Thu May 15 01:21:56 2014 +0000
>
>     Fill in the options in the MCOptions struct directly like the other
>     options.
>
>     git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208834
> 91177308-0d34-0410-b5e6-96231b3b80d8
>
>
> Before:
>
> http://buildbot.llvm.linuxfoundation.org/builders/2_llvm/builds/8/steps/shell_3/logs/stdio
>
> After:
>
> http://buildbot.llvm.linuxfoundation.org/builders/2_llvm/builds/41/steps/shell_3/logs/stdio
>
> --- snip ---
> /tmp/vfpmodule-0d3341.s: Assembler messages:
> /tmp/vfpmodule-0d3341.s:64: Error: junk at end of line, first unrecognized
> character is `"'
> /tmp/vfpmodule-0d3341.s:65: Error: junk at end of line, first unrecognized
> character is `"'
> /tmp/vfpmodule-0d3341.s:66: Error: junk at end of line, first unrecognized
> character is `"'
> --- snip ---
>

I found the same thing.

The problem is that the 3-arg form of .file is now backwards w.r.t. setting
of integrated assembler. To reproduce:

$ clang -no-integrated-as -S a/x.c -o - -g | grep file
.file 1 "a" "x.c"

vs.

$ clang -S a/x.c -o - -g | grep file
.file 1 "a/x.c"

Binutils doesn't support the 3-arg format, so unless we know we're using
the integrated assembler we can't emit that. As I recall, clang -S would
emit the 2-argument form unless you passed -integrated-as -S on the
command-line.

Nick

> Current state can be tracked:
> http://buildbot.llvm.linuxfoundation.org/waterfall?show=2_llvm
>
>
> Can we fix or revert pls ?
>
> --
>
> Dipl.-Ing.
> Jan-Simon Möller
>
> jansimon.moeller at gmx.de
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140516/3cee943e/attachment.html>


More information about the llvm-dev mailing list