Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/rtld/symbol.c

    rda54714 rd1582b50  
    6565static elf_symbol_t *def_find_in_module(const char *name, module_t *m)
    6666{
    67         if (m->dyn.hash == NULL) {
    68                 /* No hash table */
    69                 return NULL;
    70         }
    71 
    7267        elf_symbol_t *sym_table;
    7368        elf_symbol_t *s, *sym;
     
    140135        modules_untag(start->rtld);
    141136
    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 */
    151138        list_initialize(&queue);
    152139        start->bfs_tag = true;
    153 #pragma GCC diagnostic push
    154 #if defined(__GNUC__) && (__GNUC__ >= 12)
    155 #pragma GCC diagnostic ignored "-Wdangling-pointer"
    156 #endif
    157140        list_append(&start->queue_link, &queue);
    158 #pragma GCC diagnostic pop
    159141
    160142        /* If the symbol is found, it will be stored in 'sym' */
Note: See TracChangeset for help on using the changeset viewer.