misc: refactor clib_bitmap_foreach macro
[vpp.git] / src / vppinfra / elf.c
index 931fbcc..c492b3b 100644 (file)
@@ -43,7 +43,7 @@ elf_swap_verneed_aux (elf_dynamic_version_need_aux_t * n)
 #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)
 {
@@ -983,7 +983,7 @@ elf_parse (elf_main_t * em, void *data, uword data_bytes)
 
   {
     char *save = em->file_name;
-    memset (em, 0, sizeof (em[0]));
+    clib_memset (em, 0, sizeof (em[0]));
     em->file_name = save;
   }
 
@@ -1325,7 +1325,7 @@ elf_parse_dynamic (elf_main_t * em)
 #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;
@@ -1357,6 +1357,8 @@ elf_read_file (elf_main_t * em, char *file_name)
       goto done;
     }
 
+  CLIB_MEM_UNPOISON (data, mmap_length);
+
   em->file_name = file_name;
 
   error = elf_parse (em, data, mmap_length);
@@ -1435,7 +1437,7 @@ static void string_table_init (string_table_builder_t * b, u8 * old_table)
 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));
 }
@@ -1703,7 +1705,7 @@ layout_sections (elf_main_t * em)
 
       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);
@@ -1726,7 +1728,7 @@ layout_sections (elf_main_t * em)
              if (hi > s_hi)
                s_hi = hi;
            }
-       }));
+       }
        /* *INDENT-ON* */
 
       if (n_sections == 0)