On 02/18/2013 03:15 PM, Eric Sandeen wrote:
On 2/18/13 5:11 PM, John Reiser wrote:
It would be useful to have a "backward compatibility" LD_PRELOAD shared library ...
Yep, that would make some sense as a workaround. ...
As proof of concept, I have constructed such a wrapper shared library. It intercepts __xstat32_conv, always converts each member (modulo its width, if necessary) and when EOVERFLOW would occur then it consults environment variable _XSTAT32_EOVERFLOW for options:
ignore return 0 instead (success) error return EOVERFLOW (like before, but st_size is defined!) warn diagnose once on stderr; return EOVERFLOW abort call abort()
The diagnostic tells which of st_ino, st_size, or st_nblock overflowed.
The construction script and related files to be used with glibc-*.src.rpm are linked from the narrative description at:
http://bitwagon.com/xstat32_EOVERFLOW/