| # REQUIRES: x86 | |
| # RUN: rm -rf %t && split-file %s %t | |
| # RUN: llvm-mc -filetype=obj -triple=x86_64 %t/a1.s -o %t/a1.o | |
| # RUN: ld.lld -T %t/1.t %t/a1.o -o %t/a1 --print-memory-usage \ | |
| # RUN: | FileCheck %s --check-prefix=CHECK1 --match-full-lines --strict-whitespace | |
| # RUN: ld.lld -T %t/2.t %t/a1.o -o %t/a2 --print-memory-usage \ | |
| # RUN: | FileCheck %s --check-prefix=CHECK2 --match-full-lines --strict-whitespace | |
| # RUN: llvm-mc -filetype=obj -triple=x86_64 %t/a2.s -o %t/a2.o | |
| # RUN: ld.lld -T %t/3.t %t/a2.o -o %t/a3 --print-memory-usage \ | |
| # RUN: | FileCheck %s --check-prefix=CHECK3 --match-full-lines --strict-whitespace | |
| # CHECK1:Memory region Used Size Region Size %age Used | |
| # CHECK1-NEXT: ROM: 4 B 1 KB 0.39% | |
| # CHECK1-NEXT: RAM: 4 B 256 KB 0.00% | |
| # CHECK1-NOT:{{.}} | |
| # CHECK2:Memory region Used Size Region Size %age Used | |
| # CHECK2-NOT:{{.}} | |
| # CHECK3:Memory region Used Size Region Size %age Used | |
| # CHECK3-NEXT: ROM: 256 KB 1 MB 25.00% | |
| # CHECK3-NEXT: RAM: 32 B 2 GB 0.00% | |
| # CHECK3-NOT:{{.}} | |
| #--- a1.s | |
| .text | |
| .globl _start | |
| _start: | |
| .long 1 | |
| .data | |
| .globl b | |
| b: | |
| .long 2 | |
| #--- a2.s | |
| .text | |
| .globl _start | |
| _start: | |
| .space 256*1024 | |
| .data | |
| .globl b | |
| b: | |
| .space 32 | |
| #--- 1.t | |
| MEMORY { | |
| ROM (RX) : ORIGIN = 0x0, LENGTH = 1K | |
| RAM (W) : ORIGIN = 0x100000, LENGTH = 256K | |
| } | |
| SECTIONS { | |
| . = 0; | |
| .text : { *(.text) } | |
| .data : { *(.data) } | |
| } | |
| #--- 2.t | |
| SECTIONS { | |
| . = 0; | |
| .text : { *(.text) } | |
| .data : { *(.data) } | |
| } | |
| #--- 3.t | |
| MEMORY { | |
| ROM (RX) : ORIGIN = 0x0, LENGTH = 1M | |
| RAM (W) : ORIGIN = 0x1000000, LENGTH = 2048M | |
| } | |
| SECTIONS { | |
| . = 0; | |
| .text : { *(.text) } | |
| .data : { *(.data) } | |
| } |