Andrew Cagney <ac131313@redhat.com> writes:
>>> The contents are organized differently. It's the in-memory runtime
>>> image so things are organized acccording to their load address and not
>>> their on-disk file offset.
> Sure. But it is still essentially an object-file/executable. At
> least, I thought that was the idea of the in-memory image: that it
> would look like an object-file/executable, it would have symbols and
> sections and segments, etc.
It has symbols and sections and segments but is laid out very
differently. Things are accessed according to their in-memory rather
than on-disk offset. (however the current code doesn't do this, it
reverse engineers things back into what is kind of sort of an on disk
image).
I understand that it is laid out differently. Since I don't think
that is at all relevant, we are clearly failing to communicate.
There are many different kinds of object files, ELF and otherwise.
They are all laid out differently. They all have the same sorts of
information. From BFD's perspective, anything with that sort of
information is properly categorized as bfd_object.
The information which you are describing has the sort of information
which an object file has. From BFD's perspective, it seems to me that
it should be bfd_object.
If the layout is sufficiently different, then perhaps the problem is
that is should use a different target vector--it should be
"elfmem32-i386" rather than "elf32-i386". But I can not understand
why a different layout would suggest not using bfd_object.
Let me put it another way: can you explain what the difference is
between bfd_object and bfd_runtime, in terms of the difference between
bfd_object and bfd_archive and bfd_core.