[all-commits] [llvm/llvm-project] cd0f89: [JITLink][AArch32] Fix Unaligned Data Symbol Addre...

Eymen Ünay via All-commits all-commits at lists.llvm.org
Sat Jun 29 08:27:28 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cd0f89109bf90442cab8cfeaf5fce17cbddeef73
      https://github.com/llvm/llvm-project/commit/cd0f89109bf90442cab8cfeaf5fce17cbddeef73
  Author: Eymen Ünay <eymenunay at outlook.com>
  Date:   2024-06-29 (Sat, 29 Jun 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
    A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_data_alignment.s
    M llvm/test/ExecutionEngine/Orc/global-ctor-order.ll

  Log Message:
  -----------
  [JITLink][AArch32] Fix Unaligned Data Symbol Address Resolution (#97030)

The ARM architecture uses the LSB bit for ARM/Thumb mode switch
flagging. This is true for alignments of 2 and 4 but in data
relocations the alignment is 1 allowing the LSB bit to be set.
Now only `ELF::STT_FUNC` typed symbols are used in the 
TargetFlag mechanism.

The test is a minimal example of the issue mentioned below.

Fixes #95911 "Orc global constructor order test fails on 32
bit ARM".



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list