libebl: Add ebl_func_addr_mask plus ARM backend implementation. (Was: [PATCH] libebl: Add ebl_unwind_ret_mask.)
Mark Wielaard
mjw at redhat.com
Sun Jun 22 11:49:19 UTC 2014
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 at 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
More information about the elfutils-devel
mailing list