diff options
| -rw-r--r-- | lld/test/ELF/invalid/Inputs/common-symbol-alignment.elf | bin | 456 -> 0 bytes | |||
| -rw-r--r-- | lld/test/ELF/invalid/Inputs/common-symbol-alignment2.elf | bin | 456 -> 0 bytes | |||
| -rw-r--r-- | lld/test/ELF/invalid/common-symbol-alignment.s | 12 | ||||
| -rw-r--r-- | lld/test/ELF/invalid/common-symbol-alignment.test | 36 |
4 files changed, 36 insertions, 12 deletions
diff --git a/lld/test/ELF/invalid/Inputs/common-symbol-alignment.elf b/lld/test/ELF/invalid/Inputs/common-symbol-alignment.elf Binary files differdeleted file mode 100644 index 9e7823b852b..00000000000 --- a/lld/test/ELF/invalid/Inputs/common-symbol-alignment.elf +++ /dev/null diff --git a/lld/test/ELF/invalid/Inputs/common-symbol-alignment2.elf b/lld/test/ELF/invalid/Inputs/common-symbol-alignment2.elf Binary files differdeleted file mode 100644 index 21c2457cbea..00000000000 --- a/lld/test/ELF/invalid/Inputs/common-symbol-alignment2.elf +++ /dev/null diff --git a/lld/test/ELF/invalid/common-symbol-alignment.s b/lld/test/ELF/invalid/common-symbol-alignment.s deleted file mode 100644 index 2a654b11479..00000000000 --- a/lld/test/ELF/invalid/common-symbol-alignment.s +++ /dev/null @@ -1,12 +0,0 @@ -# REQUIRES: x86 - -## common-symbol-alignment.elf contains common symbol with zero alignment. -# RUN: not ld.lld %S/Inputs/common-symbol-alignment.elf \ -# RUN: -o %t 2>&1 | FileCheck %s -# CHECK: common symbol 'bar' has invalid alignment: 0 - -## common-symbol-alignment2.elf contains common symbol alignment greater -## than UINT32_MAX. -# RUN: not ld.lld %S/Inputs/common-symbol-alignment2.elf \ -# RUN: -o %t 2>&1 | FileCheck %s --check-prefix=BIG -# BIG: common symbol 'bar' has invalid alignment: 271644049215 diff --git a/lld/test/ELF/invalid/common-symbol-alignment.test b/lld/test/ELF/invalid/common-symbol-alignment.test new file mode 100644 index 00000000000..1a7ebda6b41 --- /dev/null +++ b/lld/test/ELF/invalid/common-symbol-alignment.test @@ -0,0 +1,36 @@ +## If an object contains a common symbol with zero alignment, +## check we report it. +# RUN: yaml2obj -docnum=1 %s -o %t1.o +# RUN: not ld.lld %t1.o -o %t 2>&1 | FileCheck %s +# CHECK: common symbol 'bar' has invalid alignment: 0 + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Symbols: + Global: + - Name: bar + Type: STT_FUNC + Index: SHN_COMMON + +## If an object contains a common symbol with alignment greater +## than UINT32_MAX, check we report it. +# RUN: yaml2obj -docnum=2 %s -o %t2.o +# RUN: not ld.lld %t2.o -o %t 2>&1 | FileCheck %s --check-prefix=BIG +# BIG: common symbol 'bar' has invalid alignment: 271644049215 + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Symbols: + Global: + - Name: bar + Type: STT_FUNC + Index: SHN_COMMON + Value: 0x0000003F3F3F3F3F |

