GCC Summit

I’m at the GCC Summit in Ottawa, and short on time. I gave a double presentation today, on gold (slides) and on writing gcc in C++ (slides).

12 Comments »

  1. davem said,

    June 17, 2008 @ 10:27 pm

    Looks nice at least from the slides 🙂

    I’m chomping at the bit to spend some spare cycles to help out
    with your gcc in C++ efforts.

  2. echristo said,

    June 18, 2008 @ 12:03 am

    Man, that’d be something I was looking for over many years. About time. Nice way of putting it too 🙂

  3. EdgeWiseInAnnArbor said,

    June 18, 2008 @ 8:54 am

    I’d be interested in your opinion of the infamous list of ELF problems that autopackage posted:
    http://trac.autopackage.org/wiki/LinuxProblems

  4. graydon said,

    June 18, 2008 @ 9:41 am

    Nice presentations. Unrelated question: what did you use for the slides?

  5. bgamari said,

    June 18, 2008 @ 11:36 am

    The slides look to me like they were done in beamer, an extremely well-done latex extension.

  6. davem said,

    June 18, 2008 @ 12:19 pm

    I think he used the ‘beamer’ latex package. That’s my guess because his
    slides look similar in style to mine and that’s what I’ve been using lately.

    And indeed a “strings gold-slides.pdf | egrep -i LaTeX” reveals:

    LaTeX with beamer class version 3.01

  7. Ian Lance Taylor said,

    June 18, 2008 @ 7:41 pm

    I’m glad people liked the slides. I do indeed use beamer, with the Goettingen theme.

    EdgeWiseInAnnArbor: I’m not sure that the autopackage site is really talking about the common case. If you force deep binding, then symbol interposition no longer works as you expect. In general ELF tries to make symbol interposition work, so that you can use LD_PRELOAD, etc. If you can’t live with that, then use dlopen with RTLD_DEEPBIND. dlopen is of course also the way to implement their suggested DT_USEFUL. ELF definitely makes complicated things complicated. But the simple case does generally do what people expect, especially when you realize that symbol interposition is a goal.

  8. Ian Lance Taylor said,

    June 18, 2008 @ 7:42 pm

    By the way, you can find the source for the slides here.

  9. matt.godbolt said,

    July 2, 2008 @ 2:50 am

    Great blog, and great presentations there. A quick nitpick, unless I’ve missed something, in your slide in the C++ GCC “VEC or vector”, I think the C++ side has a couple of issues. First up, the std::vector object isn’t assigned or allocated (I realise this may just be for clarity!) More importantly, the accessor “superloops[depth]” will almost certainly segfault for depth!=0. I think it should be “(*superloops)[depth]”, or maybe “superloops->at(depth)”.

    Of course, I may have missed something along the way there, but the pedant in me couldn’t help posting here…

    I’m very excited about the future of the linker, and look forward to the planned cool new features.

  10. Ian Lance Taylor said,

    July 5, 2008 @ 10:30 pm

    The VEC or vector slide isn’t clear as it is–I hope it was more clear when I talked about it! The C++ code isn’t meant to be real code. Instead, each line is the C++ version of the corresponding line in the C code. Thus, “VEC_reserve (loop_p, gc, superloops, depth);” in C is the same as “superloops->reserve(depth);”.

    You’re quite right about “superloops[depth]”. That should have been “(*superloops)[depth]” as you suggest. Thanks.

  11. sulfide said,

    November 5, 2008 @ 7:20 am

    when are we going to see some c++ in gcc, did you ever create that branch gcc-to-c++?

  12. Ian Lance Taylor said,

    November 5, 2008 @ 5:41 pm

    I did create the branch, called gcc-in-cxx. Tom Tromey and I have done some work on it. A lot more of gcc builds in C++ now, but it still doesn’t bootstrap.

RSS feed for comments on this post · TrackBack URI

You must be logged in to post a comment.