aboutsummaryrefslogtreecommitdiffstats
path: root/src/ortho
diff options
context:
space:
mode:
Diffstat (limited to 'src/ortho')
-rw-r--r--src/ortho/llvm-nodebug/ortho_code_main35.adb6
-rw-r--r--src/ortho/llvm-nodebug/ortho_code_main39.adb6
-rw-r--r--src/ortho/llvm/ortho_code_main.adb6
3 files changed, 15 insertions, 3 deletions
diff --git a/src/ortho/llvm-nodebug/ortho_code_main35.adb b/src/ortho/llvm-nodebug/ortho_code_main35.adb
index 61b836369..bb5458b49 100644
--- a/src/ortho/llvm-nodebug/ortho_code_main35.adb
+++ b/src/ortho/llvm-nodebug/ortho_code_main35.adb
@@ -62,7 +62,7 @@ procedure Ortho_Code_Main35 is
CPU : constant Cstring := Empty_Cstring;
Features : constant Cstring := Empty_Cstring;
- Reloc : constant RelocMode := RelocDefault;
+ Reloc : RelocMode := RelocDefault;
function To_String (C : Cstring) return String is
function Strlen (C : Cstring) return Natural;
@@ -117,6 +117,10 @@ begin
Optimization := CodeGenLevelDefault;
elsif Arg = "-O3" then
Optimization := CodeGenLevelAggressive;
+ elsif Arg = "-fpic" or Arg = "-fPIC" then
+ Reloc := RelocPIC;
+ elsif Arg = "-fno-pic" then
+ Reloc := RelocStatic;
elsif Arg = "--emit-llvm" then
Output_Kind := Output_Llvm;
elsif Arg = "--emit-bc" then
diff --git a/src/ortho/llvm-nodebug/ortho_code_main39.adb b/src/ortho/llvm-nodebug/ortho_code_main39.adb
index d1e84b6e3..11e52220e 100644
--- a/src/ortho/llvm-nodebug/ortho_code_main39.adb
+++ b/src/ortho/llvm-nodebug/ortho_code_main39.adb
@@ -62,7 +62,7 @@ procedure Ortho_Code_Main39 is
CPU : constant Cstring := Empty_Cstring;
Features : constant Cstring := Empty_Cstring;
- Reloc : constant RelocMode := RelocDefault;
+ Reloc : RelocMode := RelocDefault;
function To_String (C : Cstring) return String is
function Strlen (C : Cstring) return Natural;
@@ -117,6 +117,10 @@ begin
Optimization := CodeGenLevelDefault;
elsif Arg = "-O3" then
Optimization := CodeGenLevelAggressive;
+ elsif Arg = "-fpic" or Arg = "-fPIC" then
+ Reloc := RelocPIC;
+ elsif Arg = "-fno-pic" then
+ Reloc := RelocStatic;
elsif Arg = "--emit-llvm" then
Output_Kind := Output_Llvm;
elsif Arg = "--emit-bc" then
diff --git a/src/ortho/llvm/ortho_code_main.adb b/src/ortho/llvm/ortho_code_main.adb
index 5558a8bbe..56c869ad1 100644
--- a/src/ortho/llvm/ortho_code_main.adb
+++ b/src/ortho/llvm/ortho_code_main.adb
@@ -70,7 +70,7 @@ procedure Ortho_Code_Main is
CPU : constant Cstring := Empty_Cstring;
Features : constant Cstring := Empty_Cstring;
- Reloc : constant RelocMode := RelocDefault;
+ Reloc : RelocMode := RelocDefault;
function To_String (C : Cstring) return String is
function Strlen (C : Cstring) return Natural;
@@ -125,6 +125,10 @@ begin
Optimization := CodeGenLevelDefault;
elsif Arg = "-O3" then
Optimization := CodeGenLevelAggressive;
+ elsif Arg = "-fpic" or Arg = "-fPIC" then
+ Reloc := RelocPIC;
+ elsif Arg = "-fno-pic" then
+ Reloc := RelocStatic;
elsif Arg = "--emit-llvm" then
Output_Kind := Output_Llvm;
elsif Arg = "--emit-bc" then