On 10/13/2016 03:28 AM, Mark Wielaard wrote:
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.
You could stay integral with uintptr_t -- stdint.h is already included.