blob: d1aec4278425cfd39e8d8bfc307ca22136067d6b [file] [log] [blame] [edit]
# REQUIRES: x86
# RUN: split-file %s %t.dir && cd %t.dir
# RUN: llvm-mc -triple=x86_64-windows-cygnus -filetype=obj -o data-no-bss.obj data-no-bss.s
# RUN: lld-link -lldmingw -entry:main data-no-bss.obj -out:data-no-bss.exe
# RUN: llvm-objdump -s data-no-bss.exe | FileCheck --check-prefix=DATANOBSS %s
# RUN: llvm-mc -triple=x86_64-windows-cygnus -filetype=obj -o bss-no-data.obj bss-no-data.s
# RUN: lld-link -lldmingw -entry:main bss-no-data.obj -out:bss-no-data.exe
# RUN: llvm-objdump -s bss-no-data.exe | FileCheck --check-prefix=BSSNODATA %s
# RUN: llvm-mc -triple=x86_64-windows-cygnus -filetype=obj -o data-and-bss.obj data-and-bss.s
# RUN: lld-link -lldmingw -entry:main data-and-bss.obj -out:data-and-bss.exe
# RUN: llvm-objdump -s data-and-bss.exe | FileCheck --check-prefix=DATAANDBSS %s
#--- data-no-bss.s
.globl main
main:
nop
.data
.quad 1
.byte 2
.section .data_cygwin_nocopy, "w"
.align 4
.quad 3
.byte 4
.section .test, "w"
.quad __data_start__
.quad __data_end__
.quad __bss_start__
.quad __bss_end__
#--- bss-no-data.s
.globl main
main:
nop
.bss
.zero 8192
.section .test, "w"
.quad __data_start__
.quad __data_end__
.quad __bss_start__
.quad __bss_end__
#--- data-and-bss.s
.globl main
main:
nop
.data
.quad 1
.byte 2
.section .data_cygwin_nocopy, "w"
.align 4
.quad 3
.byte 4
.bss
.zero 8192
.section .test, "w"
.quad __data_start__
.quad __data_end__
.quad __bss_start__
.quad __bss_end__
# DATANOBSS: Contents of section .data:
# DATANOBSS-NEXT: 140003000 01000000 00000000 02000000 03000000
# DATANOBSS-NEXT: 140003010 00000000 04
# __data_start__ pointing at 0x140003000 and
# __data_end__ pointing at 0x140003009.
# DATANOBSS-NEXT: Contents of section .test:
# DATANOBSS-NEXT: 140004000 00300040 01000000 09300040 01000000
# DATANOBSS-NEXT: 140004010 18300040 01000000 18300040 01000000
# __bss_start__ pointing at 0x140003000 and
# __bss_end__ pointing at 0x140005000.
# BSSNODATA-NOT: Contents of section .data:
# BSSNODATA: Contents of section .test:
# BSSNODATA-NEXT: 140005000 00300040 01000000 00300040 01000000
# BSSNODATA-NEXT: 140005010 00300040 01000000 00500040 01000000
# DATAANDBSS: Contents of section .data:
# DATAANDBSS-NEXT: 140003000 01000000 00000000 02000000 03000000
# DATAANDBSS-NEXT: 140003010 00000000 04000000 00000000 00000000
# __data_start__ pointing at 0x140003000 and
# __data_end__ pointing at 0x140003009.
# __bss_start__ pointing at 0x140003018 and
# __bss_end__ pointing at 0x140005018.
# DATAANDBSS: 1400031f0 00000000 00000000 00000000 00000000
# DATAANDBSS-NEXT: Contents of section .test:
# DATAANDBSS-NEXT: 140006000 00300040 01000000 09300040 01000000
# DATAANDBSS-NEXT: 140006010 18300040 01000000 18500040 01000000