$ aarch64-linux-gnu-gdb ./obj-arm64/vmlinux -iex 'add-auto-load-safe-path ./obj-arm64' -ex 'target remote localhost:1234' GNU gdb (Linaro_GDB-2018.05) 8.1.0.20180612-git Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=x86_64-unknown-linux-gnu --target=aarch64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from ./obj-arm64/vmlinux...done. Traceback (most recent call last): File "/srv/src/kernel/next/obj-arm64/vmlinux-gdb.py", line 32, in import linux.proc File "/srv/src/kernel/next/obj-arm64/scripts/gdb/linux/proc.py", line 15, in from linux import constants File "/srv/src/kernel/next/obj-arm64/scripts/gdb/linux/constants.py", line 2, in LX_MS_RDONLY = MS_RDONLY NameError: name 'MS_RDONLY' is not defined Remote debugging using localhost:1234 0x0000000040000000 in ?? () (gdb) b setup_machine_fdt Breakpoint 1 at 0xffffff900aa0ad7c: file ../arch/arm64/kernel/setup.c, line 184. (gdb) c Continuing. Breakpoint 1, setup_machine_fdt (dt_phys=1207959552) at ../arch/arm64/kernel/setup.c:184 184 { (gdb) l 179 if (mpidr_hash_size() > 4 * num_possible_cpus()) 180 pr_warn("Large number of MPIDR hash buckets detected\n"); 181 } 182 183 static void __init setup_machine_fdt(phys_addr_t dt_phys) 184 { 185 void *dt_virt = fixmap_remap_fdt(dt_phys); 186 const char *name; 187 188 if (!dt_virt || !early_init_dt_scan(dt_virt)) { (gdb) l 189 pr_crit("\n" 190 "Error: invalid device tree blob at physical address %pa (virtual address 0x%p)\n" 191 "The dtb must be 8-byte aligned and must not exceed 2 MB in size\n" 192 "\nPlease check your bootloader.", 193 &dt_phys, dt_virt); 194 195 while (true) 196 cpu_relax(); 197 } 198 (gdb) bt #0 setup_machine_fdt (dt_phys=1207959552) at ../arch/arm64/kernel/setup.c:184 #1 0xffffff900aa0c99c in setup_arch (cmdline_p=0xffffff900b007f80) at ../arch/arm64/kernel/setup.c:294 #2 0xffffff900aa027b4 in start_kernel () at ../init/main.c:558 #3 0x0000000000000000 in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb) n 185 void *dt_virt = fixmap_remap_fdt(dt_phys); (gdb) 188 if (!dt_virt || !early_init_dt_scan(dt_virt)) { (gdb) 189 pr_crit("\n" (gdb) 196 cpu_relax(); (gdb) bt #0 setup_machine_fdt (dt_phys=18446743592838889472) at ../arch/arm64/kernel/setup.c:196 #1 0xffffff900aa0c99c in setup_arch (cmdline_p=0xffffff900b007f80) at ../arch/arm64/kernel/setup.c:294 #2 0xffffff900aa027b4 in start_kernel () at ../init/main.c:558 #3 0x0000000000000000 in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb)