~sheosi/helenos/lua

« back to all changes in this revision

Viewing changes to uspace/lib/c/generic/rtld/module.c

  • Committer: Sergio Tortosa (sheosi)
  • Date: 2013-12-22 14:13:23 UTC
  • mfrom: (2032.1.12 mainline)
  • Revision ID: sertorbe@gmail.com-20131222141323-gbiqm4j2w9sbjty5
MergedĀ mainline

Show diffs side-by-side

added added

removed removed

Lines of Context:
92
92
 */
93
93
module_t *module_find(const char *name)
94
94
{
95
 
        module_t *m;
96
95
        const char *p, *soname;
97
96
 
98
97
        DPRINTF("module_find('%s')\n", name);
106
105
        soname = p ? (p + 1) : name;
107
106
 
108
107
        /* Traverse list of all modules. Not extremely fast, but simple */
109
 
        list_foreach(runtime_env->modules, cur) {
110
 
                DPRINTF("cur = %p\n", cur);
111
 
                m = list_get_instance(cur, module_t, modules_link);
 
108
        list_foreach(runtime_env->modules, modules_link, module_t, m) {
 
109
                DPRINTF("m = %p\n", m);
112
110
                if (str_cmp(m->dyn.soname, soname) == 0) {
113
111
                        return m; /* Found */
114
112
                }
244
242
 */
245
243
void modules_process_relocs(module_t *start)
246
244
{
247
 
        module_t *m;
248
 
 
249
 
        list_foreach(runtime_env->modules, cur) {
250
 
                m = list_get_instance(cur, module_t, modules_link);
251
 
 
 
245
        list_foreach(runtime_env->modules, modules_link, module_t, m) {
252
246
                /* Skip rtld, since it has already been processed */
253
247
                if (m != &runtime_env->rtld) {
254
248
                        module_process_relocs(m);
260
254
 */
261
255
void modules_untag(void)
262
256
{
263
 
        module_t *m;
264
 
 
265
 
        list_foreach(runtime_env->modules, cur) {
266
 
                m = list_get_instance(cur, module_t, modules_link);
 
257
        list_foreach(runtime_env->modules, modules_link, module_t, m) {
267
258
                m->bfs_tag = false;
268
259
        }
269
260
}