[all-commits] [llvm/llvm-project] 410644: Clang crash targeting ARM or Thumb when assembling...

simonwallis2 via All-commits all-commits at lists.llvm.org
Wed May 13 05:53:06 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 410644fbf767d5853f170cb2d664a5fef37cb20a
      https://github.com/llvm/llvm-project/commit/410644fbf767d5853f170cb2d664a5fef37cb20a
  Author: Simon Wallis <simon.wallis2 at arm.com>
  Date:   2020-05-13 (Wed, 13 May 2020)

  Changed paths:
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
    M llvm/test/MC/ARM/error-location.s

  Log Message:
  -----------
  Clang crash targeting ARM or Thumb when assembling a prel31 relocation variant

Summary:
In the assembler or inline assembler,
attempting to use an invalid fixup type
gives a crash with a segmentation fault.

__attribute__((naked))
void foo(void) {
 __asm__("mov r9, :lower16:bar(prel31)");
}

This should give a proper error message when building for ARM or Thumb.
This brings it in line with AARCH64.

This fixes all 8 instances of llvm_unreachable("Unsupported Modifier");
in ARM/MCTargetDesc/ARMELFObjectWriter.cpp.
A test is provided for each instance.

Reviewers: llvm-commits, MarkMurrayARM

Reviewed By: MarkMurrayARM

Subscribers: kristof.beyls, hiraditya, danielkiss

Tags: #llvm

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

Change-Id: I6971ba37f129cc453568fe71514ccb2ac9d16831




More information about the All-commits mailing list