From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Wegner Date: Tue, 2 Mar 2010 17:42:32 +0100 Subject: [U-Boot] still weird problems (linker/debug?) on MCF5445x In-Reply-To: <20100302163042.E3D55E44CE6@gemini.denx.de> References: <20100302160513.GF23389@leila.ping.de> <20100302163042.E3D55E44CE6@gemini.denx.de> Message-ID: <20100302164232.GH23389@leila.ping.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Wolfgang Denk, On Tue, Mar 02, 2010 at 05:30:42PM +0100, Wolfgang Denk wrote: > Dear Wolfgang Wegner, [...] > > but the breakpoint is never reached. I tried printing the function > > pointer from the code: > > printf("%s@%p\n", __FUNCTION__, &board_init_r); > > resulting in: > > board_init_r at 47da466e > > The disassembly shows: > > 4002066e : > > 4002066e: 4e56 ffc0 linkw %fp,#-64 > > 40020672: 202d 0014 movel %a5@(20),%d0 > > 40020676: 48d7 3c3c moveml %d2-%d5/%a2-%a5,%sp@ > > I see no problem here. The 0x47da4672 you got above is obviously the > (correct) address for the "movel %a5@(20),%d0" instruction. Assuming > you can set breakpoints at all the code should stop there. > > > and in the debugger I can see: > > (gdb) print /x *0x47da466e > > $1 = 0x4e56ffc0 > > Looks sane to me, too. that's what I thought, too, but I wanted to give all information - which obviously failed: > Which sort of debugger are you using? I am using a PEEDI (Hw:1.2, L:BDM v1.1 Fw:6.1.0) for debugging. The funny thing is I can set breakpoints up to the relocation point: (gdb) b board_init_f Breakpoint 1 at 0x40020890: file board.c, line 244. (gdb) c Continuing. Breakpoint 1, board_init_f (bootflag=0x0) at board.c:244 244 gd = (gd_t *) (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET); Regards, Wolfgang