diff options
Diffstat (limited to 'NOTES')
| -rw-r--r-- | NOTES | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -1,3 +1,25 @@ +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. + +Some notes: + - old GNU ld's behavior wrt DSOs seems to be severely broken. y.o reference foo() |
