Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: "common" symbols are no longer common?!?!?!



woods%planix.ca@localhost ("Greg A. Woods") writes:

>Here's a real-world example showing the move from C to B:

>9.99.81 $ nm /usr/lib/librumpnet.a | fgrep rumpns_ifnet
>0000000000000010 C rumpns_ifnet_list
>0000000000000008 C rumpns_ifnet_mtx
>0000000000000008 C rumpns_ifnet_pslist
>                 U rumpns_ifnet_pslist


>10.99.11 $ nm /usr/lib/librumpnet.a | fgrep rumpns_ifnet
>0000000000000010 B rumpns_ifnet_list
>0000000000000000 B rumpns_ifnet_mtx
>0000000000000008 B rumpns_ifnet_pslist
>                 U rumpns_ifnet_pslist


gcc switched the default to -fno-common with gcc10.

netbsd-9 uses gcc 7.5.0
netbsd-10 uses gcc 10.5.0
netbsd-current now uses gcc 12.4.0

Generally, this is a good thing. There are very few programs
that use common variables and accidentially merged symbols
are now a linker error.



Home | Main Index | Thread Index | Old Index