[DGD] DGD 1.2p4 and precompiled objects

Felix A. Croes felix at dworkin.nl
Mon Nov 12 16:11:45 CET 2007


bart at wotf.org wrote:

> Is there a proper way to upgrade precompiled objects?
>
> What works is replacing a precompiled object with an interpred one, and after
> a state restore the interpreted object is used instead of the precompiled one.
>
> However, when I try to use a driver with a new version of the precompiled
> object, the driver complains that the restored object != precompiled object.
>
> Digging a bit into comp/csupport.c turns up that if the number of functions
> (or a few other things, but number of functions turns out to be the problem in
> my case) changes in a precompiled object compared to the previous precompiled
> version (that is still in the statedump despite there being a newer
> interpreted one) the new version is refused with this message

If the old precompiled object is still in the statedump, it's still
being used somewhere.  Presumably, it is inherited by something else.
You can get rid of it by recompiling those other objects as well, to
make them inherit the new, interpreted version.

The proper way to upgrade precompiled objects is:

1) recompile them to interpreted objects, which may be changed
2) recompile all the objects that inherit the old precompiled objects,
   as well
3) reboot with a driver in which the interpreted objects are replaced
   by precompiled objects, which must match the interpreted ones

Regards,
Dworkin



More information about the DGD mailing list