MPS issue job001935

TitleMPS DLL link error: mps_arena_vm_growth is not exported
Statusclosed
Priorityessential
Assigned userRichard Kistruck
OrganizationRavenbrook
DescriptionMPS DLL link error: mps_arena_vm_growth is not exported

RHSK 2008-09-30
An MPS client that uses mps_arena_vm_growth() and links with the DLL
will fail to link. A typical error message is:
  error LNK2019: unresolved external symbol _mps_arena_vm_growth

See [1].

The mps_arena_vm_growth symbol is not exported from the MPS DLL;
this can be checked with "dumpbin /exports" on Windows.
AnalysisRHSK 2008-09-30
The list of DLL exports is in the w3gen.def file. This file is the
output from expgen.sh, which must be run manually.

When mps_arena_vm_growth() was added, this was not done, so it is
not listed in w3gen.def.

However, expgen.sh does not seem to work any more -- see job001255.

Should I fix expgen.sh? No, it's not worth it. The addition of
mps_arena_vm_growth() is the first change since expgen.sh was
written (four years ago), and it's trivial to hand-edit w3gen.def.

So: do it by hand, and edit the "do not edit" comments to refer to
this decision. Check with "dumpbin /exports".

Note: there may be other problems with the DLL; see [2].
How foundcustomer
Evidence[1] <http://info.ravenbrook.com/mail/2008/09/08/08-31-31/0.txt>
[2] <http://info.ravenbrook.com/mail/2008/09/25/17-35-49/0.txt>
Observed in1.108.2
Introduced in1.108.2
Created byRichard Kistruck
Created on2008-09-30 15:22:02
Last modified byGareth Rees
Last modified on2014-03-07 10:11:40
History2008-09-30 RHSK Created.
2013-03-19 GDR Corrected spelling of "mps_arena_vm_growth".

Fixes

Change Effect Date User Description
179602 closed 2012-09-21 09:46:50 Richard Brooksby Adding baseline Visual Studio project for building the MPS.
Only the amcss test is included for W3I3MV so far.
166370 closed 2008-09-30 15:31:18 Richard Kistruck MPS br/vc9: w3gen.def: (comments only) explain that this file has been hand-edited, and why
166149 open 2008-09-10 19:42:38 Richard Kistruck MPS br/vc9: hand-edit w3gen.def to export mps_arena_vm_growth() from DLL