Hi Xavier and thank you for answering!
I think I understand most of it but I’m not
quite sure what this means for my symbols.
Since I want to debug a small single threaded
device like an i8051, I think there shouldn’t exist anything
“relative”.
Everything is defined and has its place and I
can resolve basically every single symbol to its absolute
position in the device RAM.
That’s why I think the agent can treat
everything as “absolute” am I right?
Are there any further information about how the
LocationExpressionCommand works? The macros SFT_CMD_* are
not really clear to me.
Thank you!
Hi Peter,
In case of a fully linked, symbols like functions or global
variables are at fixed location.
For instance, do nm vmlinux : You'll see a list of symbols
and their absolute location.
Now do a nm <kernel_module> : You'll see a list of
symbols but the @ will be very low. When you do nm, you can
not know where the module will be loaded.
So these symbols are "relative" to where the .text section
(if the symbols belong to .text section). The debugger knows
where the module will be loaded and get_location will be
able to compute the "final" @ (relative location + where the
.text section has been loaded)
If you do a readelf -wi, you can see some rule like
AT_location : Either a relative location from a register or
an address.
Hope it helps a bit.
Xavier.
On 09/09/2014 01:08 PM, Stefan.Falk@xxxxxxxxxxxx
wrote:
Does
anybody know some things about the whole
get_location_info() part?
In
symbols.c I see that it is being differentiated between
an absolute location and a relative location. I’m not
quite sure about what symbols fall into “relative
location”.
I’m
also not quite sure about the SFT_CMD_* macros and what
exactly a location info “command” is.
Thank
you for any information!
_______________________________________________
tcf-dev mailing list
tcf-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tcf-dev