summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/ThinLTO/X86/strong_non_prevailing.ll4
-rwxr-xr-xllvm/test/tools/llvm-nm/X86/Inputs/init-fini.out.elf-x86_64bin904 -> 0 bytes
-rw-r--r--llvm/test/tools/llvm-nm/X86/init-fini.test8
-rw-r--r--llvm/test/tools/llvm-nm/data.test43
-rw-r--r--llvm/test/tools/llvm-nm/linker-synthesized.test57
-rw-r--r--llvm/test/tools/llvm-nm/nobits.test35
-rw-r--r--llvm/test/tools/llvm-nm/nonalloc.test17
-rw-r--r--llvm/test/tools/llvm-nm/readonly.test43
8 files changed, 197 insertions, 10 deletions
diff --git a/llvm/test/ThinLTO/X86/strong_non_prevailing.ll b/llvm/test/ThinLTO/X86/strong_non_prevailing.ll
index f96e23adc3d..214af649fcf 100644
--- a/llvm/test/ThinLTO/X86/strong_non_prevailing.ll
+++ b/llvm/test/ThinLTO/X86/strong_non_prevailing.ll
@@ -12,5 +12,5 @@ $__llvm_profile_filename = comdat any
@__llvm_profile_filename = constant [19 x i8] c"default_%m.profraw\00", comdat
-; EXPORTED: N __llvm_profile_filename
-; NOT_EXPORTED-NOT: N __llvm_profile_filename
+; EXPORTED: R __llvm_profile_filename
+; NOT_EXPORTED-NOT: R __llvm_profile_filename
diff --git a/llvm/test/tools/llvm-nm/X86/Inputs/init-fini.out.elf-x86_64 b/llvm/test/tools/llvm-nm/X86/Inputs/init-fini.out.elf-x86_64
deleted file mode 100755
index b5c74f234c6..00000000000
--- a/llvm/test/tools/llvm-nm/X86/Inputs/init-fini.out.elf-x86_64
+++ /dev/null
Binary files differ
diff --git a/llvm/test/tools/llvm-nm/X86/init-fini.test b/llvm/test/tools/llvm-nm/X86/init-fini.test
deleted file mode 100644
index 86afc711c4e..00000000000
--- a/llvm/test/tools/llvm-nm/X86/init-fini.test
+++ /dev/null
@@ -1,8 +0,0 @@
-# RUN: llvm-nm -B -S %p/Inputs/init-fini.out.elf-x86_64 | FileCheck --match-full-lines %s
-
-CHECK: 00000000006000c2 0000000000000000 T __bss_start
-CHECK: 00000000006000c2 0000000000000000 t __init_array_end
-CHECK: 00000000006000ba 0000000000000000 t __init_array_start
-CHECK: 00000000006000c2 0000000000000000 T _edata
-CHECK: 00000000006000c8 0000000000000000 T _end
-CHECK: 00000000004000b0 0000000000000000 T _start
diff --git a/llvm/test/tools/llvm-nm/data.test b/llvm/test/tools/llvm-nm/data.test
new file mode 100644
index 00000000000..c86f284e5f8
--- /dev/null
+++ b/llvm/test/tools/llvm-nm/data.test
@@ -0,0 +1,43 @@
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-nm --no-sort %t | FileCheck %s
+
+# CHECK: b mybss_local
+# CHECK-NEXT: d mydata_local
+# CHECK-NEXT: d mytdata_local
+# CHECK-NEXT: B mybss_global
+# CHECK-NEXT: D mydata_global
+# CHECK-NEXT: D mytdata_global
+
+!ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
+Sections:
+ - Name: mybss
+ Type: SHT_NOBITS
+ Flags: [ SHF_ALLOC, SHF_WRITE ]
+ - Name: mydata
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC, SHF_WRITE ]
+ - Name: mytdata
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC, SHF_WRITE, SHF_TLS ]
+Symbols:
+ - Name: mybss_local
+ Section: mybss
+ - Name: mydata_local
+ Section: mydata
+ - Name: mytdata_local
+ Section: mytdata
+
+ - Name: mybss_global
+ Binding: STB_GLOBAL
+ Section: mybss
+ - Name: mydata_global
+ Binding: STB_GLOBAL
+ Section: mydata
+ - Name: mytdata_global
+ Binding: STB_GLOBAL
+ Section: mytdata
diff --git a/llvm/test/tools/llvm-nm/linker-synthesized.test b/llvm/test/tools/llvm-nm/linker-synthesized.test
new file mode 100644
index 00000000000..7f9e88718de
--- /dev/null
+++ b/llvm/test/tools/llvm-nm/linker-synthesized.test
@@ -0,0 +1,57 @@
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-nm --no-sort %t | FileCheck %s
+
+## We used to be wrong with some linker synthesized symbols.
+
+## We mark __init_array_start as 'd', as consistent with GNU nm >= 2.33 (older GNU
+## nm marks it as 't'). See https://sourceware.org/bugzilla/show_bug.cgi?id=24511
+
+# CHECK: d __fini_array_start
+# CHECK: d __init_array_start
+# CHECK: d __preinit_array_start
+# CHECK: B __bss_start
+# CHECK: D _edata
+# CHECK: B _end
+
+!ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
+Sections:
+ - Name: .text
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+ - Name: .fini_array
+ Type: SHT_FINI_ARRAY
+ Flags: [ SHF_ALLOC, SHF_WRITE ]
+ - Name: .init_array
+ Type: SHT_INIT_ARRAY
+ Flags: [ SHF_ALLOC, SHF_WRITE ]
+ - Name: .preinit_array
+ Type: SHT_PREINIT_ARRAY
+ Flags: [ SHF_ALLOC, SHF_WRITE ]
+ - Name: .data
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC, SHF_WRITE ]
+ - Name: .bss
+ Type: SHT_NOBITS
+ Flags: [ SHF_ALLOC, SHF_WRITE ]
+Symbols:
+ - Name: __fini_array_start
+ Section: .fini_array
+ - Name: __init_array_start
+ Section: .init_array
+ - Name: __preinit_array_start
+ Section: .preinit_array
+
+ - Name: __bss_start
+ Section: .bss
+ Binding: STB_GLOBAL
+ - Name: _edata
+ Section: .data
+ Binding: STB_GLOBAL
+ - Name: _end
+ Section: .bss
+ Binding: STB_GLOBAL
diff --git a/llvm/test/tools/llvm-nm/nobits.test b/llvm/test/tools/llvm-nm/nobits.test
new file mode 100644
index 00000000000..ad07e3ddaf2
--- /dev/null
+++ b/llvm/test/tools/llvm-nm/nobits.test
@@ -0,0 +1,35 @@
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-nm --no-sort %t | FileCheck %s
+
+# CHECK: b mybss_local
+# CHECK: b mytbss_local
+# CHECK: B mybss_global
+# CHECK: B mytbss_global
+
+!ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_X86_64
+Sections:
+ - Name: mybss
+ Type: SHT_NOBITS
+ Flags: [ SHF_ALLOC, SHF_WRITE ]
+ - Name: mytbss
+ Type: SHT_NOBITS
+ Flags: [ SHF_ALLOC, SHF_WRITE, SHF_TLS ]
+Symbols:
+ - Name: mybss_local
+ Binding: STB_LOCAL
+ Section: mybss
+ - Name: mytbss_local
+ Binding: STB_LOCAL
+ Section: mytbss
+
+ - Name: mybss_global
+ Binding: STB_GLOBAL
+ Section: mybss
+ - Name: mytbss_global
+ Binding: STB_GLOBAL
+ Section: mytbss
diff --git a/llvm/test/tools/llvm-nm/nonalloc.test b/llvm/test/tools/llvm-nm/nonalloc.test
new file mode 100644
index 00000000000..c8fe432efaa
--- /dev/null
+++ b/llvm/test/tools/llvm-nm/nonalloc.test
@@ -0,0 +1,17 @@
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-nm --no-sort %t | FileCheck %s
+
+# CHECK: n debug_info_main
+
+!ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_X86_64
+Sections:
+ - Name: .debug_info
+ Type: SHT_PROGBITS
+Symbols:
+ - Name: debug_info_main
+ Section: .debug_info
diff --git a/llvm/test/tools/llvm-nm/readonly.test b/llvm/test/tools/llvm-nm/readonly.test
new file mode 100644
index 00000000000..853f9f2b3d1
--- /dev/null
+++ b/llvm/test/tools/llvm-nm/readonly.test
@@ -0,0 +1,43 @@
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-nm --no-sort %t | FileCheck %s
+
+# CHECK: r myrodata0_local
+# CHECK-NEXT: r myrodata1_local
+# CHECK-NEXT: r myrodata2_local
+# CHECK-NEXT: R myrodata0_global
+# CHECK-NEXT: R myrodata1_global
+# CHECK-NEXT: R myrodata2_global
+
+!ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
+Sections:
+ - Name: myrodata0
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC ]
+ - Name: myrodata1
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC, SHF_MERGE ]
+ - Name: myrodata2
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ]
+Symbols:
+ - Name: myrodata0_local
+ Section: myrodata0
+ - Name: myrodata1_local
+ Section: myrodata1
+ - Name: myrodata2_local
+ Section: myrodata2
+
+ - Name: myrodata0_global
+ Binding: STB_GLOBAL
+ Section: myrodata0
+ - Name: myrodata1_global
+ Binding: STB_GLOBAL
+ Section: myrodata1
+ - Name: myrodata2_global
+ Binding: STB_GLOBAL
+ Section: myrodata2
OpenPOWER on IntegriCloud