"Theo de Raadt" <dera...@openbsd.org> writes: > Why? The size of an array changes, but the ABI does not change > in a visible fashion.
tcpdump uses that symbol directly: /*XXX from libbpfc.a */ extern struct eproto { char *s; u_short p; } eproto_db[]; static void init_eprotoarray(void) { int i; struct hnamemem *table; for (i = 0; eproto_db[i].s; i++) { int j = ntohs(eproto_db[i].p) & (HASHNAMESIZE-1); table = &eprototable[j]; while (table->name) table = table->nxt; table->name = eproto_db[i].s; table->addr = ntohs(eproto_db[i].p); table->nxt = newhnamemem(); } } The result is a (harmless) warning: tcpdump:tcpdump: /usr/lib/libpcap.so.8.2 : WARNING: symbol(eproto_db) size mismatch, relink your program It would probably be nice to stop using directly this from tcpdump, and to hide that stuff using the Symbols.list infrastructure. But for now I think that a minor bump is better than nothing. -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE