Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Jul 2009 22:03:12 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        arch@freebsd.org, Gordon Tetlow <gordon@tetlows.org>
Subject:   Re: svn commit: r195767 - in head: . cddl/lib cddl/lib/libctf cddl/lib/libdtrace gnu/lib/libdialog gnu/lib/libg2c gnu/lib/libobjc gnu/lib/libreadline gnu/lib/libregex lib lib/libalias/libalias lib/liba...
Message-ID:  <20090721190312.GH55190@deviant.kiev.zoral.com.ua>
In-Reply-To: <200907211134.23565.jhb@freebsd.org>
References:  <200907191725.n6JHPOBe049379@svn.freebsd.org> <200907200951.56551.jhb@freebsd.org> <4e571dd70907210800m451681fdhedb951e4351d8233@mail.gmail.com> <200907211134.23565.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--RNDwH1ysJEL7MpMz
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Jul 21, 2009 at 11:34:23AM -0400, John Baldwin wrote:
> On Tuesday 21 July 2009 11:00:27 am Gordon Tetlow wrote:
> > On Mon, Jul 20, 2009 at 6:51 AM, John Baldwin <jhb@freebsd.org> wrote:
> >=20
> > > I guess specifically I see a disconnect in that in our current policy=
 we
> > > trust
> > > developers to know when a change is an ABI change for a library with
> > > versioned symbols, but we don't trust them to know when a change is a=
n ABI
> > > change for a library without versioned symbols.  Either we trust=20
> developers
> > > to recognize an ABI change or not.  Whether or not the library has
> > > versioned
> > > symbols doesn't change that, and the resulting mess if we get it wron=
g is
> > > just as ugly in either case.
> >=20
> >=20
> >  Is there a way to detect ABI changes automatically? Is there some tool=
 that
> > could be written to detect changes in ABI and throw warnings about in t=
hat
> > case?
>=20
> I am not aware of one, and I think it would be hard to detect things like
> changes in structure layout (e.g. you can have an ABI change w/o changing
> the size if you just reorder fields).  Even a tool that could check for a
> subset of breakages would still be useful.

We need the checker that can parse ELF and dwarf2, and produces the
printouts of the all exported functions with corresponding versions,
and structure definitions in some canonical forms, not neccessary in C
syntax. Such code is architecture-depended, that is good. As an added
benefit, it will be possible to show the padding.

Next, we either diff the printouts, or teach the tools to report on any
added/missed symbols, changed function signatures or structure layouts.

We do have libelf and libdwarf in the base, that could be considered as
the "lexer" foundation of the tool. The tool is quite doable, but requires
a time. This is definitely not a weekend project, in my opinion.

--RNDwH1ysJEL7MpMz
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEARECAAYFAkpmEO8ACgkQC3+MBN1Mb4h4IgCcCbl2OohPRNkVPwbhtd85aCqQ
S1EAnjfjAl3w1NLl2wB2b8ikHCadMD6o
=0v/e
-----END PGP SIGNATURE-----

--RNDwH1ysJEL7MpMz--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090721190312.GH55190>