diff options
author | Chris Johns <chrisj@rtems.org> | 2016-12-07 17:20:38 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2016-12-14 09:07:16 +1100 |
commit | c6eead1353e03542e5bad9efda3b6553125520d8 (patch) | |
tree | f2495a17c8d001a8249b0e6f785c3428df721a1d /cpukit/libdl/rtl-elf.h | |
parent | score: Prevent thread_dispatch_disable_level < 0. (diff) | |
download | rtems-c6eead1353e03542e5bad9efda3b6553125520d8.tar.bz2 |
libdl: Add C++ exception support to loaded modules.
This has been tested on SPARC, i386, PowerPC and ARM.
Closes #2767.
Diffstat (limited to 'cpukit/libdl/rtl-elf.h')
-rw-r--r-- | cpukit/libdl/rtl-elf.h | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/cpukit/libdl/rtl-elf.h b/cpukit/libdl/rtl-elf.h index 7f6ea300a3..e3ac07f7ed 100644 --- a/cpukit/libdl/rtl-elf.h +++ b/cpukit/libdl/rtl-elf.h @@ -55,6 +55,18 @@ extern "C" { #define RTEMS_RTL_ELF_STRING_MAX (256) /** + * Architecture specific handler to translate unknown section flags to RTL + * section flags. + * + * @param obj The object file being relocated. + * @param shdr The ELF section header. + * @retval 0 Unknown or unsupported flags. + * @retval uint32_t RTL object file flags. + */ +uint32_t rtems_rtl_elf_section_flags (const rtems_rtl_obj_t* obj, + const Elf_Shdr* shdr); + +/** * Architecture specific handler to check is a relocation record's type is * required to resolve a symbol. * @@ -137,13 +149,6 @@ bool rtems_rtl_elf_find_symbol (rtems_rtl_obj_t* obj, bool rtems_rtl_elf_file_check (rtems_rtl_obj_t* obj, int fd); /** - * The ELF file details handler. - * - * @param obj Load the details of the obj. - */ -bool rtems_rtl_elf_load_details (rtems_rtl_obj_t* obj); - -/** * The ELF format load handler. * * @param obj The object to load. @@ -152,6 +157,13 @@ bool rtems_rtl_elf_load_details (rtems_rtl_obj_t* obj); bool rtems_rtl_elf_file_load (rtems_rtl_obj_t* obj, int fd); /** + * The ELF format unload handler. + * + * @param obj The object to unload. + */ +bool rtems_rtl_elf_file_unload (rtems_rtl_obj_t* obj); + +/** * The ELF format signature handler. * * @return rtems_rtl_loader_format_t* The format's signature. |