8 ms·
I want to verify the claim that it builds the Linux kernel. It quickly runs into errors, but yeah, still pretty cool! make O=/tmp/linux/x86 ARCH=x86_64 CC=/tmp
by MaskRay 7mo ago
I want to verify the claim that it builds the Linux kernel. It quickly runs into errors, but yeah, still pretty cool!
make O=/tmp/linux/x86 ARCH=x86_64 CC=/tmp/p/claudes-c-compiler/target/release/ccc -j30 defconfig all
```
/home/ray/Dev/linux/arch/x86/include/asm/preempt.h:44:184: error: expected ';' after expression before 'pto_tmp__'
do { u32 pto_val__ = ((u32)(((unsigned long) ~0x80000000) & 0xffffffff)); if (0) {
__typeof_unqual__((__preempt_count)) pto_tmp__; pto_tmp__ = (~0x80000000); (void)pto_tmp__; }
asm ("and" "l " "%[val], " "%" "[var]" : [var] "+m" (((__preempt_count))) : [val] "ri" (pto_val__)); } while (0);
^~~~~~~~~
fix-it hint: insert ';'
/home/ray/Dev/linux/arch/x86/include/asm/preempt.h:49:183: error: expected ';' after expression before 'pto_tmp__'
do { u32 pto_val__ = ((u32)(((unsigned long) 0x80000000) & 0xffffffff)); if (0) {
__typeof_unqual__((__preempt_count)) pto_tmp__; pto_tmp__ = (0x80000000); (void)pto_tmp__; }
asm ("or" "l " "%[val], " "%" "[var]" : [var] "+m" (((__preempt_count))) : [val] "ri" (pto_val__)); } while (0);
^~~~~~~~~
fix-it hint: insert ';'
/home/ray/Dev/linux/arch/x86/include/asm/preempt.h:61:212: error: expected ';' after expression before 'pao_tmp__'
```
- silver_sun 7mo agoThey said it builds Linux 6.9, maybe you are trying to compile a newer version there?
- MaskRay 7mo agogit switch v6.9 The riscv build succeeded. For the x86-64 build I ran into % make O=/tmp/linux/x86 ARCH=x86_64 CC=/tmp/p/claudes-c-compiler/target/release/ccc-x86 HOSTCC=/tmp/p/claudes-c-compiler/target/release/ccc-x86 LDFLAGS=-fuse-ld=bfd LD=ld.bfd -j30 vmlinux -k make[1]: Entering directory '/tmp/linux/x86' ... CC arch/x86/platform/intel/iosf_mbi.o ccc: error: lgdtl requires memory operand AR arch/x86/platform/intel-mid/built-in.a make[6]: *** [/home/ray/Dev/linux/scripts/Makefile.build:362: arch/x86/realmode/rm/wakeup_asm.o] Error 1 ld.bfd: arch/x86/entry/vdso/vdso32/sigreturn.o: warning: relocation in read-only section `.eh_frame' ld.bfd: error in arch/x86/entry/vdso/vdso32/sigreturn.o(.eh_frame); no .eh_frame_hdr table will be created ld.bfd: warning: creating DT_TEXTREL in a shared object ccc: error: unsupported pushw operand There are many other errors. tinyconfig and allnoconfig have fewer errors. RELOCS arch/x86/realmode/rm/realmode.relocs Invalid absolute R_386_32 relocation: real_mode_seg Still very impressive.
- pertymcpert 7mo agoThey said that it wasn't able to support 16 bit real mode. Needs to call gcc for that.
- 63stack 7mo agoI feel like I could have done this in a much shorter time, for much less tokens, but still very impressive!