Ignore:
Timestamp:
2016-05-16T18:10:00Z (9 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
bab0f42
Parents:
0dc9a474
Message:

DTPMOD relocations with null symbol name should return the current module index. Implement TPOFF relocations. dltest -n to not run dlfcn tests. Now dltest -n works like a charm. Place TLS images in descending order for variant II just to be safe. Propagate TLS alignment info.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/arch/ia32/src/rtld/reloc.c

    r0dc9a474 r29405ac  
    115115                        sym_addr = 0;
    116116                        sym_def = NULL;
     117
     118                        /*
     119                         * DTPMOD with null st_name should return the index
     120                         * of the current module.
     121                         */
     122                        dest = m;
    117123                }
    118124
     
    171177                        break;
    172178
    173 //              case R_386_TLS_DTPOFF32:
    174 //                      *r_ptr = sym_def->st_value;
    175 //                      break;
     179                case R_386_TLS_TPOFF:
     180                        DPRINTF("fixup R_386_TLS_TPOFF\n");
     181                        *r_ptr = (dest->ioffs + sym_def->st_value) - dest->rtld->tls_size;
     182                        break;
     183
     184                case R_386_TLS_DTPOFF32:
     185                        DPRINTF("fixup R_386_TLS_DTPOFF32\n");
     186                        *r_ptr = sym_def->st_value;
     187                        break;
    176188
    177189                case R_386_TLS_DTPMOD32:
     190                        DPRINTF("fixup R_386_TLS_DTPMOD32\n");
    178191                        *r_ptr = dest->id;
    179192                        break;
Note: See TracChangeset for help on using the changeset viewer.