# 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