Changeset 91e4567 in mainline
- Timestamp:
- 2016-05-06T15:21:22Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0dc9a474
- Parents:
- 7c4b26c
- Location:
- uspace/lib/c/generic
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/libc.c
r7c4b26c r91e4567 65 65 void __main(void *pcb_ptr) 66 66 { 67 /* Save the PCB pointer */ 68 __pcb = (pcb_t *) pcb_ptr; 69 70 #ifdef CONFIG_RTLD 71 if (__pcb != NULL && __pcb->rtld_runtime != NULL) { 72 runtime_env = (rtld_t *) __pcb->rtld_runtime; 73 } 74 #endif 67 75 /* Initialize user task run-time environment */ 68 76 __malloc_init(); … … 74 82 __tcb_set(fibril->tcb); 75 83 76 /* Save the PCB pointer */77 __pcb = (pcb_t *) pcb_ptr;78 84 79 85 #ifdef FUTEX_UPGRADABLE … … 89 95 char **argv; 90 96 91 #ifdef CONFIG_RTLD92 if (__pcb != NULL && __pcb->rtld_runtime != NULL) {93 runtime_env = (rtld_t *) __pcb->rtld_runtime;94 }95 #endif96 97 /* 97 98 * Get command line arguments and initialize -
uspace/lib/c/generic/rtld/rtld.c
r7c4b26c r91e4567 151 151 offset = 0; 152 152 list_foreach(rtld->modules, modules_link, module_t, m) { 153 assert(offset + m->tdata_size + m->tbss_size <= rtld->tls_size); 153 154 memcpy(data + offset, m->tdata, m->tdata_size); 154 155 offset += m->tdata_size; -
uspace/lib/c/generic/tls.c
r7c4b26c r91e4567 47 47 size_t tls_get_size(void) 48 48 { 49 #ifdef CONFIG_RTLD 50 if (runtime_env != NULL) 51 return runtime_env->tls_size; 52 #endif 49 53 return &_tbss_end - &_tdata_start; 50 54 } … … 83 87 void tls_free(tcb_t *tcb) 84 88 { 85 size_t tls_size = &_tbss_end - &_tdata_start; 86 87 #ifdef CONFIG_RTLD 88 if (runtime_env != NULL) 89 tls_size = runtime_env->tls_size; 90 #endif 91 tls_free_arch(tcb, tls_size); 89 tls_free_arch(tcb, tls_get_size()); 92 90 } 93 91
Note:
See TracChangeset
for help on using the changeset viewer.