image-base.yaml 1.04 KB
# RUN: ld64.lld -arch x86_64 -macosx_version_min 10.9 %s -o %t -image_base 31415926000 %p/Inputs/x86_64/libSystem.yaml
# RUN: llvm-readobj --macho-segment %t | FileCheck %s
# RUN: not ld64.lld -arch x86_64 -image_base 0x31415926530 %s >/dev/null 2> %t
# RUN: FileCheck < %t %s --check-prefix=CHECK-ERROR-MISPAGED
# RUN: not ld64.lld -arch x86_64 -image_base 1000 %s >/dev/null 2> %t
# RUN: FileCheck < %t %s --check-prefix=CHECK-ERROR-OVERLAP
# RUN: not ld64.lld -arch x86_64 -image_base hithere %s >/dev/null 2> %t
# RUN: FileCheck < %t %s --check-prefix=CHECK-ERROR-NOTHEX

--- !native
defined-atoms:
   - name:            _main
     scope:           global
     content:         []

# CHECK: Segment {
# CHECK:   Cmd: LC_SEGMENT_64
# CHECK:   Name: __TEXT
# CHECK-NEXT:   Size: 152
# CHECK-NEXT:   vmaddr: 0x31415926000
# CHECK-NEXT:   vmsize: 0x1000


# CHECK-ERROR-MISPAGED: error: image_base must be a multiple of page size (0x1000)

# CHECK-ERROR-OVERLAP: error: image_base overlaps with __PAGEZERO

# CHECK-ERROR-NOTHEX: error: image_base expects a hex number