Index: lld/trunk/ELF/Target.h =================================================================== --- lld/trunk/ELF/Target.h +++ lld/trunk/ELF/Target.h @@ -169,7 +169,8 @@ static void checkAlignment(uint8_t *Loc, uint64_t V, RelType Type) { if ((V & (N - 1)) != 0) error(getErrorLocation(Loc) + "improper alignment for relocation " + - lld::toString(Type)); + lld::toString(Type) + ": 0x" + llvm::utohexstr(V) + + " is not aligned to " + Twine(N) + " bytes"); } } // namespace elf } // namespace lld Index: lld/trunk/test/ELF/aarch64-lo12-alignment.s =================================================================== --- lld/trunk/test/ELF/aarch64-lo12-alignment.s +++ lld/trunk/test/ELF/aarch64-lo12-alignment.s @@ -39,7 +39,7 @@ foo8: .space 8 -// CHECK: improper alignment for relocation R_AARCH64_LDST16_ABS_LO12_NC -// CHECK-NEXT: improper alignment for relocation R_AARCH64_LDST32_ABS_LO12_NC -// CHECK-NEXT: improper alignment for relocation R_AARCH64_LDST64_ABS_LO12_NC -// CHECK-NEXT: improper alignment for relocation R_AARCH64_LDST128_ABS_LO12_NC +// CHECK: improper alignment for relocation R_AARCH64_LDST16_ABS_LO12_NC: 0x30001 is not aligned to 2 bytes +// CHECK-NEXT: improper alignment for relocation R_AARCH64_LDST32_ABS_LO12_NC: 0x30002 is not aligned to 4 bytes +// CHECK-NEXT: improper alignment for relocation R_AARCH64_LDST64_ABS_LO12_NC: 0x30004 is not aligned to 8 bytes +// CHECK-NEXT: improper alignment for relocation R_AARCH64_LDST128_ABS_LO12_NC: 0x30008 is not aligned to 16 bytes Index: lld/trunk/test/ELF/aarch64-load-alignment.s =================================================================== --- lld/trunk/test/ELF/aarch64-load-alignment.s +++ lld/trunk/test/ELF/aarch64-load-alignment.s @@ -3,7 +3,7 @@ # RUN: llvm-mc -filetype=obj -triple=aarch64-linux-none %s -o %t.o # RUN: not ld.lld -shared %t.o -o %t 2>&1 | FileCheck %s -# CHECK: improper alignment for relocation R_AARCH64_LD_PREL_LO19 +# CHECK: improper alignment for relocation R_AARCH64_LD_PREL_LO19: 0x10005 is not aligned to 4 bytes ldr x8, patatino .data Index: lld/trunk/test/ELF/mips-align-err.s =================================================================== --- lld/trunk/test/ELF/mips-align-err.s +++ lld/trunk/test/ELF/mips-align-err.s @@ -4,7 +4,7 @@ # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: -mcpu=mips32r6 %S/Inputs/mips-align-err.s -o %t2.o # RUN: not ld.lld %t.o %t2.o -o %t.exe 2>&1 | FileCheck %s -# CHECK: {{.*}}:(.text+0x1): improper alignment for relocation R_MIPS_PC16 +# CHECK: {{.*}}:(.text+0x1): improper alignment for relocation R_MIPS_PC16: 0xB is not aligned to 4 bytes .globl __start __start: