| # REQUIRES: x86 |
| ## Check that section ordering follows from input file ordering. |
| # RUN: rm -rf %t; split-file %s %t |
| # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/1.s -o %t/1.o |
| # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/2.s -o %t/2.o |
| # RUN: %lld -dylib %t/1.o %t/2.o -o %t/12 |
| # RUN: %lld -dylib %t/2.o %t/1.o -o %t/21 |
| # RUN: %lld -dylib %t/2.o %t/1.o -o %t/synth-section-order \ |
| # RUN: -add_empty_section __TEXT __objc_stubs \ |
| # RUN: -add_empty_section __TEXT __init_offsets \ |
| # RUN: -add_empty_section __TEXT __stubs \ |
| # RUN: -add_empty_section __TEXT __stub_helper \ |
| # RUN: -add_empty_section __TEXT __unwind_info \ |
| # RUN: -add_empty_section __TEXT __eh_frame \ |
| # RUN: -add_empty_section __DATA __objc_selrefs |
| # RUN: llvm-objdump --macho --section-headers %t/12 | FileCheck %s --check-prefix=CHECK-12 |
| # RUN: llvm-objdump --macho --section-headers %t/21 | FileCheck %s --check-prefix=CHECK-21 |
| # RUN: llvm-objdump --macho --section-headers %t/synth-section-order | FileCheck %s --check-prefix=CHECK-SYNTHETIC-ORDER |
| |
| # CHECK-12: __text |
| # CHECK-12-NEXT: foo |
| # CHECK-12-NEXT: bar |
| # CHECK-12-NEXT: __cstring |
| |
| # CHECK-21: __text |
| # CHECK-21-NEXT: __cstring |
| # CHECK-21-NEXT: bar |
| # CHECK-21-NEXT: foo |
| |
| # CHECK-SYNTHETIC-ORDER: __text |
| # CHECK-SYNTHETIC-ORDER-NEXT: __stubs |
| # CHECK-SYNTHETIC-ORDER-NEXT: __stub_helper |
| # CHECK-SYNTHETIC-ORDER-NEXT: __objc_stubs |
| # CHECK-SYNTHETIC-ORDER-NEXT: __init_offsets |
| # CHECK-SYNTHETIC-ORDER-NEXT: __cstring |
| # CHECK-SYNTHETIC-ORDER-NEXT: bar |
| # CHECK-SYNTHETIC-ORDER-NEXT: foo |
| # CHECK-SYNTHETIC-ORDER-NEXT: __unwind_info |
| # CHECK-SYNTHETIC-ORDER-NEXT: __eh_frame |
| # CHECK-SYNTHETIC-ORDER-NEXT: __objc_selrefs |
| |
| #--- 1.s |
| .section __TEXT,foo |
| .space 1 |
| .section __TEXT,bar |
| .space 1 |
| .cstring |
| .asciz "" |
| |
| #--- 2.s |
| .cstring |
| .asciz "" |
| .section __TEXT,bar |
| .space 1 |
| .section __TEXT,foo |
| .space 1 |