[cfe-dev] Re-using 'dllexport' for non-Windows targets

Rafael Espíndola via cfe-dev cfe-dev at lists.llvm.org
Mon May 30 13:37:30 PDT 2016


On 30 May 2016 at 09:38, Martin J. O'Riordan via cfe-dev
<cfe-dev at lists.llvm.org> wrote:
> For our SHAVE target I have re-used ‘__attribute__((dllexport))’ to allow me
> to create indirect address tables for symbols with this annotation.


What file format do you use? ELF?

I can see the point of dllimport (telling the compiler something is
known to be external, even in a non -fPIC build), but how is dllexport
different from a default symbol?

Cheers,
Rafael


>
> However, with almost every release of LLVM and CLang my implementation is
> broken and I have to rework my implementation.  For the most part, the
> existing ‘dllexport’ attribute does everything I require and makes more
> sense for me to pass it through CLang/LLVM until it reaches our back-end
> where it emits the IAT support rather than adding my own new attribute.
>
>
>
> This got broken again with v3.8 and this time the controls are more strict
> on Windows supporting targets.  I thought that before I go in an make
> another set of changes to re-enable this with our target, that I would ask
> first if there anybody has any advice or recommendation for how to “borrow”
> this attribute for non-Windows targets?  The problem is principally CLang
> rather than LLVM, so I would like to find a good and future-proof way of
> adapting CLang to enable this attribute on my target.
>
>
>
> Thanks in advance,
>
>
>
>             MartinO
>
>
>
> Martin J. O’Riordan                Email:  Martin.ORiordan at movidius.com
>
> Compiler Development               Web:    www.movidius.com
>
> Movidius Ltd.                      Skype:  moviMartinO
>
> 1st Floor,  O’Connell Bridge House,  d’Olier Street,  Dublin 2, Ireland
>
>
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>



More information about the cfe-dev mailing list