[llvm-dev] How does -fPIE get passed from clang to llc when run on a .ll file?

Phil Tomson via llvm-dev llvm-dev at lists.llvm.org
Fri Nov 6 11:20:09 PST 2015


On Fri, Nov 6, 2015 at 11:10 AM, Tim Northover <t.p.northover at gmail.com>
wrote:

> On 6 November 2015 at 11:00, Phil Tomson <phil.a.tomson at gmail.com> wrote:
> > With 3.6 I get an unused argument warning with -enable-pie:
> >
> > $ clang -v -emit-llvm -enable-pie -O0 -S global_dat.c -o
> > global_dat_x86_pie.ll
>
> Yes, it's an llc option not a Clang option. It actually looks like
> Clang doesn't forward it to LLVM at all (almost certainly a bug, if
> so). But that's probably OK because the only place LLVM actually uses
> it at all is to determine what kind of TLS model to use
> (TargetMachine.cpp), which linkers can mostly relax anyway.
>

In my case I'm actually working on a backend for a new architecture and
need this to show up in LLVM because certain pseudo ops need to be expanded
in a certain way if we're using PIE (vs. just a default static link). So
are these options accessible in the Target-specific code?

>
> It does seem to get passed onto the linker by Clang though.
>

Not sure how that can work.


> Cheers.
>
> Tim.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151106/6de6d45b/attachment.html>


More information about the llvm-dev mailing list