MaskRay added a comment.

In D128333#3613665 <https://reviews.llvm.org/D128333#3613665>, @awarzynski 
wrote:

> @MaskRay, thank for taking a look!
>
> In D128333#3605745 <https://reviews.llvm.org/D128333#3605745>, @MaskRay wrote:
>
>> gfortran defaults to PIE as well.
>
> While we strive to be compatible with `gfortan`, there's a lot relatively 
> "basic" things still missing in LLVM Flang. So this is not the highest 
> priority ATM.
>
>>> We can revisit this once support for -fpie and -fpic is available in LLVM 
>>> Flang. I'm not aware of anyone actively working in this area.
>>
>> Disagree. The PIE default should be fine. When PIE support is added, the 
>> default mode naturally becomes PIE.
>> Note: -fpie object files can be linked with either -no-pie or -pie. -fno-pic 
>> object files can only be linked with -no-pie.
>> -fpie is more portable than -fno-pic.
>
> But an object file with R_X86_64_32 relocations cannot be linked with a 
> `-pie` object, right? How can I make sure that there are no such relocations 
> then?

True. If it is difficult to override the `-pie` default from flang side, I am 
fine with the code change.

>> (Why does flang use clang/lib/Driver? For clang developers, it seems that 
>> `check-clang check-clang-tools` is not sufficient. `check-flang` needs to be 
>> used as well.)
>
> Otherwise, we'd have to re-implement clang/lib/Driver for LLVM Flang. This 
> design was proposed and discussed here 
> <https://lists.llvm.org/pipermail/cfe-dev/2019-June/062669.html>.

OK, so you did bring this up. I guess I'll have to accept...

>> For clang developers, it seems that `check-clang check-clang-tools` is not 
>> sufficient. `check-flang` needs to be used as well.)
>
> Isn't this a bit similar to e.g. LLVM developers? Or MLIR developers?





================
Comment at: flang/test/Driver/no-pie.f90:3
+
+!-------------
+! RUN COMMANDS
----------------
The `! RUN COMMANDS` and `EXPECTED OUTPUT` comments seem rather redundant. I'd 
remove them.


================
Comment at: flang/test/Driver/no-pie.f90:11
+!----------------
+! CHECK-NOT: fpie
+! CHECK-NOT: fpic
----------------
This NOT pattern can easily get stale. You need a test that driver `-pie` 
forwards `-pie` to the linker and by default `-pie` does not pass the the 
linker.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D128333/new/

https://reviews.llvm.org/D128333

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to