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).
GCC Summit
by
Tags:
Comments
12 responses to “GCC Summit”
-
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. -
Man, that’d be something I was looking for over many years. About time. Nice way of putting it too 🙂
-
I’d be interested in your opinion of the infamous list of ELF problems that autopackage posted:
http://trac.autopackage.org/wiki/LinuxProblems -
Nice presentations. Unrelated question: what did you use for the slides?
-
The slides look to me like they were done in beamer, an extremely well-done latex extension.
-
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
-
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.
-
By the way, you can find the source for the slides here.
-
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.
-
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.
-
when are we going to see some c++ in gcc, did you ever create that branch gcc-to-c++?
-
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
You must be logged in to post a comment.