# RUN: llvm-objdump -r %p/Inputs/trivial-object-test.coff-i386 \ # RUN: | FileCheck %s -check-prefix COFF-i386 # RUN: llvm-objdump -r %p/Inputs/trivial-object-test.coff-x86-64 \ # RUN: | FileCheck %s -check-prefix COFF-x86-64 # RUN: yaml2obj --docnum=1 %s -o %t-i386 # RUN: llvm-objdump -r %t-i386 | FileCheck %s --check-prefix=ELF-i386 # ELF-i386: .text # ELF-i386: R_386_32 .section # ELF-i386: R_386_PC32 symbol --- !ELF FileHeader: Class: ELFCLASS32 Data: ELFDATA2LSB Type: ET_REL Machine: EM_386 Sections: - Name: .text Type: SHT_PROGBITS - Name: .section Type: SHT_PROGBITS - Name: .rel.text Type: SHT_REL Link: .symtab Info: .text Relocations: - Symbol: .section Type: R_386_32 - Offset: 0x1 Symbol: symbol Type: R_386_PC32 Symbols: - Name: .section Type: STT_SECTION Section: .section - Name: symbol Binding: STB_GLOBAL # RUN: yaml2obj --docnum=2 %s -o %t-x86-64 # RUN: llvm-objdump -r %t-x86-64 | FileCheck %s --check-prefix=ELF-x86-64 # ELF-x86-64: .text # ELF-x86-64: R_X86_64_32S .section # ELF-x86-64: R_X86_64_PC32 symbol --- !ELF FileHeader: Class: ELFCLASS32 Data: ELFDATA2LSB Type: ET_REL Machine: EM_X86_64 Sections: - Name: .text Type: SHT_PROGBITS - Name: .section Type: SHT_PROGBITS - Name: .rel.text Type: SHT_REL Link: .symtab Info: .text Relocations: - Symbol: .section Type: R_X86_64_32S - Offset: 0x1 Symbol: symbol Type: R_X86_64_PC32 Symbols: - Name: .section Type: STT_SECTION Section: .section - Name: symbol Binding: STB_GLOBAL # RUN: llvm-objdump -r %p/Inputs/trivial-object-test.elf-hexagon \ # RUN: | FileCheck %s -check-prefix ELF-hexagon # RUN: llvm-objdump -r %p/Inputs/trivial-object-test.elf-mips64el \ # RUN: | FileCheck %s -check-prefix ELF-MIPS64EL # RUN: llvm-objdump -r %p/Inputs/trivial-object-test.elf-mipsel \ # RUN: | FileCheck %s -check-prefix ELF-MIPSEL # RUN: llvm-objdump -r %p/Inputs/trivial-object-test.wasm \ # RUN: | FileCheck %s -check-prefix WASM # RUN: llvm-objdump -r %p/Inputs/relocations.elf-x86-64 \ # RUN: | FileCheck %s -check-prefix ELF-complex-x86-64 # COFF-i386: .text # COFF-i386: IMAGE_REL_I386_DIR32 L_.str # COFF-i386: IMAGE_REL_I386_REL32 _puts # COFF-i386: IMAGE_REL_I386_REL32 _SomeOtherFunction # COFF-x86-64: .text # COFF-x86-64: IMAGE_REL_AMD64_REL32 L.str # COFF-x86-64: IMAGE_REL_AMD64_REL32 puts # COFF-x86-64: IMAGE_REL_AMD64_REL32 SomeOtherFunction # ELF-hexagon: .text # ELF-hexagon: R_HEX_GOTREL_HI16 .main # ELF-hexagon: R_HEX_GOTREL_LO16 .main # ELF-hexagon: R_HEX_HI16 puts # ELF-hexagon: R_HEX_LO16 puts # ELF-hexagon: R_HEX_B15_PCREL testf # ELF-hexagon: R_HEX_B22_PCREL puts ## Note: this file was produced with gas to make sure we don't end up in a ## situation where LLVM produces and accepts a broken file. # ELF-MIPS64EL: .data # ELF-MIPS64EL: R_MIPS_64/R_MIPS_NONE/R_MIPS_NONE zed # ELF-MIPSEL: .text # ELF-MIPSEL: R_MIPS_HI16 _gp_disp # ELF-MIPSEL: R_MIPS_LO16 _gp_disp # ELF-MIPSEL: R_MIPS_GOT16 $.str # ELF-MIPSEL: R_MIPS_LO16 $.str # ELF-MIPSEL: R_MIPS_CALL16 puts # ELF-MIPSEL: R_MIPS_CALL16 SomeOtherFunction # WASM: CODE # WASM-NEXT: OFFSET TYPE VALUE # WASM-NEXT: R_WASM_MEMORY_ADDR_SLEB .L.str # WASM-NEXT: R_WASM_FUNCTION_INDEX_LEB puts # WASM-NEXT: R_WASM_FUNCTION_INDEX_LEB .LSomeOtherFunction_bitcast # WASM-NEXT: R_WASM_FUNCTION_INDEX_LEB SomeOtherFunction # ELF-complex-x86-64: .text # ELF-complex-x86-64-NEXT: OFFSET TYPE VALUE # ELF-complex-x86-64-NEXT: R_X86_64_8 .data-0x4 # ELF-complex-x86-64-NEXT: R_X86_64_16 .data-0x4 # ELF-complex-x86-64-NEXT: R_X86_64_32 .data-0x4 # ELF-complex-x86-64-NEXT: R_X86_64_32S .data-0x4 # ELF-complex-x86-64-NEXT: R_X86_64_64 .data-0x4 # ELF-complex-x86-64-NEXT: R_X86_64_PC32 .data-0x4 # ELF-complex-x86-64-NEXT: R_X86_64_32 .data # ELF-complex-x86-64-NEXT: R_X86_64_32 .data+0x4