mirror of
https://github.com/openharmony/third_party_elfutils.git
synced 2026-07-16 07:44:26 -04:00
c806736dc8
Signed-off-by: Mark Wielaard <mjw@redhat.com>
20 lines
1.0 KiB
Plaintext
20 lines
1.0 KiB
Plaintext
Fundamental design decision:
|
|
|
|
- the sizes of external and internal types are assumed to be the same.
|
|
This leaves byte ordering aside. While assuming this the code can be
|
|
greatly simplified and speed increases. Since no change violating this
|
|
assumption is in sight this is believed to be a worthwhile optimization.
|
|
|
|
- the ABI of the backend modules is not guaranteed. Really, no guarantee
|
|
whatsoever. We are enforcing this in the code. The modules and their
|
|
users must match. No third-party EBL module are supported or allowed.
|
|
The only reason there are separate modules is to not have the code for
|
|
all architectures in all the binaries.
|
|
|
|
- although the public libraries (libasm, libdw) have a stable API and are
|
|
backwards ABI compatible they, and the elfutils tools, do depend on each
|
|
others internals, and on internals of libelf to provide their interfaces.
|
|
So they should always be upgraded in lockstep when packaging the tools
|
|
and libraries separately. For one example of how to do that, see the
|
|
config/elfutils.spec.
|