News for hackers. Stuff that matters.
Re:New optimizations for X86 in upcoming GCC 5.0: PIC in 32 ... by jomar on Wednesday April 15, 2015 @05:51AM (#9379868)
In GCC 4.9 EBX register is reserved for global offset table (GOT) address [...] In GCC 5.0 EBX is returned to an allocation making all 7 registers available.

But there's no explanation of why we don't need a GOT any more.

Possibly this is "Reuse of the PIC hard register" noted in https://gcc.gnu.org/gcc-5/changes.html ..?

Re:New optimizations for X86 in upcoming GCC 5.0: PIC in 32 ... by makomk on Wednesday April 15, 2015 @07:16AM (#9380133)
Presumably they've fixed it so that the GOT only has to be in a register whilst code is actually using it, and can be spilled to the stack at other times. Tight loops probably aren't going to be accessing the GOT in the inner loop - ideally they'll obtain a pointer to any global data they use at the start and use that, so it makes sense to move the GOT pointer elsewhere for the duration of the loop.
Re:New optimizations for X86 in upcoming GCC 5.0: PIC in 32 ... by ahomescu1 on Wednesday April 15, 2015 @06:43AM (#9380014)
> But there's no explanation of why we don't need a GOT any more.

I think it's related to this: https://news.ycombinator.com/item?id=9378861