[all-commits] [llvm/llvm-project] 5461fa: [ELF][ARM] Fix regression of BL->BLX substitution ...

Fangrui Song via All-commits all-commits at lists.llvm.org
Wed Feb 5 14:09:19 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5461fa2b1fcfcfcd8e28e3ac3383d2245d5d90bf
      https://github.com/llvm/llvm-project/commit/5461fa2b1fcfcfcd8e28e3ac3383d2245d5d90bf
  Author: Fangrui Song <maskray at google.com>
  Date:   2020-02-05 (Wed, 05 Feb 2020)

  Changed paths:
    M lld/ELF/Arch/ARM.cpp
    M lld/test/ELF/arm-thumb-interwork-shared.s

  Log Message:
  -----------
  [ELF][ARM] Fix regression of BL->BLX substitution after D73542

D73542 made a typo (`rel.type == R_PLT_PC`; should be `rel.expr`) and introduced a regression:
BL->BLX substitution was disabled when the target symbol is preemptible
(expr is R_PLT_PC).

The two added bl instructions in arm-thumb-interwork-shared.s check that
we patch BL to BLX.

Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1047531




More information about the All-commits mailing list