| # REQUIRES: x86 |
| # RUN: split-file %s %t |
| # RUN: llvm-mc -filetype=obj -triple=x86_64 %t/a.s -o %t/a.o |
| |
| ## /DISCARD/ specified by OVERWRITE_SECTIONS can discard sections as well. |
| |
| # RUN: ld.lld %t/overwrite.lds -T %t/main.lds %t/a.o -o %t1 2>&1 | count 0 |
| # RUN: llvm-readelf -S -l %t1 | FileCheck %s |
| # RUN: ld.lld %t/overwrite.lds %t/overwrite.lds -T %t/main.lds %t/a.o -o %t1 2>&1 | count 0 |
| # RUN: llvm-readelf -S -l %t1 | FileCheck %s |
| |
| # CHECK: Name |
| # CHECK-NOT: .data |
| |
| #--- a.s |
| .globl _start |
| _start: |
| |
| .section .data.1,"aw"; .byte 1 |
| .section .data.2,"aw"; .byte 2 |
| |
| #--- main.lds |
| SECTIONS { |
| /DISCARD/ : { *(.data.1) } |
| } |
| |
| #--- overwrite.lds |
| OVERWRITE_SECTIONS { |
| /DISCARD/ : { *(.data.2) } |
| } |