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

Sedat Dilek sedat.dilek at gmail.com
Sun Mar 8 21:32:43 UTC 2015


On Fri, Mar 6, 2015 at 1:11 PM, Vinícius Tinti <viniciustinti at gmail.com> wrote:
> 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.
>

There are many commit-ids...
As said I am using the kernel-patches from v3.14-x86_64-checkpoint
building with my llvm-toolchain v3.6.0.

>>
>> 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.
>

It's what Linus tagged as v3.14 plus patchset mentioned above - my
kernel-config was sent - you have everything to reproduce it.

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

Dunno, what you mean with "distro-patchset" - as said above vanilla
Linux v3.14 plus kernel-patches from x86_64-v3.14-checkpoint - no more
no less.

- Sedat -

> 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


More information about the LLVMLinux mailing list