> Changing the compiler to support smaller pointers is much more effective
> than making the code changes required in a large code base to use offsets
> instead, changes that would typically make the source code less readable,
> less portable, and less type safe than it was before.
Fontconfig uses offsets instead of pointers. That is really annoying in a shared library because every program linking that (even indirectly like all GUI apps do) gets then bogus memory leak reports etc from Valgrind as Valgrind cannot heuristically determine that offset is a valid "pointer" to an allocation...