1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/test/tools/llvm-nm/data.test
Fangrui Song 464931df65 [llvm-nm] Fix handling of symbol types 't' 'd' 'r'
This restores part of r359311 that was reverted by r359830.

Rewrite the symbol types to fix several issues.

Notable difference is that the type of __init_array_start changes from
't' to 'd'.

GNU nm used to mark ELF symbols relative to .init_array as 't'
https://sourceware.org/bugzilla/show_bug.cgi?id=24505 (before 2.33)
because ".init" is the prefix. The bug was copied by r287803.

Reviewed By: jhenderson

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

llvm-svn: 360339
2019-05-09 12:43:37 +00:00

44 lines
955 B
Plaintext

# 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