Re: Kernel sections loosing attributes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux