On Tue, 2016-10-11 at 23:12 +0900, Akihiko Odaki wrote:
unsigned long int is not always capable to have pointer in some
cases
(LLP64, for example).
This makes sense, but it does change a public API. One we share with
other libelf implementations. So I'll like to discuss this first to make
sure this doesn't break something subtle. I believe it is binary
compatible on any currently supported architecture. And indeed it is
broken for any architecture that doesn't have sizeof(long) ==
sizeof(void *). There might be some source compatibility issues. If a
user stored the result in a long without cast that would now generate a
warning I suppose.
Cheers,
Mark