1*f34fdbcfSAlexander Shaposhnikov# RUN: yaml2obj %s -o %t 2*f34fdbcfSAlexander Shaposhnikov# RUN: not llvm-objcopy --remove-section __DATA,C %t /dev/null 2>&1 | FileCheck %s 3*f34fdbcfSAlexander Shaposhnikov 4*f34fdbcfSAlexander Shaposhnikov# CHECK: symbol '_a' defined in section with index '2' cannot be removed because it is referenced by a relocation in section '__TEXT,__text' 5*f34fdbcfSAlexander Shaposhnikov 6*f34fdbcfSAlexander Shaposhnikov## The binary used in this test was built as follows: 7*f34fdbcfSAlexander Shaposhnikov## main.c: 8*f34fdbcfSAlexander Shaposhnikov## __attribute__((section("__DATA,C"))) int a = 2; 9*f34fdbcfSAlexander Shaposhnikov## int f() { return a; } 10*f34fdbcfSAlexander Shaposhnikov## build command: 11*f34fdbcfSAlexander Shaposhnikov## clang -fno-exceptions -fno-unwind-tables -c main.c -o main.o 12*f34fdbcfSAlexander Shaposhnikov 13*f34fdbcfSAlexander Shaposhnikov--- !mach-o 14*f34fdbcfSAlexander ShaposhnikovFileHeader: 15*f34fdbcfSAlexander Shaposhnikov magic: 0xFEEDFACF 16*f34fdbcfSAlexander Shaposhnikov cputype: 0x01000007 17*f34fdbcfSAlexander Shaposhnikov cpusubtype: 0x00000003 18*f34fdbcfSAlexander Shaposhnikov filetype: 0x00000001 19*f34fdbcfSAlexander Shaposhnikov ncmds: 4 20*f34fdbcfSAlexander Shaposhnikov sizeofcmds: 360 21*f34fdbcfSAlexander Shaposhnikov flags: 0x00002000 22*f34fdbcfSAlexander Shaposhnikov reserved: 0x00000000 23*f34fdbcfSAlexander ShaposhnikovLoadCommands: 24*f34fdbcfSAlexander Shaposhnikov - cmd: LC_SEGMENT_64 25*f34fdbcfSAlexander Shaposhnikov cmdsize: 232 26*f34fdbcfSAlexander Shaposhnikov segname: '' 27*f34fdbcfSAlexander Shaposhnikov vmaddr: 0 28*f34fdbcfSAlexander Shaposhnikov vmsize: 16 29*f34fdbcfSAlexander Shaposhnikov fileoff: 392 30*f34fdbcfSAlexander Shaposhnikov filesize: 16 31*f34fdbcfSAlexander Shaposhnikov maxprot: 7 32*f34fdbcfSAlexander Shaposhnikov initprot: 7 33*f34fdbcfSAlexander Shaposhnikov nsects: 2 34*f34fdbcfSAlexander Shaposhnikov flags: 0 35*f34fdbcfSAlexander Shaposhnikov Sections: 36*f34fdbcfSAlexander Shaposhnikov - sectname: __text 37*f34fdbcfSAlexander Shaposhnikov segname: __TEXT 38*f34fdbcfSAlexander Shaposhnikov addr: 0x0000000000000000 39*f34fdbcfSAlexander Shaposhnikov size: 12 40*f34fdbcfSAlexander Shaposhnikov offset: 0x00000188 41*f34fdbcfSAlexander Shaposhnikov align: 4 42*f34fdbcfSAlexander Shaposhnikov reloff: 0x00000198 43*f34fdbcfSAlexander Shaposhnikov nreloc: 1 44*f34fdbcfSAlexander Shaposhnikov flags: 0x80000400 45*f34fdbcfSAlexander Shaposhnikov reserved1: 0x00000000 46*f34fdbcfSAlexander Shaposhnikov reserved2: 0x00000000 47*f34fdbcfSAlexander Shaposhnikov reserved3: 0x00000000 48*f34fdbcfSAlexander Shaposhnikov content: 554889E58B05000000005DC3 49*f34fdbcfSAlexander Shaposhnikov relocations: 50*f34fdbcfSAlexander Shaposhnikov - address: 0x00000006 51*f34fdbcfSAlexander Shaposhnikov symbolnum: 0 52*f34fdbcfSAlexander Shaposhnikov pcrel: true 53*f34fdbcfSAlexander Shaposhnikov length: 2 54*f34fdbcfSAlexander Shaposhnikov extern: true 55*f34fdbcfSAlexander Shaposhnikov type: 1 56*f34fdbcfSAlexander Shaposhnikov scattered: false 57*f34fdbcfSAlexander Shaposhnikov value: 0 58*f34fdbcfSAlexander Shaposhnikov - sectname: C 59*f34fdbcfSAlexander Shaposhnikov segname: __DATA 60*f34fdbcfSAlexander Shaposhnikov addr: 0x000000000000000C 61*f34fdbcfSAlexander Shaposhnikov size: 4 62*f34fdbcfSAlexander Shaposhnikov offset: 0x00000194 63*f34fdbcfSAlexander Shaposhnikov align: 2 64*f34fdbcfSAlexander Shaposhnikov reloff: 0x00000000 65*f34fdbcfSAlexander Shaposhnikov nreloc: 0 66*f34fdbcfSAlexander Shaposhnikov flags: 0x00000000 67*f34fdbcfSAlexander Shaposhnikov reserved1: 0x00000000 68*f34fdbcfSAlexander Shaposhnikov reserved2: 0x00000000 69*f34fdbcfSAlexander Shaposhnikov reserved3: 0x00000000 70*f34fdbcfSAlexander Shaposhnikov content: '02000000' 71*f34fdbcfSAlexander Shaposhnikov - cmd: LC_BUILD_VERSION 72*f34fdbcfSAlexander Shaposhnikov cmdsize: 24 73*f34fdbcfSAlexander Shaposhnikov platform: 1 74*f34fdbcfSAlexander Shaposhnikov minos: 658944 75*f34fdbcfSAlexander Shaposhnikov sdk: 658944 76*f34fdbcfSAlexander Shaposhnikov ntools: 0 77*f34fdbcfSAlexander Shaposhnikov - cmd: LC_SYMTAB 78*f34fdbcfSAlexander Shaposhnikov cmdsize: 24 79*f34fdbcfSAlexander Shaposhnikov symoff: 416 80*f34fdbcfSAlexander Shaposhnikov nsyms: 2 81*f34fdbcfSAlexander Shaposhnikov stroff: 448 82*f34fdbcfSAlexander Shaposhnikov strsize: 8 83*f34fdbcfSAlexander Shaposhnikov - cmd: LC_DYSYMTAB 84*f34fdbcfSAlexander Shaposhnikov cmdsize: 80 85*f34fdbcfSAlexander Shaposhnikov ilocalsym: 0 86*f34fdbcfSAlexander Shaposhnikov nlocalsym: 0 87*f34fdbcfSAlexander Shaposhnikov iextdefsym: 0 88*f34fdbcfSAlexander Shaposhnikov nextdefsym: 2 89*f34fdbcfSAlexander Shaposhnikov iundefsym: 2 90*f34fdbcfSAlexander Shaposhnikov nundefsym: 0 91*f34fdbcfSAlexander Shaposhnikov tocoff: 0 92*f34fdbcfSAlexander Shaposhnikov ntoc: 0 93*f34fdbcfSAlexander Shaposhnikov modtaboff: 0 94*f34fdbcfSAlexander Shaposhnikov nmodtab: 0 95*f34fdbcfSAlexander Shaposhnikov extrefsymoff: 0 96*f34fdbcfSAlexander Shaposhnikov nextrefsyms: 0 97*f34fdbcfSAlexander Shaposhnikov indirectsymoff: 0 98*f34fdbcfSAlexander Shaposhnikov nindirectsyms: 0 99*f34fdbcfSAlexander Shaposhnikov extreloff: 0 100*f34fdbcfSAlexander Shaposhnikov nextrel: 0 101*f34fdbcfSAlexander Shaposhnikov locreloff: 0 102*f34fdbcfSAlexander Shaposhnikov nlocrel: 0 103*f34fdbcfSAlexander ShaposhnikovLinkEditData: 104*f34fdbcfSAlexander Shaposhnikov NameList: 105*f34fdbcfSAlexander Shaposhnikov - n_strx: 4 106*f34fdbcfSAlexander Shaposhnikov n_type: 0x0F 107*f34fdbcfSAlexander Shaposhnikov n_sect: 2 108*f34fdbcfSAlexander Shaposhnikov n_desc: 0 109*f34fdbcfSAlexander Shaposhnikov n_value: 12 110*f34fdbcfSAlexander Shaposhnikov - n_strx: 1 111*f34fdbcfSAlexander Shaposhnikov n_type: 0x0F 112*f34fdbcfSAlexander Shaposhnikov n_sect: 1 113*f34fdbcfSAlexander Shaposhnikov n_desc: 0 114*f34fdbcfSAlexander Shaposhnikov n_value: 0 115*f34fdbcfSAlexander Shaposhnikov StringTable: 116*f34fdbcfSAlexander Shaposhnikov - '' 117*f34fdbcfSAlexander Shaposhnikov - _f 118*f34fdbcfSAlexander Shaposhnikov - _a 119*f34fdbcfSAlexander Shaposhnikov - '' 120*f34fdbcfSAlexander Shaposhnikov... 121