We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hi,
I tried to build and run the code, It seems there are two problems as shown in the logs
aarch64-os git:(main) ✗ make qemu toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/boot.S -o kernel/boot.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/vectortable.S -o kernel/vectortable.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/file.c -o kernel/file.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/buf.c -o kernel/buf.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/console.c -o kernel/console.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/trap.c -o kernel/trap.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/font.c -o kernel/font.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/ext2.c -o kernel/ext2.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/uname.c -o kernel/uname.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/main.c -o kernel/main.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/printk.c -o kernel/printk.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/proc.c -o kernel/proc.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/kalloc.c -o kernel/kalloc.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/fs.c -o kernel/fs.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/cswitch.S -o kernel/cswitch.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/syscall.c -o kernel/syscall.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/mm.c -o kernel/mm.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/string.c -o kernel/string.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/elf.c -o kernel/elf.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/cdev.c -o kernel/cdev.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/spinlock.c -o kernel/spinlock.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/driver/gicv3.c -o kernel/driver/gicv3.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/driver/timer.c -o kernel/driver/timer.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/driver/virtio.c -o kernel/driver/virtio.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/driver/psci-if.c -o kernel/driver/psci-if.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/driver/psci.S -o kernel/driver/psci.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c kernel/driver/virt/uart.c -o kernel/driver/virt/uart.o toolchain/aarch64-linux-gnu-gcc -Wall -Og -g -MD -ffreestanding -nostdinc -nostdlib -nostartfiles -mcpu=cortex-a72+nofp -DUSE_ARMVIRT -I ./include/ -c usr/initcode.S -o usr/initcode.o toolchain/aarch64-linux-gnu-ld -nostdlib -N -e initcode -Ttext 0x1000 -o usr/initcode.elf usr/initcode.o toolchain/aarch64-linux-gnu-objcopy -S -O binary usr/initcode.elf usr/initcode toolchain/aarch64-linux-gnu-ld -r -b binary usr/initcode -o usr/initcode.o toolchain/aarch64-linux-gnu-ld -nostdlib -T kernel/kernel.ld -o kernel8.elf kernel/boot.o kernel/vectortable.o kernel/file.o kernel/buf.o kernel/console.o kernel/trap.o kernel/font.o kernel/ext2.o kernel/uname.o kernel/main.o kernel/printk.o kernel/proc.o kernel/kalloc.o kernel/fs.o kernel/cswitch.o kernel/syscall.o kernel/mm.o kernel/string.o kernel/elf.o kernel/cdev.o kernel/spinlock.o kernel/driver/gicv3.o kernel/driver/timer.o kernel/driver/virtio.o kernel/driver/psci-if.o kernel/driver/psci.o kernel/driver/virt/uart.o usr/initcode.o toolchain/aarch64-linux-gnu-ld: kernel/console.o:/home/emo/dev/aarch64-os/./include/proc.h:47: multiple definition of `cpus'; kernel/file.o:/home/emo/dev/aarch64-os/./include/proc.h:47: first defined here toolchain/aarch64-linux-gnu-ld: kernel/trap.o:/home/emo/dev/aarch64-os/./include/proc.h:47: multiple definition of `cpus'; kernel/file.o:/home/emo/dev/aarch64-os/./include/proc.h:47: first defined here toolchain/aarch64-linux-gnu-ld: kernel/ext2.o:/home/emo/dev/aarch64-os/./include/proc.h:47: multiple definition of `cpus'; kernel/file.o:/home/emo/dev/aarch64-os/./include/proc.h:47: first defined here toolchain/aarch64-linux-gnu-ld: kernel/uname.o:/home/emo/dev/aarch64-os/./include/proc.h:47: multiple definition of `cpus'; kernel/file.o:/home/emo/dev/aarch64-os/./include/proc.h:47: first defined here toolchain/aarch64-linux-gnu-ld: kernel/main.o:/home/emo/dev/aarch64-os/./include/proc.h:47: multiple definition of `cpus'; kernel/file.o:/home/emo/dev/aarch64-os/./include/proc.h:47: first defined here toolchain/aarch64-linux-gnu-ld: kernel/proc.o:/home/emo/dev/aarch64-os/./include/proc.h:47: multiple definition of `cpus'; kernel/file.o:/home/emo/dev/aarch64-os/./include/proc.h:47: first defined here toolchain/aarch64-linux-gnu-ld: kernel/syscall.o:/home/emo/dev/aarch64-os/./include/proc.h:47: multiple definition of `cpus'; kernel/file.o:/home/emo/dev/aarch64-os/./include/proc.h:47: first defined here toolchain/aarch64-linux-gnu-ld: kernel/spinlock.o:/home/emo/dev/aarch64-os/./include/proc.h:47: multiple definition of `cpus'; kernel/file.o:/home/emo/dev/aarch64-os/./include/proc.h:47: first defined here toolchain/aarch64-linux-gnu-ld: kernel/driver/gicv3.o:/home/emo/dev/aarch64-os/./include/proc.h:47: multiple definition of `cpus'; kernel/file.o:/home/emo/dev/aarch64-os/./include/proc.h:47: first defined here toolchain/aarch64-linux-gnu-ld: kernel/driver/virtio.o:/home/emo/dev/aarch64-os/./include/proc.h:47: multiple definition of `cpus'; kernel/file.o:/home/emo/dev/aarch64-os/./include/proc.h:47: first defined here toolchain/aarch64-linux-gnu-ld: kernel/driver/virt/uart.o:/home/emo/dev/aarch64-os/./include/proc.h:47: multiple definition of `cpus'; kernel/file.o:/home/emo/dev/aarch64-os/./include/proc.h:47: first defined here kernel/proc.o: in function `userproc_init': /home/emo/dev/aarch64-os/kernel/proc.c:140:(.text+0x368): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against symbol `_binary_usr_initcode_size' defined in *ABS* section in kernel8.elf toolchain/aarch64-linux-gnu-ld: kernel/spinlock.o: in function `acquire': /home/emo/dev/aarch64-os/kernel/spinlock.c:20: undefined reference to `__aarch64_swp1_acq' /home/emo/dev/aarch64-os/kernel/spinlock.c:20:(.text+0x98): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `__aarch64_swp1_acq' make: *** [Makefile:78: kernel8.elf] Error 1
I had to update the makefile LD flags since there is a flag not found in LD, I tried many LD versions and packages but all doesn't have this flag.
LDFLAGS = -nostdlib #-nostartfiles
Could you please help me to make the code up and running?
The text was updated successfully, but these errors were encountered:
Hi. Maybe I fixed this issue in this version so please try to build in your environment.
Thank you.
NOTE: This repository is my hobby project, so this OS is so buggy. If you are looking for a simple OS for aarch64, I recommend xv6-aarch64.
Sorry, something went wrong.
No branches or pull requests
Hi,
I tried to build and run the code, It seems there are two problems as shown in the logs
I had to update the makefile LD flags since there is a flag not found in LD, I tried many LD versions and packages but all doesn't have this flag.
Could you please help me to make the code up and running?
The text was updated successfully, but these errors were encountered: