Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!samsung!sdd.hp.com!ucsd!pacbell.com!pacbell!osc!tma From: tma@osc.COM (Tim Atkins) Newsgroups: comp.lang.c++ Subject: Re: Borland Turbo C++ compile size Message-ID: <3233@osc.COM> Date: 12 Aug 90 08:06:13 GMT References: <7921@tekgvs.LABS.TEK.COM> <380@taumet.com> <1990Aug4.233013.20500@cs.columbia.edu> Reply-To: tma@osc.UUCP (Tim Atkins) Organization: Object Sciences Corp., Menlo Park, CA Lines: 11 Be very careful with recommendations on "smart" linking. Some implementations I am aware of can break the munch form of C++ loading. The reason is that the executable is first linked, then an nm is done to find the special static constructors and destructors. This input is used to produce another .c file that calls these functions. Some "smart" linkers make this impossible as the relevant static functions are discarded in phase one since there are no calls to them at that point. While I consider the goal of smart linking laudable, some support for programs that depend on current practice or a modification of current practice is needed.