llvm-project

Форк
0
/
pdb-unknown-subsection.s 
60 строк · 1.8 Кб
1
# Check that unknown symbol subsections are ignored with a warning, and a PDB
2
# is produced anyway.
3

4
# REQUIRES: x86
5
# RUN: llvm-mc -triple=i386-pc-win32 -filetype=obj -o %t.obj %s
6
# RUN: lld-link -safeseh:no -subsystem:console -debug -nodefaultlib -entry:foo -out:%t.exe -pdb:%t.pdb %t.obj 2>&1 | FileCheck %s --check-prefix=WARNING
7
# RUN: llvm-pdbutil dump -symbols %t.pdb | FileCheck %s
8

9
# WARNING-NOT: ignoring unknown
10
# WARNING: ignoring unknown debug$S subsection kind 0x1FF
11
# WARNING-NOT: ignoring unknown
12

13
# CHECK:                           Symbols
14
# CHECK:        4 | S_COMPILE3 [size = 52]
15
# CHECK:            machine = intel x86-x64, Ver = clang version SENTINEL, language = c
16

17
.text
18
_foo:
19
ret
20

21
.global _foo
22

23
.section .debug$S,"dr"
24
	.p2align	2
25
	.long	4                       # Debug section magic
26
	.long	0xF1 # Symbol subsection
27
	.long	.Ltmp6-.Ltmp5           # Subsection size
28
.Ltmp5:
29
	.short	.Ltmp8-.Ltmp7           # Record length
30
.Ltmp7:
31
	.short	4412                    # Record kind: S_COMPILE3
32
	.long	0                       # Flags and language
33
	.short	208                     # CPUType
34
	.short	9                       # Frontend version
35
	.short	0
36
	.short	0
37
	.short	0
38
	.short	9000                    # Backend version
39
	.short	0
40
	.short	0
41
	.short	0
42
	.asciz	"clang version SENTINEL" # Null-terminated compiler version string
43
	.p2align	2
44
.Ltmp8:
45
.Ltmp6:
46
	.long	0x1FF # Unknown subsection kind
47
	.long	4           # Subsection size
48
	.long  0
49
	.long	0x800000F1 # Unknown subsection kind
50
	.long	4           # Subsection size
51
	.long  0
52
	.long	0x800000F2 # Unknown subsection kind
53
	.long	4           # Subsection size
54
	.long  0
55
	.long	0x800000F3 # Unknown subsection kind
56
	.long	4           # Subsection size
57
	.long  0
58
	.long	0x800000F4 # Unknown subsection kind
59
	.long	4           # Subsection size
60
	.long  0
61

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.