This is the mail archive of the
mailing list for the elfutils project.
Re: [COMMITTED] libebl.h: Add comment from README that this is completely UNSUPPORTED.
- From: David Smith <dsmith at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Tue, 27 Jan 2015 08:46:11 -0600
- Subject: Re: [COMMITTED] libebl.h: Add comment from README that this is completely UNSUPPORTED.
On 01/27/2015 06:12 AM, Mark Wielaard wrote:
> Since there was another accident where a project was using libebl functions
> directly I added the following warning to the libebl.h header file.
> Make it really, really clear that the libebl interface is NOT source and
> NOT abi compatible and we will break any users.
> Signed-off-by: Mark Wielaard <firstname.lastname@example.org>
> libebl/ChangeLog | 5 +++++
> libebl/libebl.h | 15 ++++++++++++++-
> 2 files changed, 19 insertions(+), 1 deletion(-)
> diff --git a/libebl/ChangeLog b/libebl/ChangeLog
> index 5e635f2..3655e72 100644
> --- a/libebl/ChangeLog
> +++ b/libebl/ChangeLog
> @@ -1,3 +1,8 @@
> +2015-01-27 Mark Wielaard <email@example.com>
> + * libebl.h: Add comment from README that this is completely
> + UNSUPPORTED.
> 2014-11-22 Mark Wielaard <firstname.lastname@example.org>
> * ebl-hooks.h (bss_plt_p): Remove ehdr argument.
> diff --git a/libebl/libebl.h b/libebl/libebl.h
> index 7c3c764..7ead62c 100644
> --- a/libebl/libebl.h
> +++ b/libebl/libebl.h
> @@ -1,5 +1,5 @@
> /* Interface for libebl.
> - Copyright (C) 2000-2010, 2013, 2014 Red Hat, Inc.
> + Copyright (C) 2000-2010, 2013, 2014, 2015 Red Hat, Inc.
> This file is part of elfutils.
> This file is free software; you can redistribute it and/or modify
> @@ -26,6 +26,19 @@
> the GNU Lesser General Public License along with this program. If
> not, see <http://www.gnu.org/licenses/>. */
> +/* This is the interface for the Elfutils Backend Library.
> + It is a completely UNSUPPORTED interface. Don't use any libebl
> + function directly. These are only for internal elfutils backends
> + and tools. There is NO source or binary compatible guarantee.
> + The ABI of the backend modules is not guaranteed. Really, not guarantee
> + whatsoever. We are enforcing this in the code. The modules and their
> + users must match. No third-party EBL module are supported or allowed.
> + The only reason there are separate modules is to not have the code for
> + all architectures in all the binaries. */
> #ifndef _LIBEBL_H
> #define _LIBEBL_H 1
The comment is fine (although I think you meant "Really, no guarantee"
instead of "Really, not guarantee"). However, what about making this
internal header more internal? Does code using elfutils need anything
out of this file? If not, why does it end up in /usr/include/elfutils?