#undef _
}
-clib_error_t *
+__clib_export clib_error_t *
elf_get_section_by_name (elf_main_t * em, char *section_name,
elf_section_t ** result)
{
return p ? vec_elt_at_index (em->sections, p[0]) : 0;
}
-clib_error_t *
-elf_get_section_by_start_address (elf_main_t * em, uword start_address,
- elf_section_t ** result)
+__clib_export clib_error_t *
+elf_get_section_by_start_address (elf_main_t *em, uword start_address,
+ elf_section_t **result)
{
elf_section_t *s =
elf_get_section_by_start_address_no_check (em, start_address);
(i64) s2->header.virtual_address);
}
-u8 *
-format_elf_main (u8 * s, va_list * args)
+__clib_export u8 *
+format_elf_main (u8 *s, va_list *args)
{
elf_main_t *em = va_arg (*args, elf_main_t *);
u32 verbose = va_arg (*args, u32);
}
}
-void
-elf_set_dynamic_entries (elf_main_t * em)
+__clib_export void
+elf_set_dynamic_entries (elf_main_t *em)
{
uword i;
{
char *save = em->file_name;
- memset (em, 0, sizeof (em[0]));
+ clib_memset (em, 0, sizeof (em[0]));
em->file_name = save;
}
#include <sys/stat.h>
#include <fcntl.h>
-clib_error_t *
+__clib_export clib_error_t *
elf_read_file (elf_main_t * em, char *file_name)
{
int fd;
goto done;
}
+ CLIB_MEM_UNPOISON (data, mmap_length);
+
em->file_name = file_name;
error = elf_parse (em, data, mmap_length);
static void
string_table_init (string_table_builder_t * b, u8 * old_table)
{
- memset (b, 0, sizeof (b[0]));
+ clib_memset (b, 0, sizeof (b[0]));
b->old_table = old_table;
b->hash = hash_create_string (0, sizeof (uword));
}
s_lo = s_hi = 0;
/* *INDENT-OFF* */
- clib_bitmap_foreach (si, g->section_index_bitmap, ({
+ clib_bitmap_foreach (si, g->section_index_bitmap) {
u64 lo, hi;
s = vec_elt_at_index (em->sections, si);
if (hi > s_hi)
s_hi = hi;
}
- }));
+ }
/* *INDENT-ON* */
if (n_sections == 0)
}
}
-clib_error_t *
-elf_write_file (elf_main_t * em, char *file_name)
+__clib_export clib_error_t *
+elf_write_file (elf_main_t *em, char *file_name)
{
int fd;
FILE *f;