Messages in this thread | | | Date | Sun, 12 Oct 2003 21:53:55 +0200 | From | Sam Ravnborg <> | Subject | Re: non-modular 2.6 ppc kernels miscompiled by gcc-3.3.1? |
| |
On Sun, Oct 12, 2003 at 09:47:48PM +0200, Mikael Pettersson wrote: > Notice __start___ex_table[]'s address: it's not 4-byte aligned. > With gcc-3.2.3 it got an 8-byte aligned address in my 2.6 kernel. > > vmlinux.lds.S doesn't explicitly align __start___ex_table, so I > simply put ". = ALIGN(4);" before it and Voila! now it works.
ld will aling the section according to alingment requirements of the symbols inside the section. So what happens in your case is that . (current address) is un-even. But ld alings the section to a 4-byte boundary, due to one of the symbols inside the section.
So the better fix is to define the lables inside the section, (read: inside the two '{}').
Care to give my patch a check and report back.
Sam - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |