mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-07 21:20:18 +00:00
Fixed Bug 2751
http://llvm.org/bugs/show_bug.cgi?id=2751 Abicall was enabled even when static code model was provided in the command line. The correct behavior is to disable abicall when static is specified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56228 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5eb0cecbc5
commit
b3d7299694
@ -65,9 +65,9 @@ MipsSubtarget::MipsSubtarget(const TargetMachine &TM, const Module &M,
|
||||
HasCondMov = true;
|
||||
}
|
||||
|
||||
// Abicall is the default for O32 ABI and is ignored
|
||||
// for EABI.
|
||||
if (NotABICall || isABI_EABI())
|
||||
// Abicall is the default for O32 ABI, but is disabled within EABI and in
|
||||
// static code.
|
||||
if (NotABICall || isABI_EABI() || (TM.getRelocationModel() == Reloc::Static))
|
||||
HasABICall = false;
|
||||
|
||||
// TODO: disable when handling 64 bit symbols in the future.
|
||||
|
@ -46,7 +46,7 @@ MipsTargetMachine(const Module &M, const std::string &FS, bool isLittle=false):
|
||||
TLInfo(*this)
|
||||
{
|
||||
// Abicall enables PIC by default
|
||||
if (Subtarget.hasABICall() && (getRelocationModel() != Reloc::Static))
|
||||
if (Subtarget.hasABICall())
|
||||
setRelocationModel(Reloc::PIC_);
|
||||
|
||||
// TODO: create an option to enable long calls, like -mlong-calls,
|
||||
|
Loading…
x
Reference in New Issue
Block a user