[all-commits] [llvm/llvm-project] 5bab29: Ignore R_MIPS_JALR relocations against non-functio...

Alexander Richardson via All-commits all-commits at lists.llvm.org
Wed Nov 20 05:23:55 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5bab291b7bd043104abf1ca7977e8248684cae95
      https://github.com/llvm/llvm-project/commit/5bab291b7bd043104abf1ca7977e8248684cae95
  Author: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
  Date:   2019-11-20 (Wed, 20 Nov 2019)

  Changed paths:
    M lld/ELF/Arch/Mips.cpp
    A lld/test/ELF/mips-jalr-non-functions.s

  Log Message:
  -----------
  Ignore R_MIPS_JALR relocations against non-function symbols

Summary:
Current versions of clang would erroneously emit this relocation not only
against functions (loaded from the GOT) but also against data symbols
(e.g. a table of function pointers). LLD was then changing this into a
branch-and-link instruction, causing the program to jump to the data
symbol at run time. I discovered this problem when attempting to boot
MIPS64 FreeBSD after updating the to the latest upstream master.

Reviewers: atanasyan, jrtc27, espindola

Reviewed By: atanasyan

Subscribers: emaste, sdardis, krytarowski, MaskRay, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70406


  Commit: 6187394dd05ea20db01370b1990a79d517d98f7e
      https://github.com/llvm/llvm-project/commit/6187394dd05ea20db01370b1990a79d517d98f7e
  Author: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
  Date:   2019-11-20 (Wed, 20 Nov 2019)

  Changed paths:
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/update_analyze_test_checks.py
    M llvm/utils/update_cc_test_checks.py
    M llvm/utils/update_llc_test_checks.py
    M llvm/utils/update_mca_test_checks.py
    M llvm/utils/update_mir_test_checks.py
    M llvm/utils/update_test_checks.py

  Log Message:
  -----------
  [UptestTestChecks][NFC] Share some common command line options code

Summary:
Add a function common.parse_commandline_args() that adds options common
to all tools (--verbose and --update-only) and returns the parsed
commandline arguments. I plan to use the shared parsing of --verbose in a
follow-up commit to remove most of the `if args.verbose:` checks in the
scripts.

Reviewers: xbolva00, MaskRay

Reviewed By: MaskRay

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70428


  Commit: 50807c81eaeead17277ebf98ce1cc6272370d143
      https://github.com/llvm/llvm-project/commit/50807c81eaeead17277ebf98ce1cc6272370d143
  Author: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
  Date:   2019-11-20 (Wed, 20 Nov 2019)

  Changed paths:
    M llvm/utils/update_cc_test_checks.py

  Log Message:
  -----------
  [update_cc_test_checks.py] Add the --function-signature flag

Summary:
This was added to update_test_checks.py in D68819 and I believe having it
in update_cc_test_checks.py is also useful.

Reviewers: jdoerfert, MaskRay

Reviewed By: MaskRay

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70429


Compare: https://github.com/llvm/llvm-project/compare/3f91705ca54b...50807c81eaee


More information about the All-commits mailing list