On Mon, Oct 21, 2013 at 9:55 PM, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
As I also got complaints about overlapping sections from strip, I switched from the good old gcc 4.1.2 20061115 (prerelease) (Ubuntu 4.1.1-21) and binutils 2.18.0.20080103 to gcc 4.6.3 and binutils 2.22, but apart from fixing the overlapping sections, it still didn't work.
Binutils 2.18 is indeed buggy here. LMA of the data section is the same as LMA of the __modver section, despite the correct __modver size due to the ". = ALIGN((align))" at the end of the section (see include/asm-generic/vmlinux.lds.h): Idx Name Size VMA LMA File off Algn 7 __modver 000003f8 0034dc08 0034dc08 0034dc08 2**0 ALLOC 8 .data 00020ae0 0034e000 0034dc08 0034dc08 2**4 CONTENTS, ALLOC, LOAD, DATA So that's where the overlap warning comes from. And the resulting kernel crashes on ARAnyM after | Blitter tried to read byte from register ff8a00 at 0075ea With binutils 2.22/2.23.2, .data is correctly aligned: 7 __modver 000003f8 0034dc08 0034dc08 0034dc08 2**0 ALLOC 8 .data 00020ae0 0034e000 0034e000 0034e000 2**4 CONTENTS, ALLOC, LOAD, DATA and it seems to work fine on ARAnyM. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html