Proposal for the assignment of fixed ordinals to exported functions in kfw dlls

Danny Mayer mayer at ntp.isc.org
Sat Sep 29 18:50:03 EDT 2007


Jeffrey Altman wrote:
> The KFW libraries do not have ordinals that are fixed to specific values
> via assignment in the .DEF file.  This is the result of conflicts which
> occurred when various forks of the code base in the late 90s resulted in
> different binary distributions assigning different ordinal values to the
> same function or different functions to the same ordinal value.  As a
> result applications which were linked against one distribution and then
> run with the libraries from another distribution would often crash.
> 
> In response all of the ordinal assignments were removed in order to get
> rid of the expectation that ordinals would remain fixed from release to
> release.
> 
> It has been almost a decade since then and the number of forked
> distributions has decreased dramatically.  In addition we are preparing
> to support 64-bit Windows, a platform on which there has never been any
> forking.  As a result, we intend to assign fixed ordinal values again.
> 
> My proposal for generating the ordinal values to use for assignment is
> to execute "dumpbin /export" against a pre-beta KFW 3.2.2 distribution
> and hard code the assigned ordinal values into each of the .DEF files.
> 
> Does this seem reasonable?
> 
> Are there any objections to the assignment of static ordinal values in
> 32-bit KFW?
> 
> Jeffrey Altman

I strongly agree. While this can be problematic at times to maintain
it's better than the alternative. This needs to be done for the 32-bit
as well as the 64-bit libraries. I'm not clear if to you are proposing
that, but by making it now it will avoid future incompatibilities.

Danny



More information about the kfwdev mailing list