reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
# REQUIRES: x86
# RUN: llvm-mc -triple=x86_64-windows-msvc -filetype=obj -o %t.obj %s
# RUN: lld-link %t.obj /out:%t.exe /entry:main /subsystem:console
# RUN: llvm-objdump -s %t.exe | FileCheck %s
# RUN: lld-link %t.obj /out:%t.exe /entry:main /subsystem:console /opt:noicf /opt:lldtailmerge
# RUN: llvm-objdump -s %t.exe | FileCheck %s
# RUN: lld-link %t.obj /out:%t.exe /entry:main /subsystem:console /opt:noicf
# RUN: llvm-objdump -s %t.exe | FileCheck --check-prefix=NOSTM %s
# RUN: lld-link %t.obj /out:%t.exe /entry:main /subsystem:console /opt:nolldtailmerge
# RUN: llvm-objdump -s %t.exe | FileCheck --check-prefix=NOSTM %s

# CHECK: Contents of section .text:
# NOSTM: Contents of section .text:
.globl main
main:
# CHECK-NEXT: 140001000 11200040 01000000 17200040 01000000
# NOSTM-NEXT: 140001000 00200040 01000000 0c200040 01000000
.8byte "??_C@_0M@LACCCNMM@hello?5world?$AA@"
.8byte "??_C@_05MCBCHHEJ@world?$AA@"
# CHECK-NEXT: 140001010 2a200040 01000000 36200040 01000000
# NOSTM-NEXT: 140001010 12200040 01000000 2a200040 01000000
.8byte "??_C@_1BI@HHJHKLLN@?$AAh?$AAe?$AAl?$AAl?$AAo?$AA?5?$AAw?$AAo?$AAr?$AAl?$AAd?$AA?$AA@"
.8byte "??_C@_1M@NBBDDHIO@?$AAw?$AAo?$AAr?$AAl?$AAd?$AA?$AA@"
# CHECK-NEXT: 140001020 00200040 01000000 0c200040 01000000
# NOSTM-NEXT: 140001020 36200040 01000000 42200040 01000000
.8byte "??_D@not_a_string_literal"
.8byte "??_C@string_literal_with_relocs"
# CHECK-NEXT: 140001030 00300040 01000000 1e200040 01000000
# NOSTM-NEXT: 140001030 00300040 01000000 48200040 01000000
.8byte "??_C@string_literal_in_wrong_section"
.8byte "??_C@overaligned_string_literal"

# CHECK: Contents of section .rdata:
# CHECK-NEXT:  140002000 68656c6c 6f20776f 726c6400 6f826ca4  hello world.o.l.
# CHECK-NEXT:  140002010 0068656c 6c6f2077 6f726c64 00006865  .hello world..he
# CHECK-NEXT:  140002020 6c6c6f20 776f726c 64006800 65006c00  llo world.h.e.l.
# CHECK-NEXT:  140002030 6c006f00 20007700 6f007200 6c006400  l.o. .w.o.r.l.d.
# CHECK-NEXT:  140002040 0000                                 ..

# NOSTM: Contents of section .rdata:
# NOSTM-NEXT:  140002000 68656c6c 6f20776f 726c6400 776f726c  hello world.worl
# NOSTM-NEXT:  140002010 64006800 65006c00 6c006f00 20007700  d.h.e.l.l.o. .w.
# NOSTM-NEXT:  140002020 6f007200 6c006400 00007700 6f007200  o.r.l.d...w.o.r.
# NOSTM-NEXT:  140002030 6c006400 00006865 6c6c6f20 776f726c  l.d...hello worl
# NOSTM-NEXT:  140002040 64006f82 6ca40000 68656c6c 6f20776f  d.o.l...hello wo
# NOSTM-NEXT:  140002050 726c6400                             rld.

.section .rdata,"dr",discard,"??_C@_0M@LACCCNMM@hello?5world?$AA@"
.globl "??_C@_0M@LACCCNMM@hello?5world?$AA@"
"??_C@_0M@LACCCNMM@hello?5world?$AA@":
.asciz "hello world"

.section .rdata,"dr",discard,"??_C@_05MCBCHHEJ@world?$AA@"
.globl "??_C@_05MCBCHHEJ@world?$AA@"
"??_C@_05MCBCHHEJ@world?$AA@":
.asciz "world"

.section .rdata,"dr",discard,"??_C@_1BI@HHJHKLLN@?$AAh?$AAe?$AAl?$AAl?$AAo?$AA?5?$AAw?$AAo?$AAr?$AAl?$AAd?$AA?$AA@"
.globl "??_C@_1BI@HHJHKLLN@?$AAh?$AAe?$AAl?$AAl?$AAo?$AA?5?$AAw?$AAo?$AAr?$AAl?$AAd?$AA?$AA@"
.p2align 1
"??_C@_1BI@HHJHKLLN@?$AAh?$AAe?$AAl?$AAl?$AAo?$AA?5?$AAw?$AAo?$AAr?$AAl?$AAd?$AA?$AA@":
.short 104
.short 101
.short 108
.short 108
.short 111
.short 32
.short 119
.short 111
.short 114
.short 108
.short 100
.short 0

.section .rdata,"dr",discard,"??_C@_1M@NBBDDHIO@?$AAw?$AAo?$AAr?$AAl?$AAd?$AA?$AA@"
.globl "??_C@_1M@NBBDDHIO@?$AAw?$AAo?$AAr?$AAl?$AAd?$AA?$AA@"
.p2align 1
"??_C@_1M@NBBDDHIO@?$AAw?$AAo?$AAr?$AAl?$AAd?$AA?$AA@":
.short 119
.short 111
.short 114
.short 108
.short 100
.short 0

.section .data,"drw",discard,"??_C@string_literal_in_wrong_section"
.globl "??_C@string_literal_in_wrong_section"
"??_C@string_literal_in_wrong_section":
.asciz "hello world"

.section .rdata,"dr",discard,"??_D@not_a_string_literal"
.globl "??_D@not_a_string_literal"
"??_D@not_a_string_literal":
.asciz "hello world"

.section .rdata,"dr",discard,"??_C@string_literal_with_relocs"
.globl "??_C@string_literal_with_relocs"
"??_C@string_literal_with_relocs":
.4byte main + 111 + (114 << 8) + (108 << 16) + (100 << 24) # main + "orld"
.byte 0

.section .rdata,"dr",discard,"??_C@overaligned_string_literal"
.globl "??_C@overaligned_string_literal"
.p2align 1
"??_C@overaligned_string_literal":
.asciz "hello world"