[PATCH] D133003: [ELF] Parallelize relocation scanning

Igor Kudrin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 5 07:11:20 PDT 2022


ikudrin added inline comments.


================
Comment at: lld/ELF/Relocations.cpp:1238
       return 1;
     config->needsTlsLd = true;
     c.relocations.push_back({expr, type, offset, addend, &sym});
----------------
If `GotSection::hasGotOffRel` and `GotPltSection::hasGotPltOffRel` are converted to `atomic<bool>`, the same should be done for `Configuration::needsTlsLd` because their usage pattern is similar.


================
Comment at: lld/ELF/Relocations.cpp:1293
       if (expr == R_GOT && config->isPic && !target->usesOnlyLowPageBits(type))
         addRelativeReloc(c, offset, sym, addend, expr, type);
       else
----------------
Shouldn't `relocMutex` be locked before this call?


================
Comment at: lld/ELF/Relocations.cpp:1569
 
-static bool handleNonPreemptibleIfunc(Symbol &sym) {
+static bool handleNonPreemptibleIfunc(Symbol &sym, uint8_t flags) {
   // Handle a reference to a non-preemptible ifunc. These are special in a
----------------
`uint8_t` -> `uint16_t`; not that it changes anything because the only flag that exceeds the range is `NEEDS_TLSIE` which is not used here, but still.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D133003/new/

https://reviews.llvm.org/D133003



More information about the llvm-commits mailing list