Changes in uspace/lib/c/generic/rtld/symbol.c [da54714:d1582b50] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/rtld/symbol.c
rda54714 rd1582b50 65 65 static elf_symbol_t *def_find_in_module(const char *name, module_t *m) 66 66 { 67 if (m->dyn.hash == NULL) {68 /* No hash table */69 return NULL;70 }71 72 67 elf_symbol_t *sym_table; 73 68 elf_symbol_t *s, *sym; … … 140 135 modules_untag(start->rtld); 141 136 142 /* 143 * Insert root (the program) into the queue and tag it. 144 * 145 * We disable the dangling-pointer warning because the compiler incorrectly 146 * assumes that we leak local address (queue) to a parent scope (to start 147 * argument). However, we always empty the list so the pointer cannot 148 * actually escape. Probably the compiler can never statically analyze that 149 * correctly. 150 */ 137 /* Insert root (the program) into the queue and tag it */ 151 138 list_initialize(&queue); 152 139 start->bfs_tag = true; 153 #pragma GCC diagnostic push154 #if defined(__GNUC__) && (__GNUC__ >= 12)155 #pragma GCC diagnostic ignored "-Wdangling-pointer"156 #endif157 140 list_append(&start->queue_link, &queue); 158 #pragma GCC diagnostic pop159 141 160 142 /* If the symbol is found, it will be stored in 'sym' */
Note:
See TracChangeset
for help on using the changeset viewer.