diff options
| author | Miquel Sabaté Solà <mikisabate@gmail.com> | 2024-09-24 22:45:00 +0200 |
|---|---|---|
| committer | Miquel Sabaté Solà <mikisabate@gmail.com> | 2024-09-24 22:45:00 +0200 |
| commit | 54cf703d13bddbe81e15858b1bfdb7111a3f56de (patch) | |
| tree | 5d6d58483c063efd2ec9b55abdc65918f9a19d96 /Makefile | |
| parent | 052f73e4e5c7f6266bf80f392ac593046e2d8d2c (diff) | |
| download | fbos-54cf703d13bddbe81e15858b1bfdb7111a3f56de.tar.gz fbos-54cf703d13bddbe81e15858b1bfdb7111a3f56de.zip | |
Load debug symbols on the gdb target
Load the debug symbols into the gdb session by simply passing the
executable file into gdb directly. Moreover, allow users of the gdb
target to provide an extra variable so to pass extra flags to gdb.
Moreover, this commit comes with other small cleanups on the Makefile,
like a proper ABI specifier,
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 27 |
1 files changed, 16 insertions, 11 deletions
@@ -1,5 +1,5 @@ ## -# By default everything is silent. If you want to change this behavior, simply +# By default everything is silent. If you want to change this behavior simply # assign V=1 when calling make. V = @@ -21,14 +21,19 @@ CC = $(CROSS_COMPILE)gcc$(CC_SUFFIX) LD = $(CROSS_COMPILE)ld QEMU ?= qemu-system-riscv64 -ISA ?= rv64imafdc_zicntr_zicsr_zifencei_zihpm_zca_zcd_zba_zbb -CCFLAGS = -march=$(ISA) -Iinclude/ -mabi=lp64 -CCFLAGS += -Werror -Wpedantic -Wall -Wextra -Wcast-align -Wcast-qual -Winit-self \ - -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-conversion \ - -Wswitch-default -Wundef -Wunreachable-code -Wmissing-noreturn -LDFLAGS = -Iinclude/ -static -nostdlib -melf64lriscv -z noexecstack -QEMU_FLAGS ?= -QEMU_BIOS ?= +ISA ?= rv64imafdc_zicntr_zicsr_zifencei_zihpm_zca_zcd_zba_zbb +CCFLAGS = -march=$(ISA) -Iinclude/ -mabi=lp64d +CCFLAGS += -Werror -Wpedantic -Wall -Wextra -Wcast-align -Wcast-qual -Winit-self \ + -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-conversion \ + -Wswitch-default -Wundef -Wunreachable-code -Wmissing-noreturn +LDFLAGS = -Iinclude/ -static -nostdlib -melf64lriscv -z noexecstack + +## +# Optional parameters for QEMU and gdb. + +QEMU_FLAGS ?= +QEMU_BIOS ?= +GDB_EXTRA_FLAGS ?= ## # You can pass an optional `DEBUG` variable to manipulate the build type. This @@ -74,7 +79,7 @@ $(KRNL): $(OBJ) $(LINKER).S $(Q) $(CC) $(CCFLAGS) -c $< -o $@ .PHONY: qemu -qemu: +qemu: $(KRNL) ifeq ($(strip $(QEMU_BIOS)),) $(Q) $(QEMU) $(QEMU_FLAGS) -machine virt -kernel $(KRNL) -nographic else @@ -83,7 +88,7 @@ endif .PHONY: gdb gdb: - $(Q) gdb --command utils/init.gdb + $(Q) gdb --command utils/init.gdb $(GDB_EXTRA_FLAGS) $(KRNL) .PHONY: clean clean: |
