public inbox for linux-m68k@lists.linux-m68k.org
 help / color / mirror / Atom feed
* Kernel sections loosing attributes
@ 2013-10-21 19:55 Geert Uytterhoeven
  2013-10-21 20:41 ` Andreas Schwab
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Geert Uytterhoeven @ 2013-10-21 19:55 UTC (permalink / raw)
  To: linux-m68k

While trimming the kernel size to try kexec on real hardware with only
12 MiB of RAM, I got several weird crashes and lock-ups indicating memory
corruption somewhere (illegal instructions, BUG()s for incorrect magics in
fresh lock objects, ...).

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.

After lots of serial debugging, I ended up bisecting the configs, and it
turned out that CONFIG_XZ_DEC was the difference between a working
and non-working kernel.
However, just disabling CONFIG_XZ_DEC on one of my defconfigs
still gave a working kernel. So there must be a deeper issue.

It seems like non-working kernel have lost the CONTENTS, LOAD,
READONLY, and DATA attributes of the __modver section:

vmlinux.ok5:     file format elf32-m68k

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         0014986c  00001000  00001000  00001000  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 __ex_table    000022b8  0014a870  0014a870  0014a870  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .rodata       0003a900  0014d000  0014d000  0014d000  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 __param       000002f0  00187900  00187900  00187900  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 __modver      00000410  00187bf0  00187bf0  00187bf0  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  5 .data         000137c0  00188000  00188000  00188000  2**4
                  CONTENTS, ALLOC, LOAD, DATA
  6 .bss          0001b040  0019b7c0  0019b7c0  0019b7c0  2**4
                  ALLOC
  7 .init.text    0000db5e  001b7000  001b7000  0019d000  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  8 .init.data    00003004  001c4b60  001c4b60  001aab60  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  9 .m68k_fixup   00000908  001c7b64  001c7b64  001adb64  2**0
                  CONTENTS, ALLOC, LOAD, DATA
 10 .notes        00000024  001c846c  001c846c  001ae46c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 11 .init_end     00000b70  001c8490  001c8490  001ae490  2**0
                  ALLOC
 12 .comment      00000011  00000000  00000000  001ae490  2**0
                  CONTENTS, READONLY


vmlinux.crash5:     file format elf32-m68k

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00147824  00001000  00001000  00001000  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 __ex_table    000022b8  00148830  00148830  00148830  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .rodata       0003a770  0014b000  0014b000  0014b000  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 __param       000002f0  00185770  00185770  00185770  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 __modver      000005a0  00185a60  00185a60  00185a60  2**0
                  ALLOC
  5 .data         000137a0  00186000  00186000  00186000  2**4
                  CONTENTS, ALLOC, LOAD, DATA
  6 .bss          0001b040  001997a0  001997a0  001997a0  2**4
                  ALLOC
  7 .init.text    0000db5e  001b5000  001b5000  0019b000  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  8 .init.data    00003004  001c2b60  001c2b60  001a8b60  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  9 .m68k_fixup   00000908  001c5b64  001c5b64  001abb64  2**0
                  CONTENTS, ALLOC, LOAD, DATA
 10 .notes        00000024  001c646c  001c646c  001ac46c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 11 .init_end     00000b70  001c6490  001c6490  001ac490  2**0
                  ALLOC
 12 .comment      00000011  00000000  00000000  001ac490  2**0
                  CONTENTS, READONLY

Does anyone have a clue? Who controls the presence of these
attributes?

Thanks in advance!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-11-08  7:58 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-21 19:55 Kernel sections loosing attributes Geert Uytterhoeven
2013-10-21 20:41 ` Andreas Schwab
2013-10-21 21:09   ` Geert Uytterhoeven
2013-10-21 22:01 ` Andreas Schwab
2013-10-22  8:31   ` Geert Uytterhoeven
2013-10-22  8:56     ` Geert Uytterhoeven
2013-10-22  9:55 ` Geert Uytterhoeven
2013-10-22 19:08 ` Geert Uytterhoeven
2013-11-07  8:20   ` Michael Schmitz
2013-11-07  8:31     ` Geert Uytterhoeven
2013-11-08  7:58       ` Michael Schmitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox