mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-05 02:07:56 +00:00
[CodeGen] Change getSDagStackGuard to get an internal sym.
Fixes a crash in the backend during an LTO build of rtld(1) in FreeBSD. llvm-svn: 272262
This commit is contained in:
parent
62d5d2ff36
commit
74d4553b12
@ -1831,7 +1831,7 @@ void TargetLoweringBase::insertSSPDeclarations(Module &M) const {
|
|||||||
// Currently only support "standard" __stack_chk_guard.
|
// Currently only support "standard" __stack_chk_guard.
|
||||||
// TODO: add LOAD_STACK_GUARD support.
|
// TODO: add LOAD_STACK_GUARD support.
|
||||||
Value *TargetLoweringBase::getSDagStackGuard(const Module &M) const {
|
Value *TargetLoweringBase::getSDagStackGuard(const Module &M) const {
|
||||||
return M.getGlobalVariable("__stack_chk_guard");
|
return M.getGlobalVariable("__stack_chk_guard", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
Value *TargetLoweringBase::getSSPStackGuardCheck(const Module &M) const {
|
Value *TargetLoweringBase::getSSPStackGuardCheck(const Module &M) const {
|
||||||
|
13
test/CodeGen/Generic/stackguard-internal.ll
Normal file
13
test/CodeGen/Generic/stackguard-internal.ll
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
; Check that the backend doesn't crash.
|
||||||
|
; RUN: llc -mtriple=x86_64-pc-freebsd %s -o - | FileCheck %s
|
||||||
|
|
||||||
|
@__stack_chk_guard = internal global [8 x i64] zeroinitializer, align 16
|
||||||
|
|
||||||
|
define void @f() sspstrong {
|
||||||
|
%tbl = alloca [4 x i64], align 16
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
|
; CHECK: .type __stack_chk_guard,@object
|
||||||
|
; CHECK: .local __stack_chk_guard
|
||||||
|
; CHECK: .comm __stack_chk_guard,64,16
|
Loading…
Reference in New Issue
Block a user