summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Widmann <devteam.codafi@gmail.com>2019-01-03 00:33:44 +0000
committerRobert Widmann <devteam.codafi@gmail.com>2019-01-03 00:33:44 +0000
commit7882b283cdb7e11ca085a1e862190abf2d5661b0 (patch)
treec7bf8ef681bc35cf6e9de27feb46565588797b88
parent06519794da1aaea9678309abce8fbf6df3994c9e (diff)
downloadbcm5719-llvm-7882b283cdb7e11ca085a1e862190abf2d5661b0.tar.gz
bcm5719-llvm-7882b283cdb7e11ca085a1e862190abf2d5661b0.zip
[LLVM-C] Expand LLVMRelocMode
Summary: Add read[only|write] PIC relocation models to the C API and teach the TargetMachine API about it. Reviewers: whitequark, deadalnix Reviewed By: whitequark Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D56187 llvm-svn: 350279
-rw-r--r--llvm/include/llvm-c/TargetMachine.h5
-rw-r--r--llvm/lib/Target/TargetMachineC.cpp9
2 files changed, 13 insertions, 1 deletions
diff --git a/llvm/include/llvm-c/TargetMachine.h b/llvm/include/llvm-c/TargetMachine.h
index bcfa0012c3c..c06e9edc9aa 100644
--- a/llvm/include/llvm-c/TargetMachine.h
+++ b/llvm/include/llvm-c/TargetMachine.h
@@ -39,7 +39,10 @@ typedef enum {
LLVMRelocDefault,
LLVMRelocStatic,
LLVMRelocPIC,
- LLVMRelocDynamicNoPic
+ LLVMRelocDynamicNoPic,
+ LLVMRelocROPI,
+ LLVMRelocRWPI,
+ LLVMRelocROPI_RWPI
} LLVMRelocMode;
typedef enum {
diff --git a/llvm/lib/Target/TargetMachineC.cpp b/llvm/lib/Target/TargetMachineC.cpp
index 37d398d580f..bae45ae28c4 100644
--- a/llvm/lib/Target/TargetMachineC.cpp
+++ b/llvm/lib/Target/TargetMachineC.cpp
@@ -115,6 +115,15 @@ LLVMTargetMachineRef LLVMCreateTargetMachine(LLVMTargetRef T,
case LLVMRelocDynamicNoPic:
RM = Reloc::DynamicNoPIC;
break;
+ case LLVMRelocROPI:
+ RM = Reloc::ROPI;
+ break;
+ case LLVMRelocRWPI:
+ RM = Reloc::RWPI;
+ break;
+ case LLVMRelocROPI_RWPI:
+ RM = Reloc::ROPI_RWPI;
+ break;
default:
break;
}
OpenPOWER on IntegriCloud