brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · ed78e2e Raw
109 lines · plain
1RUN: llvm-objdump -p %p/Inputs/chained-fixups.macho-x86_64 | FileCheck %s2RUN: llvm-otool -l %p/Inputs/chained-fixups.macho-x86_64 | FileCheck %s3 4CHECK: LC_DYLD_CHAINED_FIXUPS5CHECK: LC_DYLD_EXPORTS_TRIE6 7RUN: llvm-objdump --macho --chained-fixups %p/Inputs/chained-fixups.macho-x86_64 | \8RUN:     FileCheck --check-prefix=DETAILS -DNAME=%p/Inputs/chained-fixups.macho-x86_64 %s9RUN: llvm-otool -chained_fixups %p/Inputs/chained-fixups.macho-x86_64 | \10RUN:     FileCheck --check-prefix=DETAILS -DNAME=%p/Inputs/chained-fixups.macho-x86_64 %s11 12DETAILS:      [[NAME]]:13DETAILS-NEXT: chained fixups header (LC_DYLD_CHAINED_FIXUPS)14DETAILS-NEXT:   fixups_version = 015DETAILS-NEXT:   starts_offset  = 3216DETAILS-NEXT:   imports_offset = 11217DETAILS-NEXT:   symbols_offset = 13218DETAILS-NEXT:   imports_count  = 519DETAILS-NEXT:   imports_format = 1 (DYLD_CHAINED_IMPORT)20DETAILS-NEXT:   symbols_format = 021DETAILS-NEXT: chained starts in image22DETAILS-NEXT:   seg_count = 423DETAILS-NEXT:     seg_offset[0] = 0 (__TEXT)24DETAILS-NEXT:     seg_offset[1] = 24 (__DATA_CONST)25DETAILS-NEXT:     seg_offset[2] = 48 (__DATA)26DETAILS-NEXT:     seg_offset[3] = 0 (__LINKEDIT)27DETAILS-NEXT: chained starts in segment 1 (__DATA_CONST)28DETAILS-NEXT:   size = 2429DETAILS-NEXT:   page_size = 0x100030DETAILS-NEXT:   pointer_format = 6 (DYLD_CHAINED_PTR_64_OFFSET)31DETAILS-NEXT:   segment_offset = 0x3e032DETAILS-NEXT:   max_valid_pointer = 033DETAILS-NEXT:   page_count = 134DETAILS-NEXT:     page_start[0] = 035DETAILS-NEXT: chained starts in segment 2 (__DATA)36DETAILS-NEXT:   size = 3037DETAILS-NEXT:   page_size = 0x100038DETAILS-NEXT:   pointer_format = 6 (DYLD_CHAINED_PTR_64_OFFSET)39DETAILS-NEXT:   segment_offset = 0x3f040DETAILS-NEXT:   max_valid_pointer = 041DETAILS-NEXT:   page_count = 442DETAILS-NEXT:     page_start[0] = 043DETAILS-NEXT:     page_start[1] = 3244DETAILS-NEXT:     page_start[2] = 65535 (DYLD_CHAINED_PTR_START_NONE)45DETAILS-NEXT:     page_start[3] = 3246DETAILS-NEXT: dyld chained import[0]47DETAILS-NEXT:   lib_ordinal = -2 (flat-namespace)48DETAILS-NEXT:   weak_import = 049DETAILS-NEXT:   name_offset = 1 (_dynamicLookup)50DETAILS-NEXT: dyld chained import[1]51DETAILS-NEXT:   lib_ordinal = 1 (libdylib)52DETAILS-NEXT:   weak_import = 153DETAILS-NEXT:   name_offset = 16 (_weakImport)54DETAILS-NEXT: dyld chained import[2]55DETAILS-NEXT:   lib_ordinal = 1 (libdylib)56DETAILS-NEXT:   weak_import = 057DETAILS-NEXT:   name_offset = 28 (_dylib)58DETAILS-NEXT: dyld chained import[3]59DETAILS-NEXT:   lib_ordinal = -3 (weak)60DETAILS-NEXT:   weak_import = 061DETAILS-NEXT:   name_offset = 35 (_weakLocal)62DETAILS-NEXT: dyld chained import[4]63DETAILS-NEXT:   lib_ordinal = -3 (weak)64DETAILS-NEXT:   weak_import = 065DETAILS-NEXT:   name_offset = 46 (_weak)66 67## This test checks that the output is identical to that of cctools-1001.2 (XCode 14)68## FIXME: Print encoded values of the dyld_chained_import* entries69##70## The input was generated from the following files:71##72## --- dylib.s:73##   .data74##   .globl _weak, _dylib, _weakImport75##   .weak_definition _weak76##   _weak:77##   _dylib:78##   _weakImport:79##80##  $ clang --target=x86_64-apple-macos12 -dynamiclib dylib.s -o libdylib.dylib81##82## --- chained-fixups.s:83##   .global _local, _weak, _weakLocal, _dylib, _weakImport, _dynamicLookup84##   .weak_definition _weakLocal85##   .weak_reference _weakImport86##87##   .data88##   .p2align 489##   _local:90##   _weakLocal:91##   .quad _local92##   .space 893##   .quad _weak94##   .space 409695##   .p2align 496##   .quad _weakLocal97##   .space 817298##   .p2align 499##   .quad _dylib100##   .quad _dylib + 42101##102##   .section __DATA_CONST,__const103##   .p2align 4104##   .quad _weakImport105##   .quad _dynamicLookup106##107## $ clang --target=x86_64-apple-macos12 -dynamiclib -L. -ldylib chained-fixups.s \108##       -o chained-fixups.macho-x86_64 -Wl,-segalign,0x10 -Wl,-U,_dynamicLookup109