On 03/05/2014 03:45 AM, Irfan Adilovic wrote: > If it is recognized that the executable was compiled against a > different sized struct tm, how would you instruct cygwin1.dll code not > to write to tm_gmtoff?
Linker magic, the same as how we converted to 64-bit stat, and the same as what we will eventually have to do if we want to convert to 64-bit time_t. Basically, we add a new entry point, and alias the public name to the new entry point. Any old program is still linked to the old name, where we know they use the smaller size. Any new program is linked to the new name, where we know they use the larger size. New programs cannot run against the old dll, but the new dll is able to handle both old and new apps by virtue of dual entry points. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature