Linker reorganization

lonetiger at gmail.com lonetiger at gmail.com
Fri Oct 28 17:42:53 UTC 2016


> Simon Marlow <marlowsd at gmail.com> writes:
> 
> >> One concern that I have is that the RTS's header file structure (where
> >> everything is #include'd via Rts.h) doesn't work very well for this
> >> particular use, where we have a group of headers specific to a
> >> particular subsystem (e.g. linker/*.h). Consequently, these header files
> >> currently lack enclosing `extern "C"` blocks (as well as
> >> Begin/EndPrivate blocks). It would be easy to add these, but I was
> >> curious to hear if others had any better ideas.
> >>
> >>
> > Not sure I understand the problem.  Rts.h is for *public* APIs, those that
> > are accessible outside the RTS, but these APIs are mostly *internal*.  The
> > public-facing linker API is in includes/rts/Linker.h.
> >
> > We don't need extern "C" in the internal header files because we're never
> > going to include these from C++ (we do in the external ones though). But we
> > should have BeginPrivate.h/EndPrivate.h in the internal headers.
> >
> 
> Ahh, right; silly me. I'll just add the necessary BeginPrivates and
> hopefully we get this merged after Karel reports back with the results
> of his testing. Thanks Simon!

Great work! I'm itching to take an Axe to the PE stuff. lots of constants can just go.

> 
> Cheers,
> 
> - Ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20161028/4dcd5be1/attachment-0001.html>


More information about the ghc-devs mailing list