diff options
author | Tristan Gingold <tgingold@free.fr> | 2016-12-05 21:00:35 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2016-12-06 20:05:50 +0100 |
commit | 0710ab894a5234cc68a6f43dfb9aac95c9c96010 (patch) | |
tree | 9c39cde922ed981d3c54983d3893b09ab365ac92 /src/ortho/llvm | |
parent | be36587ed1a04b3a9712f837c5b0e82422bd5adf (diff) | |
download | ghdl-0710ab894a5234cc68a6f43dfb9aac95c9c96010.tar.gz ghdl-0710ab894a5234cc68a6f43dfb9aac95c9c96010.tar.bz2 ghdl-0710ab894a5234cc68a6f43dfb9aac95c9c96010.zip |
Use -fpic if gcc is configured with --enable-default-pie
Test in configure and set Default_Pie in default_pathes.ads
Pass -fpic to ghdl1 if Default_Pie is set.
Decode -fpic in ghdl1_llvm
Fix #213
Diffstat (limited to 'src/ortho/llvm')
-rw-r--r-- | src/ortho/llvm/ortho_code_main.adb | 6 |
1 files changed, 5 insertions, 1 deletions
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 |