[llvmlinux] llvmlinux: v3.14 checkpoint does not boot on Ubuntu/precise AMD64

Vinícius Tinti viniciustinti at gmail.com
Fri Mar 6 12:11:41 UTC 2015


On Wed, Mar 4, 2015 at 4:22 AM, Sedat Dilek <sedat.dilek at gmail.com> wrote:

> Hi David,
>
> I am playing with llvmlinux again and tried to boot with a Linux v3.10
> and v3.14 by applying the projects patches from the so-called
> "checkpoints".
> Both generated Linux-kernels do not boot.
> Now, I focus on Linux v3.14.
>
> My toolchain is an unmodified llvm-toolchain v3.6.0 (see attached files).
>
> $ LC_ALL=C clang -v
> clang version 3.6.0 (tags/RELEASE_360/final)
> Target: x86_64-unknown-linux-gnu
> Thread model: posix
> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
> Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.2
> Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
> Candidate multilib: .;@m64
> Candidate multilib: 32;@m32
> Selected multilib: .;@m64
>
> I am not sure if all your "16-bit" fixes are included in Linux v3.14.
>
> x86, boot: Use .code16 instead of .code16gcc
> x86: Remove duplication of 16-bit CFLAGS
> ( x86, boot: Use __attribute__((used)) to ensure videocard structs are
> emitted )
> x86, boot: Fix word-size assumptions in has_eflag() inline asm
> x86, build: Build 16-bit code with -m16 where possible
>
> With the patches from
> <targets/x86_64/checkpoints/v3.14/patches/kernel/series> I cannot
> boot.
> Adding "text" to my command-line shows no messages (here: Ubuntu/precise
> AMD64).
> Not sure how can I give you more precise informations.
>
> Reverting this patch...
>
> Temporarily disable M16_CFLAGS
>
> ...did not help.
>
> One additional patch is needed with clang-3.6...
>
> mm: Apply the section attribute to the variable, not its type
>

Hi Sedat,


> What informations do you need?
> I have attached my kernel-config, build-log, the last all-in-one (AIO)
> patchset and build-scripts (toolchain and kernel).
>

I think you sent pretty much all needed. I just did not see the commit SHA1.


> Can you give some help on how to dig into this?
>
> Do you have "working" kernel-config and a patchset for me (which you
> know is good and boots on bare metal)?
>

I have not tried LLVMLinux on Ubuntu/Debian but I am using Arch Linux and
it does work with torvalds' tree at master. My kernel config is pretty much
this one:

https://projects.archlinux.org/svntogit/packages.git/tree/trunk/config.x86_64?h=packages/linux

Could you send your kernel tree? I want to try too.

By the way, have you applied the current distro patch set?

Regards,
Vinicius


> Thanks in advance.
>
> Regards,
> - Sedat -
>
> P.S.: Apply llvmlinux patchset from v3.14 checkpoint.
>
> $
> checkpoint_path=~/src/llvmlinux/llvmlinux-git/targets/x86_64/checkpoints/v3.14/patches/kernel
>
> $ for p in $(cat $checkpoint_path/series) ; do echo [ $p ] ; LC_ALL=C
> git am $checkpoint_path/$p ; done
> [ kbuild-clang.patch ]
> Applying: kbuild: LLVMLinux: Add Kbuild support for building kernel with
> Clang
> [ disable-clang-integrated-as.patch ]
> Applying: Kbuild: LLVMLinux: Disable the use of the Integrated
> Assembler when compiling with Clang
> [ warnings-clang.patch ]
> Applying: kbuild: LLVMLinux: Adapt warnings for compilation with clang
> [ dontdiff.patch ]
> Applying: Documentation: LLVMLinux: Update Documentation/dontdiff
> [ cc-version.patch ]
> Applying: kbuild: LLVMLinux: Fix LINUX_COMPILER definition script for
> compilation with clang
> [ aligned-attribute.patch ]
> Applying: crypto: LLVMLinux: aligned-attribute.patch
> [ cmpxchg-local-fix-uninitialized-return-code.patch ]
> Applying: LLVMLinux: Remove warning about returning an uninitialized
> variable
> [ compiler-clang.patch ]
> Applying: LLVMLinux: Add support for clang to compiler.h and new
> compiler-clang.h
> [ vlais-dm-crypt.patch ]
> Applying: crypto, dm: LLVMLinux: Remove VLAIS usage from dm-crypt
> [ vlais-hmac.patch ]
> Applying: crypto: LLVMLinux: Remove VLAIS usage from crypto/hmac.c
> [ vlais-libcrc32c.patch ]
> Applying: crypto: LLVMLinux: Remove VLAIS usage from libcrc32c.c
> [ vlais-mac80211.patch ]
> Applying: mac80211: LLVMLinux: Remove VLAIS usage from mac80211
> [ vlais-netfilter.patch ]
> Applying: net: netfilter: LLVMLinux: vlais-netfilter
> [ vlais-testmgr.patch ]
> Applying: crypto: LLVMLinux: Remove VLAIS usage from crypto/testmgr.c
> [ vlais-apparmor.patch ]
> Applying: apparmor: LLVMLinux: Remove VLAIS
> [ vlais-btrfs.patch ]
> Applying: btrfs: LLVMLinux: Remove VLAIS
> [ dwarf2.patch ]
> Applying: all: LLVMLinux: Change DWARF flag to support gcc and clang
> [ boot-workaround-PR18415.patch ]
> Applying: x86, boot: Work around clang PR18415.
> [ hweight-x86.patch ]
> Applying: LLVMLinux: Clang doesn't support the gcc flags set by
> CONFIG_ARCH_HWEIGHT_CFLAGS
> [ export-memcpy-clang-x86_64.patch ]
> Applying: x86: LLVMLinux: Add option for clang in export of memcpy.
> [ current_stack_pointer_x86_64.patch ]
> Applying: x86: LLVMLinux: Reimplement current_stack_pointer without
> register usage.
> [ thinkpad-nested-functions.patch ]
> Applying: x86, acpi: LLVMLinux: Remove nested functions from Thinkpad ACPI
> [ no-ia-realmode.patch ]
> Applying: kbuild, x86: LLVMLinux: Ad no-integrated-as to
> arch/x86/realmode/rm/Makefile.
> [ no-ia-code16.patch ]
> Applying: Kbuild: LLVMLinux: Add no-integrated-as to
> arch/x86/boot/Makefile for compilation with clang
> [ kbuild-clang-x86.patch ]
> Applying: x86 kbuild: LLVMLinux: More cc-options added for clang
> [ support-older-versions-of-clang.patch ]
> Applying: NOUPSTREAM - support older versions of clang (<=3.4)
> [ incomplete_type_for_struct_x86cpu_device_id.patch ]
> Applying: x86: LLVMLinux: Fix "incomplete type const struct
> x86cpu_device_id"
> [ WORKAROUND-NON-UPSTREAM-Temporarily-disable-M16_CFLA.patch ]
> Applying: Temporarily disable M16_CFLAGS
>
> - EOT -
>
> _______________________________________________
> LLVMLinux mailing list
> LLVMLinux at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/llvmlinux
>



-- 
Simplicity is the ultimate sophistication
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/llvmlinux/attachments/20150306/a70d29a6/attachment.html>


More information about the LLVMLinux mailing list