[llvm-dev] Compiling Linux kernel with LLVM for mips64el

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[llvm-dev] Compiling Linux kernel with LLVM for mips64el

Bruce Hoult via llvm-dev
Hi LLVM and Kernel developers,

I am building Linux Kernel[1] with LLVM toolchain[2] for mips64el. It is
just able to workaround[3] build, please teach me how to fix PR38063 and
PR38128, thanks a lot!

1. Linux Kernel 4.9 branch
https://github.com/loongson-community/linux-stable/tree/rebase-4.9

2. Loongson clang version 7.0.0
([hidden email]:Loong-Language/loong-clang.git
c36069cffc57a30a20782bf327a87bed4e48a6c2)
([hidden email]:Loong-Language/loong-llvm.git
59cb663e72874dda740aa2b18bf47ba65b32fe9b) (based on LLVM 7.0.0svn)
Target: mips64el-redhat-linux
Thread model: posix
InstalledDir: /opt/loong-llvm/bin
Found candidate GCC installation: /usr/lib/gcc/mips64el-redhat-linux/4.9.3
Selected GCC installation: /usr/lib/gcc/mips64el-redhat-linux/4.9.3
Candidate multilib: .;
Selected multilib: .;

3. Ugly workaround in Kernel and Compiler sides
https://github.com/loongson-community/linux-stable/issues
$ readelf -h vmlinux
ELF Header:
   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
   Class:                             ELF64
   Data:                              2's complement, little endian
   Version:                           1 (current)
   OS/ABI:                            UNIX - System V
   ABI Version:                       0
   Type:                              EXEC (Executable file)
   Machine:                           MIPS R3000
   Version:                           0x1
   Entry point address:               0xffffffff811c94e0
   Start of program headers:          64 (bytes into file)
   Start of section headers:          37391984 (bytes into file)
   Flags:                             0x80000001, noreorder, mips64r2
   Size of this header:               64 (bytes)
   Size of program headers:           56 (bytes)
   Number of program headers:         2
   Size of section headers:           64 (bytes)
   Number of section headers:         27
   Section header string table index: 24

4. Failed Checking missing-syscalls for O32
https://bugs.llvm.org/show_bug.cgi?id=38063
5. Unsupported inline asm tying incompatible types
https://bugs.llvm.org/show_bug.cgi?id=38128

--
Regards,
Leslie Zhai



_______________________________________________
LLVM Developers mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev