git: c4ba4aa54718 - main - libifconfig: Overhaul ifconfig_media_* interfaces

Konstantin Belousov kostikbel at gmail.com
Fri Mar 5 18:19:27 UTC 2021


On Fri, Mar 05, 2021 at 11:23:56AM +0000, Ryan Moeller wrote:
> The branch main has been updated by freqlabs:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=c4ba4aa547184ab401204096cdad9def4ab37964
> 
> commit c4ba4aa547184ab401204096cdad9def4ab37964
> Author:     Ryan Moeller <freqlabs at FreeBSD.org>
> AuthorDate: 2021-03-02 10:29:17 +0000
> Commit:     Ryan Moeller <freqlabs at FreeBSD.org>
> CommitDate: 2021-03-05 09:15:55 +0000
> 
>     libifconfig: Overhaul ifconfig_media_* interfaces
>     
>     Define an ifmedia_t type to use for ifmedia words.
>     
>     Add ifconfig_media_lookup_* functions to lookup ifmedia words by name.
>     
>     Get media options as an array of option names rather than formatting it
>     as a comma-delimited list into a buffer.
>     
>     Sprinkle const on static the static description tables for peace of
>     mind.
>     
>     Don't need to zero memory allocated by calloc.
>     
>     Reviewed by:    kp
>     MFC after:      2 weeks
>     Differential Revision:  https://reviews.freebsd.org/D29029
> ---
>  lib/libifconfig/Makefile            |   2 +-
>  lib/libifconfig/Symbol.map          |   9 +-
>  lib/libifconfig/libifconfig.h       |  69 +++++++-
>  lib/libifconfig/libifconfig_media.c | 339 ++++++++++++++++++++++++------------
>  share/examples/libifconfig/status.c |  27 ++-
>  5 files changed, 324 insertions(+), 122 deletions(-)
> 
> diff --git a/lib/libifconfig/Makefile b/lib/libifconfig/Makefile
> index 73dad36c1dc5..c6f006018427 100644
> --- a/lib/libifconfig/Makefile
> +++ b/lib/libifconfig/Makefile
> @@ -7,7 +7,7 @@ INTERNALLIB=	true
>  LIBADD=		m
>  
>  SHLIBDIR?=	/lib
> -SHLIB_MAJOR=	1
> +SHLIB_MAJOR=	2
>  
>  VERSION_DEF=	${LIBCSRCDIR}/Versions.def
>  SYMBOL_MAPS=	${.CURDIR}/Symbol.map

libifconfig is marked as internal, but we provide symbol versioning for it,
and do it in the normal FreeBSD namespace.  On one hand, our policy is to
not bump symvered libs and to provide binary compat shims as needed, on the
other, this is internal lib.

What is the purpose of maintaining symbol versions for it?


More information about the dev-commits-src-main mailing list