Messages in this thread | | | Date | Fri, 16 Jan 2009 14:37:32 -0600 (CST) | From | Christoph Lameter <> | Subject | Re: [patch 2/8] compiler-gcc.h: add more comments to RELOC_HIDE |
| |
On Thu, 15 Jan 2009, Richard Henderson wrote:
> I didn't explore the space of possible solutions, merely gave Rusty a solution > that I knew would work, and would never fail because the compiler would never > look through the asm. > > I wouldn't be surprised if the compiler thought "(long)&foo - large_constant" > could be put back together into a small-data relocation, simply because at the > level at which that optimization is performed, we've thrown away type data > like long and void*; we only have modes.
We are talking about
(long)&foo + long_variable
Are you saying that the compiler will be ignoring the high bits in variable because of the size of foo?
> Why are you wanting to change this at all? It works as it is.
It looks like its useless and more an indication of either a broken compiler or wrong assumptions about the compiler. Removing RELOC_HIDE should allow the compiler to freely optimize the per cpu address calculations.
| |