EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS release series after 7.0: 7.1 or 8.0? (ABI)
From: "J. Lewis Muir via Tech-talk" <[email protected]>
To: Michael Davidsaver <[email protected]>
Cc: [email protected]
Date: Thu, 9 Jan 2020 13:10:48 -0600
On 01/09, Michael Davidsaver via Tech-talk wrote:
> On 1/9/20 12:47 AM, Wang Xiaoqiang via Tech-talk wrote:
> > I assume this ABI checking can be one additional step in the CI script, using tools like abi-compliance-checker. It could then be used as a guideline in development. e.g. attached is a generated report of pvAccess library between 7.0.2 and 7.0.3.
> 
> I usually give a small sigh when I read "ABI compatibility" because it's
> actually not as well defined and clear cut as you might think.  (especially
> wrt. c++)
> 
> When this has come up in the past, it has been difficult to convince those
> arguing in favor of the difficulty.

Certainly I agree that maintaining ABI compatibility with C++ is much
harder than with C, but I still think it's doable.  Microsoft has many
C++ libraries, and they've managed to do it.  KDE and Qt similarly have
managed to do it.  There are resources that attempt to explain changes
you can and cannot make if you want to maintain ABI compatibility such
as [1], [2], and [3] which I found just now with a web search.  And then
there are the analysis tools to help catch mistakes.  I'm not saying it
would be trivial, but so far I haven't seen evidence that it would be
extremely difficult.

Lewis

[1]: https://www.youtube.com/watch?v=PHrXGHDd9no
[2]: https://events.static.linuxfound.org/sites/events/files/slides/Binary_Compatibility_for_library_devs.pdf
[3]: https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B

Replies:
Re: EPICS release series after 7.0: 7.1 or 8.0? (ABI) Michael Davidsaver via Tech-talk
References:
EPICS release series after 7.0: 7.1 or 8.0? J. Lewis Muir via Tech-talk
Re: EPICS release series after 7.0: 7.1 or 8.0? Johnson, Andrew N. via Tech-talk
Re: EPICS release series after 7.0: 7.1 or 8.0? Wang Xiaoqiang via Tech-talk
Re: EPICS release series after 7.0: 7.1 or 8.0? (ABI) Michael Davidsaver via Tech-talk

Navigate by Date:
Prev: Re: EPICS release series after 7.0: 7.1 or 8.0? Johnson, Andrew N. via Tech-talk
Next: Re: EPICS Smartmotor example IOC Peterson, Kevin M. via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: EPICS release series after 7.0: 7.1 or 8.0? (ABI) Michael Davidsaver via Tech-talk
Next: Re: EPICS release series after 7.0: 7.1 or 8.0? (ABI) Michael Davidsaver via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 09 Jan 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·