Hi Jean,
Thanks for your reply! but I met the same story for L4Linux https://pbs.twimg.com/media/DBSQtoNUIAEE2HY.png
---> make grub2iso E=L4Linux-basic MODULE_SEARCH_PATH=/home/zhaixiang/project/l4re/kernel/fiasco/build:/home/zhaixiang/project/l4re/l4/conf/examples:/home/zhaixiang/project/l4linux/build:/home/zhaixiang/project/l4re make[1]: Entering directory '/home/zhaixiang/project/l4re/l4' Use of uninitialized value in string ne at /usr/lib64/perl5/vendor_perl/File/Spec/Unix.pm line 176. Use of uninitialized value in string ne at /usr/lib64/perl5/vendor_perl/File/Spec/Unix.pm line 176. Processing entry 'L4Linux-basic' Using the following files: /home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/l4re /home/zhaixiang/project/l4linux/build/vmlinuz /home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/moe /home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/sigma0 /home/zhaixiang/project/l4re/ramdisk-amd64.rd /home/zhaixiang/project/l4re/kernel/fiasco/build/fiasco /home/zhaixiang/project/l4re/l4/conf/examples/l4lx.cfg /home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/ned /home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/bootstrap xorriso 1.4.6 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:/home/zhaixiang/project/l4re/l4/build/images/l4linux-basic.iso' Media current: stdio file, overwriteable Media status : is blank Media summary: 0 sessions, 0 data blocks, 0 data, 72.0g free Added to ISO image: directory '/'='/tmp/grub.vevqvj' xorriso : UPDATE : 320 files added in 1 seconds Added to ISO image: directory '/'='/tmp/cauUjpFlVZ' Added to ISO image: file '/l4re'='/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/l4re' Added to ISO image: file '/vmlinuz'='/home/zhaixiang/project/l4linux/build/vmlinuz' Added to ISO image: file '/moe'='/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/moe' Added to ISO image: file '/sigma0'='/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/sigma0' Added to ISO image: file '/ramdisk-amd64.rd'='/home/zhaixiang/project/l4re/ramdisk-amd64.rd' Added to ISO image: file '/fiasco'='/home/zhaixiang/project/l4re/kernel/fiasco/build/fiasco' Added to ISO image: file '/l4lx.cfg'='/home/zhaixiang/project/l4re/l4/conf/examples/l4lx.cfg' Added to ISO image: file '/ned'='/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/ned' Added to ISO image: file '/bootstrap'='/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/bootstrap' xorriso : UPDATE : 332 files added in 1 seconds xorriso : NOTE : Copying to System Area: 512 bytes from file '/usr/lib/grub/i386-pc/boot_hybrid.img' xorriso : UPDATE : 40.97% done ISO image produced: 14360 sectors Written to medium : 14360 sectors at LBA 0 Writing to 'stdio:/home/zhaixiang/project/l4re/l4/build/images/l4linux-basic.iso' completed successfully.
---> make qemu E=L4Linux-basic MODULE_SEARCH_PATH=/home/zhaixiang/project/l4re/kernel/fiasco/build:/home/zhaixiang/project/l4re/l4/conf/examples:/home/zhaixiang/project/l4linux/build:/home/zhaixiang/project/l4re make[1]: Entering directory '/home/zhaixiang/project/l4re/l4' Use of uninitialized value in string ne at /usr/lib64/perl5/vendor_perl/File/Spec/Unix.pm line 176. Use of uninitialized value in string ne at /usr/lib64/perl5/vendor_perl/File/Spec/Unix.pm line 176. '/home/zhaixiang/project/l4linux/build/vmlinuz' is a zipped file, uncompressing to '/tmp/vmRbIvyLPB/vmlinuz' qemu-system-x86_64 -kernel /home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/bootstrap -append "bootstrap -modaddr 0x01100000" -initrd "/home/zhaixiang/project/l4re/kernel/fiasco/build/fiasco -serial_esc,/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/sigma0 ,/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/moe rom/l4lx.cfg,/home/zhaixiang/project/l4re/l4/conf/examples/l4lx.cfg ,/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/l4re ,/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/ned ,/tmp/vmRbIvyLPB/vmlinuz ,/home/zhaixiang/project/l4re/ramdisk-amd64.rd " make[1]: Leaving directory '/home/zhaixiang/project/l4re/l4'
So it looks like ned is dereferencing a null pointer (read access to
0 + 0x18 at instruction pointer 0x102d72a).
I am using clang analyzer to Check NULL pointer dereference issue https://reviews.llvm.org/D31868 analyzer is not well managed, there might be false positive and negative, but I will implement more null pointer dereference checkers :)
Maybe you could use addr2line/objdump to figure out, what happens at address 0x102d72a in ned.
cd /home/zhaixiang/project/l4re/l4/build addr2line -p -e bin/amd64_K8/l4f/ned 0x102d72a
but there is no output easy to read for humans, I am not familiar with addr2line, please give me some advice, thanks a lot!
objdump -D bin/amd64_K8/l4f/ned > ned.S
... 27b9e: 00 00 add %al,(%rax) ... 102d72a: 66 0f 12 05 9e 7b 02 movlpd 0x27b9e(%rip),%xmm0 # 10552d0 <_ZL7HOOKKEY+0x 8> ...
is it enough to figure out what happened? if not, I will upload the disassemble to my Google drive.