вс, 1 авг. 2021 г. в 20:41, Matwey V. Kornilov <matwey.korni...@gmail.com>: > > вс, 1 авг. 2021 г. в 18:49, Matwey V. Kornilov <matwey.korni...@gmail.com>: > > > > Hi, > > > > I failed to find the correct answer in this list. I am trying to debug > > u-boot from the master running inside of QEMU 5.2.0: > > > > I start QEMU as the following: > > > > > qemu-system-x86_64 -bios u-boot.rom -serial stdio -hda sda -net none -S -s > > > > And then attach to it using gdb 10.1: > > > > > target remote 127.0.0.1:1234 > > > add-symbol-file /build/u-boot 0x06f49000 > > I figured out that the 0x06f49f78 offset works fine, breakpoints work fine > now. > But how should I figure out this 0xf78 in advance?
Ok, it is the difference between .text and .text.start sections: [ 1] .text.start PROGBITS 0000000001110000 00110000 [ 7] .text PROGBITS 0000000001110f78 00110f78 > > > > break board_init_r > > > info break > > Num Type Disp Enb Address What > > 1 breakpoint keep y 0x0000000006f5adfa in board_init_r at > > /home/matwey/lab/u-boot/common/board_r.c:807 > > > cont > > > > U-boot is running, however the breakpoint has never been triggered. I > > also tried to use hardware assisted break instead of regular. > > Breaking before the relocation works fine, so I suppose I am doing > > something wrong with relocation addresses. > > > > Address 0x06f49000 is taken from `bdinfo` output: > > > > => bdinfo > > boot_params = 0x0000000000000000 > > DRAM bank = 0x0000000000000000 > > -> start = 0x0000000000000000 > > -> size = 0x0000000008000000 > > flashstart = 0x0000000000000000 > > flashsize = 0x0000000000000000 > > flashoffset = 0x0000000000000000 > > baudrate = 115200 bps > > relocaddr = 0x0000000006f49000 > > reloc off = 0x0000000005e39000 > > Build = 64-bit > > current eth = unknown > > ethaddr = (not set) > > IP addr = <NULL> > > fdt_blob = 0x0000000006d07e30 > > new_fdt = 0x0000000006d07e30 > > fdt_size = 0x0000000000000bc0 > > Video = vesa_video inactive > > lmb_dump_all: > > memory.cnt = 0x1 > > memory[0] [0x0-0x7ffffff], 0x08000000 bytes flags: 0 > > reserved.cnt = 0x0 > > > > Could somebody please point out to me what I do wrong? Thank you in advance. > > > > > > -- > > With best regards, > > Matwey V. Kornilov > > > > -- > With best regards, > Matwey V. Kornilov -- With best regards, Matwey V. Kornilov