
Dear Joakim Tjernlund,
In message OF4DCFBD28.58E81A84-ONC12577BA.0047150B-C12577BA.0047D319@transmode.se you wrote:
What happens when one uses this patch in combination with a "standard" (i. e. older, unpatched) GCC?
Nothing, gcc will produce -fPIC relocs and the code will/should just work.
OK, so your change means effectively a no-op (except for the moderate size increase in start.S) to most of us?
You mentioned -fpic was smaller and faster; do you have any numbers for that (especailly for the faster part) ?
_GLOBAL_OFFSET_TABLE_ is a predefined symbol that the linker defines to be in the middle of the -fpic GOT table. It marks the end of the GOT table as far as we are concerned(u-boot does not generate so many relocs that the linker needs to use the space above _GLOBAL_OFFSET_TABLE_)
There is no predefined symbol that marks the start of fpic relocs so one is added(_GOT_TABLE_) by me to the linker script.
OK - can you please include these explanations into the commit message? Thanks.
Best regards,
Wolfgang Denk