Index: ELF/Relocations.cpp =================================================================== --- ELF/Relocations.cpp +++ ELF/Relocations.cpp @@ -400,7 +400,8 @@ // the refered symbol can be preemepted to refer to the executable. if (Config->Shared || (Config->Pic && !isRelExpr(Expr))) { error("relocation " + getRelName(Type) + - " cannot be used when making a shared object; recompile with -fPIC."); + " cannot be used when making a PIC object; dynamic relocations " + "against text segment are not supported, recompile with -fPIC."); return Expr; } if (Body.getVisibility() != STV_DEFAULT) { Index: test/ELF/aarch64-fpic-add_abs_lo12_nc.s =================================================================== --- test/ELF/aarch64-fpic-add_abs_lo12_nc.s +++ test/ELF/aarch64-fpic-add_abs_lo12_nc.s @@ -1,7 +1,7 @@ // REQUIRES: aarch64 // RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o // RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s -// CHECK: relocation R_AARCH64_ADD_ABS_LO12_NC cannot be used when making a shared object; recompile with -fPIC. +// CHECK: relocation R_AARCH64_ADD_ABS_LO12_NC cannot be used when making a PIC object; dynamic relocations against text segment are not supported, recompile with -fPIC. add x0, x0, :lo12:dat .data Index: test/ELF/aarch64-fpic-adr_prel_lo21.s =================================================================== --- test/ELF/aarch64-fpic-adr_prel_lo21.s +++ test/ELF/aarch64-fpic-adr_prel_lo21.s @@ -1,7 +1,7 @@ // REQUIRES: aarch64 // RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o // RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s -// CHECK: relocation R_AARCH64_ADR_PREL_LO21 cannot be used when making a shared object; recompile with -fPIC. +// CHECK: relocation R_AARCH64_ADR_PREL_LO21 cannot be used when making a PIC object; dynamic relocations against text segment are not supported, recompile with -fPIC. adr x0, dat .data Index: test/ELF/aarch64-fpic-adr_prel_pg_hi21.s =================================================================== --- test/ELF/aarch64-fpic-adr_prel_pg_hi21.s +++ test/ELF/aarch64-fpic-adr_prel_pg_hi21.s @@ -1,7 +1,7 @@ // REQUIRES: aarch64 // RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o // RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s -// CHECK: relocation R_AARCH64_ADR_PREL_PG_HI21 cannot be used when making a shared object; recompile with -fPIC. +// CHECK: relocation R_AARCH64_ADR_PREL_PG_HI21 cannot be used when making a PIC object; dynamic relocations against text segment are not supported, recompile with -fPIC. adrp x0, dat .data Index: test/ELF/aarch64-fpic-ldst32_abs_lo12_nc.s =================================================================== --- test/ELF/aarch64-fpic-ldst32_abs_lo12_nc.s +++ test/ELF/aarch64-fpic-ldst32_abs_lo12_nc.s @@ -1,7 +1,7 @@ // REQUIRES: aarch64 // RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o // RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s -// CHECK: relocation R_AARCH64_LDST32_ABS_LO12_NC cannot be used when making a shared object; recompile with -fPIC. +// CHECK: relocation R_AARCH64_LDST32_ABS_LO12_NC cannot be used when making a PIC object; dynamic relocations against text segment are not supported, recompile with -fPIC. ldr s4, [x0, :lo12:dat] .data Index: test/ELF/aarch64-fpic-ldst64_abs_lo12_nc.s =================================================================== --- test/ELF/aarch64-fpic-ldst64_abs_lo12_nc.s +++ test/ELF/aarch64-fpic-ldst64_abs_lo12_nc.s @@ -1,7 +1,7 @@ // REQUIRES: aarch64 // RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o // RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s -// CHECK: relocation R_AARCH64_LDST64_ABS_LO12_NC cannot be used when making a shared object; recompile with -fPIC. +// CHECK: relocation R_AARCH64_LDST64_ABS_LO12_NC cannot be used when making a PIC object; dynamic relocations against text segment are not supported, recompile with -fPIC. ldr x0, [x0, :lo12:dat] .data Index: test/ELF/aarch64-fpic-ldst8_abs_lo12_nc.s =================================================================== --- test/ELF/aarch64-fpic-ldst8_abs_lo12_nc.s +++ test/ELF/aarch64-fpic-ldst8_abs_lo12_nc.s @@ -1,7 +1,7 @@ // REQUIRES: aarch64 // RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o // RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s -// CHECK: relocation R_AARCH64_LDST8_ABS_LO12_NC cannot be used when making a shared object; recompile with -fPIC. +// CHECK: relocation R_AARCH64_LDST8_ABS_LO12_NC cannot be used when making a PIC object; dynamic relocations against text segment are not supported, recompile with -fPIC. ldrsb x0, [x1, :lo12:dat] .data Index: test/ELF/copy-in-shared.s =================================================================== --- test/ELF/copy-in-shared.s +++ test/ELF/copy-in-shared.s @@ -7,4 +7,4 @@ .quad foo -// CHECK: relocation R_X86_64_64 cannot be used when making a shared object; recompile with -fPIC. +// CHECK: relocation R_X86_64_64 cannot be used when making a PIC object; dynamic relocations against text segment are not supported, recompile with -fPIC. Index: test/ELF/copy-rel-pie-error.s =================================================================== --- test/ELF/copy-rel-pie-error.s +++ test/ELF/copy-rel-pie-error.s @@ -3,8 +3,8 @@ // RUN: ld.lld %t2.o -o %t2.so -shared // RUN: not ld.lld %t.o %t2.so -o %t.exe -pie 2>&1 | FileCheck %s -// CHECK: relocation R_X86_64_64 cannot be used when making a shared object; recompile with -fPIC. -// CHECK: relocation R_X86_64_64 cannot be used when making a shared object; recompile with -fPIC. +// CHECK: relocation R_X86_64_64 cannot be used when making a PIC object; dynamic relocations against text segment are not supported, recompile with -fPIC. +// CHECK: relocation R_X86_64_64 cannot be used when making a PIC object; dynamic relocations against text segment are not supported, recompile with -fPIC. .global _start _start: Index: test/ELF/dynamic-reloc-in-ro.s =================================================================== --- test/ELF/dynamic-reloc-in-ro.s +++ test/ELF/dynamic-reloc-in-ro.s @@ -5,4 +5,4 @@ foo: .quad foo -// CHECK: relocation R_X86_64_64 cannot be used when making a shared object; recompile with -fPIC. +// CHECK: relocation R_X86_64_64 cannot be used when making a PIC object; dynamic relocations against text segment are not supported, recompile with -fPIC. Index: test/ELF/eh-frame-dyn-rel.s =================================================================== --- test/ELF/eh-frame-dyn-rel.s +++ test/ELF/eh-frame-dyn-rel.s @@ -7,4 +7,4 @@ .cfi_personality 0x8c, foo .cfi_endproc -// CHECK: relocation R_X86_64_64 cannot be used when making a shared object; recompile with -fPIC. +// CHECK: relocation R_X86_64_64 cannot be used when making a PIC object; dynamic relocations against text segment are not supported, recompile with -fPIC. Index: test/ELF/x86-64-reloc-32-fpic.s =================================================================== --- test/ELF/x86-64-reloc-32-fpic.s +++ test/ELF/x86-64-reloc-32-fpic.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o # RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s -# CHECK: relocation R_X86_64_32 cannot be used when making a shared object; recompile with -fPIC. +# CHECK: relocation R_X86_64_32 cannot be used when making a PIC object; dynamic relocations against text segment are not supported, recompile with -fPIC. .long _shared Index: test/ELF/x86-64-reloc-pc32-fpic.s =================================================================== --- test/ELF/x86-64-reloc-pc32-fpic.s +++ test/ELF/x86-64-reloc-pc32-fpic.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o # RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s -# CHECK: relocation R_X86_64_PC32 cannot be used when making a shared object; recompile with -fPIC. +# CHECK: relocation R_X86_64_PC32 cannot be used when making a PIC object; dynamic relocations against text segment are not supported, recompile with -fPIC. call _shared