This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
Re: libebl: Add ebl_func_addr_mask plus ARM backend implementation. (Was: [PATCH] libebl: Add ebl_unwind_ret_mask.)
- From: Mark Wielaard <mjw at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Sun, 22 Jun 2014 13:49:19 +0200
- Subject: Re: libebl: Add ebl_func_addr_mask plus ARM backend implementation. (Was: [PATCH] libebl: Add ebl_unwind_ret_mask.)
On Tue, 2014-06-17 at 22:09 +0200, Mark Wielaard wrote:
> libebl: Add ebl_func_addr_mask plus ARM backend implementation.
>
> The ARM EABI says that the zero bit of function symbol st_value indicates
> whether the symbol points to a THUMB or ARM function. Also the return
> value address in an unwind will contain the same extra bit to indicate
> whether to return to a regular ARM or THUMB function. Add a new ebl
> function to mask off such bits and turn a function value into a function
> address so that we get the actual value that a function symbol or return
> address points to. It isn't easily possible to reuse the existing
> ebl_resolve_sym_value for this purpose, so we end up with another hook
> that can be used from dwfl_module_getsym, handle_cfi and elflint.
>
> Signed-off-by: Mark Wielaard <mjw@redhat.com>
Pushed after testing against Fedora armv7hl, which doesn't use THUMB by
default and Debian armhf which does use THUMB by default.
Cheers,
Mark