This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 9c191e93b78a22d5df2d17e6ae0c34b54972a9d9
Author: anjiahao <anjia...@xiaomi.com>
AuthorDate: Wed Jul 10 22:49:47 2024 +0800

    modilib:add new args to modp record init arry
    
    Signed-off-by: anjiahao <anjia...@xiaomi.com>
---
 include/nuttx/lib/modlib.h       | 2 ++
 libs/libc/modlib/modlib_insert.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/include/nuttx/lib/modlib.h b/include/nuttx/lib/modlib.h
index f70491406a..f29fd550f7 100644
--- a/include/nuttx/lib/modlib.h
+++ b/include/nuttx/lib/modlib.h
@@ -179,6 +179,8 @@ struct module_s
 
   FAR struct module_s *dependencies[CONFIG_MODLIB_MAXDEPEND];
 #endif
+  uintptr_t initarr;                     /* .init_array */
+  uint16_t  ninit;                       /* Number of entries in .init_array */
   uintptr_t finiarr;                     /* .fini_array */
   uint16_t  nfini;                       /* Number of entries in .fini_array */
 };
diff --git a/libs/libc/modlib/modlib_insert.c b/libs/libc/modlib/modlib_insert.c
index bfaaca3e30..8debdeb5ed 100644
--- a/libs/libc/modlib/modlib_insert.c
+++ b/libs/libc/modlib/modlib_insert.c
@@ -332,6 +332,8 @@ FAR void *modlib_insert(FAR const char *filename, FAR const 
char *modname)
               array[i]();
             }
 
+          modp->initarr = loadinfo.initarr;
+          modp->ninit = loadinfo.ninit;
           modp->finiarr = loadinfo.finiarr;
           modp->nfini = loadinfo.nfini;
           break;

Reply via email to