ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
April 17th, 2024 | 14:30-16:00 SGT (UTC+8) | Online

Wireshark-dev: Re: [Wireshark-dev] Undefined symbol tvb_find_tvb

From: Jeff Morriss <jeff.morriss.ws@xxxxxxxxx>
Date: Tue, 26 Jul 2011 14:03:52 -0400
Guy Harris wrote:
On Jul 26, 2011, at 10:23 AM, Joerg Mayer wrote:

On Tue, Jul 26, 2011 at 01:06:08PM -0400, Jeff Morriss wrote:
Remember that since r35145 (and probably some other revs as the kinks got worked out), libtool-based builds only export the listed symbols. (Hmmm, I wonder if cmake has that same functionality.)
I know that I never did anything to add this stuff and I don't remember
any commits to that effect, but maybe I'm mistaken. I also must admit
that I never really understood the reason for adding this stuff to the
unix builds.

I think the intent was to cause a failure if a routine was added that was used by one of our plugins but wasn't listed in libwireshark.def, so that UN*X developers would be less likely to break the build.  I'm not sure that it's sufficient to catch all the cases where the build would break on Windows, though.

I think there were some other reasons, too, including [IIRC]:
- Having a controlled list of symbols reduces our ABI-change exposure (see http://linuxtesting.org/upstream-tracker/versions/wireshark.html )

- Fewer symbols means less work for the loader which theoretically means faster load times (linuxtesting.org shows we lost 3040 symbols in 1.5.0 thanks to this change)