| # RUN: lld -core --dead-strip %s %p/Inputs/dead-strip-basic.objtxt %p/Inputs/dead-strip-basic2.objtxt | FileCheck -check-prefix=CHK1 %s |
| # RUN: lld -core %s %p/Inputs/dead-strip-basic.objtxt %p/Inputs/dead-strip-basic2.objtxt | FileCheck -check-prefix=CHK2 %s |
| |
| # |
| # Test that -dead-strip removes unreachable code and data |
| # and that not using that option leaves them. |
| # |
| |
| --- |
| defined-atoms: |
| - name: entry |
| dead-strip: never |
| references: |
| - offset: 1 |
| kind: pcrel32 |
| target: bar |
| - offset: 6 |
| kind: pcrel32 |
| target: baz |
| |
| - name: mydead1 |
| scope: global |
| |
| undefined-atoms: |
| - name: bar |
| |
| - name: baz |
| ... |
| |
| |
| # CHK1: name: entry |
| # CHK1-NOT: name: mydead1 |
| # CHK1: name: bar |
| # CHK1-NOT: name: mydead2 |
| # CHK1: name: baz |
| # CHK1-NOT: name: mydead3 |
| # CHK1: ... |
| |
| # CHK2: name: entry |
| # CHK2: name: mydead1 |
| # CHK2: name: mydead2 |
| # CHK2: name: bar |
| # CHK2: name: baz |
| # CHK2: name: mydead3 |
| # CHK2: ... |