# REQUIRES: x86 # RUN: mkdir -p %t # RUN: yaml2obj %s -o %t/libnoid.dylib # RUN: echo ".globl _main; .text; _main: ret" | llvm-mc -filetype=obj -triple=x86_64-apple-darwin -o %t/no-id-dylink.o # RUN: not %lld -o %t/no-id-dylink -L%t -lnoid %t/no-id-dylink.o 2>&1 | FileCheck %s # CHECK: error: dylib {{.*}}libnoid.dylib missing LC_ID_DYLIB load command ## This YAML file was originally generated from linking the following source ## input with ld64 and passing the resulting binary through obj2yaml: ## ## .section __TEXT,__cstring ## .globl _hello_world ## ## _hello_world: ## .asciz "Hello world!\n" ## ## Then we deleted the LC_ID_DYLIB command from the file. !mach-o FileHeader: magic: 0xFEEDFACF cputype: 0x01000007 cpusubtype: 0x00000003 filetype: 0x00000006 ncmds: 10 sizeofcmds: 616 flags: 0x00100085 reserved: 0x00000000 LoadCommands: - cmd: LC_SEGMENT_64 cmdsize: 232 segname: __TEXT vmaddr: 0 vmsize: 4096 fileoff: 0 filesize: 4096 maxprot: 5 initprot: 5 nsects: 2 flags: 0 Sections: - sectname: __text segname: __TEXT addr: 0x0000000000000FF2 size: 0 offset: 0x00000FF2 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x80000400 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 content: '' - sectname: __cstring segname: __TEXT addr: 0x0000000000000FF2 size: 14 offset: 0x00000FF2 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000002 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 content: 48656C6C6F20776F726C64210A00 - cmd: LC_SEGMENT_64 cmdsize: 72 segname: __LINKEDIT vmaddr: 4096 vmsize: 4096 fileoff: 4096 filesize: 64 maxprot: 1 initprot: 1 nsects: 0 flags: 0 - cmd: LC_DYLD_INFO_ONLY cmdsize: 48 rebase_off: 0 rebase_size: 0 bind_off: 0 bind_size: 0 weak_bind_off: 0 weak_bind_size: 0 lazy_bind_off: 0 lazy_bind_size: 0 export_off: 4096 export_size: 24 - cmd: LC_SYMTAB cmdsize: 24 symoff: 4128 nsyms: 1 stroff: 4144 strsize: 16 - cmd: LC_DYSYMTAB cmdsize: 80 ilocalsym: 0 nlocalsym: 0 iextdefsym: 0 nextdefsym: 1 iundefsym: 1 nundefsym: 0 tocoff: 0 ntoc: 0 modtaboff: 0 nmodtab: 0 extrefsymoff: 0 nextrefsyms: 0 indirectsymoff: 0 nindirectsyms: 0 extreloff: 0 nextrel: 0 locreloff: 0 nlocrel: 0 - cmd: LC_UUID cmdsize: 24 uuid: 4826226E-9210-3984-A388-D5BD6D6DB368 - cmd: LC_BUILD_VERSION cmdsize: 32 platform: 1 minos: 659200 sdk: 659200 ntools: 1 Tools: - tool: 3 version: 34734080 - cmd: LC_SOURCE_VERSION cmdsize: 16 version: 0 - cmd: LC_FUNCTION_STARTS cmdsize: 16 dataoff: 4120 datasize: 8 - cmd: LC_DATA_IN_CODE cmdsize: 16 dataoff: 4128 datasize: 0 LinkEditData: ExportTrie: TerminalSize: 0 NodeOffset: 0 Name: '' Flags: 0x0000000000000000 Address: 0x0000000000000000 Other: 0x0000000000000000 ImportName: '' Children: - TerminalSize: 3 NodeOffset: 16 Name: _hello_world Flags: 0x0000000000000000 Address: 0x0000000000000FF2 Other: 0x0000000000000000 ImportName: '' NameList: - n_strx: 2 n_type: 0x0F n_sect: 2 n_desc: 0 n_value: 4082 StringTable: - ' ' - _hello_world - ''