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).


Posted

in

by

Tags:

Comments

12 responses to “GCC Summit”

  1. davem Avatar

    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 Avatar

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

  3. EdgeWiseInAnnArbor Avatar
    EdgeWiseInAnnArbor

    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 Avatar
    graydon

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

  5. bgamari Avatar
    bgamari

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

  6. davem Avatar

    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 Avatar

    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 Avatar

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

  9. matt.godbolt Avatar

    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 Avatar

    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 Avatar
    sulfide

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

  12. Ian Lance Taylor Avatar

    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.

Leave a Reply