Stephen.Kimball@bench.com writes:
Rod,
I'm using Source Point 7.0.0. I can see the source files. I can display source, disassembly or mixed. However, the disassembly
doesn't
match up with the source code. There is a way to give Source Point
an
offset when the symbols are loaded, but I can't seem to get the
right
value. I know the address of _start and __protected_start but these labels are not in linuxbios_c.o. I need to find the location of a symbol in linuxbios_c.o to compute the offset.
???
linuxbios_c is run at an absolute location in memory so the address of the symbols within it should be fine.
Look at readelf -a linuxbios_c.
I have looked at the readelf output. Readelf says hardwaremain is at 000020b8, but I can't find it. SourcePoint thinks it's at 0008:000020B8 (32-bit mode). But it's not there even after the copy into RAM.
Now these are not addresses within the rom chip. The are the
addresses
the code is copied to after memory initialization.
Currently romcc which generates the code that executes immediately out of the rom chip does not give good debugging output. But you should still be able to see the assembly. crt0.s should match what you are looking at.
You don't have the debugger in 16bit mode or something do you?
SourcePoint switches to 32-bit mode 16 instructions into crt0.s at the JMP instruction.
Am I right that crt0.s loads LinuxBIOS into RAM then branches to hardwaremain?
Steve