On Mon, Oct 21, 2013 at 9:55 PM, Geert Uytterhoeven
<[email protected]> 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 -- [email protected]

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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to