mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 23:56:05 +00:00

Follow-up for D74433 What the function returns are almost standard BFD names, except that "ELF" is in uppercase instead of lowercase. This patch changes "ELF" to "elf" and changes ARM/AArch64 to use their BFD names. MIPS and PPC64 have endianness differences as well, but this patch does not intend to address them. Advantages: * llvm-objdump: the "file format " line matches GNU objdump on ARM/AArch64 objects * "file format " line can be extracted and fed into llvm-objcopy -O literally. (https://github.com/ClangBuiltLinux/linux/issues/779 has such a use case) Affected tools: llvm-readobj, llvm-objdump, llvm-dwarfdump, MCJIT (internal implementation detail, not exposed) Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D76046
20 lines
808 B
ArmAsm
20 lines
808 B
ArmAsm
# REQUIRES: x86
|
|
# Check that we fall back to search paths if a linker script was not found
|
|
# This behaviour matches ld.bfd and various projects appear to rely on this
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o
|
|
# RUN: rm -rf %t.dir && mkdir -p %t.dir
|
|
# RUN: echo 'OUTPUT("%t.out")' > %t.dir/script
|
|
# RUN: ld.lld -T%t.dir/script %t.o
|
|
# RUN: llvm-readobj %t.out | FileCheck %s
|
|
# CHECK: Format: elf64-x86-64
|
|
|
|
# If the linker script specified with -T is missing we should emit an error
|
|
# RUN: not ld.lld -Tscript %t.o 2>&1 | FileCheck %s -check-prefix ERROR
|
|
# ERROR: error: cannot find linker script {{.*}}script
|
|
|
|
# But if it exists in the search path we should fall back to that instead:
|
|
# RUN: rm %t.out
|
|
# RUN: ld.lld -L %t.dir -Tscript %t.o
|
|
# RUN: llvm-readobj %t.out | FileCheck %s
|