+ if (preserve->cleanup)
+ {
+ /* Run the cleanup, assuming that all it will need is the
+ tdata at the time the cleanup was returned. */
+ void *tdata = abfd->tdata.any;
+ abfd->tdata.any = preserve->tdata;
+ preserve->cleanup (abfd);
+ abfd->tdata.any = tdata;
+ }