https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113499

--- Comment #6 from Arthur Cohen <cohenarthur at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #5)
> (In reply to Thomas Schwinge from comment #4)
> > If I understood Arthur correctly, GCC/Rust is going to effectively require
> > 'dlopen' (and therefore '--enable-plugin'?), so that means, if the latter's
> > not available we have to auto-disable Rust language front end if enabled
> > '--enable-languages=all' vs. raise a 'configure'-time error if enabled via
> > explicit '--enable-languages=rust'?
> 
> Not sure - --enable-plugin is not about dlopen, it's about exporting all
> GCCs internal symbols for use by a dlopened shared module.  Is the
> macro processing requiring this or is it rather self-contained?
> 
> Being able to dlopen() is something different.

No, it does not require this and is rather self contained. Macro expansion
needs to be able to dlopen() compiled Rust libraries, which contain a specific
type of function our frontend calls as a macro. So we always need to dlopen().

Is there anything similar in other frontends? If so, how does it work on such
platforms which do not support dlopen()?

Reply via email to