102,13 → 102,13 |
* construct soname by chopping off the path. Otherwise |
* treat it as soname. |
*/ |
p = strrchr(name, '/'); |
p = str_rchr(name, '/'); |
soname = p ? (p + 1) : name; |
|
/* Traverse list of all modules. Not extremely fast, but simple */ |
for (cur = head->next; cur != head; cur = cur->next) { |
m = list_get_instance(cur, module_t, modules_link); |
if (strcmp(m->dyn.soname, soname) == 0) { |
if (str_cmp(m->dyn.soname, soname) == 0) { |
return m; /* Found */ |
} |
} |
135,15 → 135,14 |
exit(1); |
} |
|
if (strlen(name) > NAME_BUF_SIZE - 2) { |
if (str_size(name) > NAME_BUF_SIZE - 2) { |
printf("soname too long. increase NAME_BUF_SIZE\n"); |
exit(1); |
} |
|
/* Prepend soname with '/lib/' */ |
name_buf[0] = '/'; |
strcpy(name_buf, "/lib/"); |
strcpy(name_buf + 5, name); |
str_cpy(name_buf, NAME_BUF_SIZE, "/lib/"); |
str_cpy(name_buf + 5, NAME_BUF_SIZE - 5, name); |
|
/* FIXME: need to real allocation of address space */ |
m->bias = runtime_env->next_bias; |