* 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
* Re: Kernel sections loosing attributes
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
` (2 subsequent siblings)
3 siblings, 1 reply; 11+ messages in thread
From: Andreas Schwab @ 2013-10-21 20:41 UTC (permalink / raw)
To: Geert Uytterhoeven; +Cc: linux-m68k
What do you get from readelf -Sl?
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Kernel sections loosing attributes
2013-10-21 20:41 ` Andreas Schwab
@ 2013-10-21 21:09 ` Geert Uytterhoeven
0 siblings, 0 replies; 11+ messages in thread
From: Geert Uytterhoeven @ 2013-10-21 21:09 UTC (permalink / raw)
To: Andreas Schwab; +Cc: linux-m68k
On Mon, Oct 21, 2013 at 10:41 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> What do you get from readelf -Sl?
$ readelf -Sl vmlinux.ok
There are 17 section headers, starting at offset 0x1ae524:
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .text PROGBITS 00001000 001000 14986c 00 AX 0 0 4
[ 2] __ex_table PROGBITS 0014a870 14a870 0022b8 00 A 0 0 4
[ 3] .rodata PROGBITS 0014d000 14d000 03a900 00 A 0 0 16
[ 4] __param PROGBITS 00187900 187900 0002f0 00 A 0 0 4
[ 5] __modver PROGBITS 00187bf0 187bf0 000410 00 A 0 0 2
[ 6] .data PROGBITS 00188000 188000 0137c0 00 WA 0 0 16
[ 7] .bss NOBITS 0019b7c0 19b7c0 01b040 00 WA 0 0 16
[ 8] .init.text PROGBITS 001b7000 19d000 00db5e 00 AX 0 0 4
[ 9] .init.data PROGBITS 001c4b60 1aab60 003004 00 WA 0 0 4
[10] .m68k_fixup PROGBITS 001c7b64 1adb64 000908 00 WA 0 0 1
[11] .notes NOTE 001c846c 1ae46c 000024 00 AX 0 0 4
[12] .init_end NOBITS 001c8490 1ae490 000b70 00 WA 0 0 1
[13] .comment PROGBITS 00000000 1ae490 000011 01 MS 0 0 1
[14] .shstrtab STRTAB 00000000 1ae4a1 000080 00 0 0 1
[15] .symtab SYMTAB 00000000 1ae7cc 02cad0 10
16 5834 4
[16] .strtab STRTAB 00000000 1db29c 02debb 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
Elf file type is EXEC (Executable file)
Entry point 0x2000
There are 2 program headers, starting at offset 52
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x000000 0x00000000 0x00000000 0x19b7c0 0x1b6800 RWE 0x2000
LOAD 0x19d000 0x001b7000 0x001b7000 0x11490 0x12000 RWE 0x2000
Section to Segment mapping:
Segment Sections...
00 .text __ex_table .rodata __param __modver .data .bss
01 .init.text .init.data .m68k_fixup .notes .init_end
$ readelf -Sl vmlinux.crash
There are 17 section headers, starting at offset 0x1ac524:
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .text PROGBITS 00001000 001000 147824 00 AX 0 0 4
[ 2] __ex_table PROGBITS 00148830 148830 0022b8 00 A 0 0 4
[ 3] .rodata PROGBITS 0014b000 14b000 03a770 00 A 0 0 16
[ 4] __param PROGBITS 00185770 185770 0002f0 00 A 0 0 4
[ 5] __modver NOBITS 00185a60 185a60 0005a0 00 WA 0 0 1
[ 6] .data PROGBITS 00186000 186000 0137a0 00 WA 0 0 16
[ 7] .bss NOBITS 001997a0 1997a0 01b040 00 WA 0 0 16
[ 8] .init.text PROGBITS 001b5000 19b000 00db5e 00 AX 0 0 4
[ 9] .init.data PROGBITS 001c2b60 1a8b60 003004 00 WA 0 0 4
[10] .m68k_fixup PROGBITS 001c5b64 1abb64 000908 00 WA 0 0 1
[11] .notes NOTE 001c646c 1ac46c 000024 00 AX 0 0 4
[12] .init_end NOBITS 001c6490 1ac490 000b70 00 WA 0 0 1
[13] .comment PROGBITS 00000000 1ac490 000011 01 MS 0 0 1
[14] .shstrtab STRTAB 00000000 1ac4a1 000080 00 0 0 1
[15] .symtab SYMTAB 00000000 1ac7cc 02c9a0 10
16 5823 4
[16] .strtab STRTAB 00000000 1d916c 02dda6 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
Elf file type is EXEC (Executable file)
Entry point 0x2000
There are 2 program headers, starting at offset 52
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x000000 0x00000000 0x00000000 0x1997a0 0x1b47e0 RWE 0x2000
LOAD 0x19b000 0x001b5000 0x001b5000 0x11490 0x12000 RWE 0x2000
Section to Segment mapping:
Segment Sections...
00 .text __ex_table .rodata __param __modver .data .bss
01 .init.text .init.data .m68k_fixup .notes .init_end
$
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
* Re: Kernel sections loosing attributes
2013-10-21 19:55 Kernel sections loosing attributes Geert Uytterhoeven
2013-10-21 20:41 ` Andreas Schwab
@ 2013-10-21 22:01 ` Andreas Schwab
2013-10-22 8:31 ` Geert Uytterhoeven
2013-10-22 9:55 ` Geert Uytterhoeven
2013-10-22 19:08 ` Geert Uytterhoeven
3 siblings, 1 reply; 11+ messages in thread
From: Andreas Schwab @ 2013-10-21 22:01 UTC (permalink / raw)
To: Geert Uytterhoeven; +Cc: linux-m68k
Geert Uytterhoeven <geert@linux-m68k.org> writes:
> 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.
Have you tried the latest binutils?
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Kernel sections loosing attributes
2013-10-21 22:01 ` Andreas Schwab
@ 2013-10-22 8:31 ` Geert Uytterhoeven
2013-10-22 8:56 ` Geert Uytterhoeven
0 siblings, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2013-10-22 8:31 UTC (permalink / raw)
To: Andreas Schwab; +Cc: linux-m68k
On Tue, Oct 22, 2013 at 12:01 AM, Andreas Schwab <schwab@linux-m68k.org> 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.
>
> Have you tried the latest binutils?
When using binutils 2.23.2 to build the kernel, there's no difference in the
objdump -h output; the __modver section still has only the ALLOC attribute.
The readelf -Sl output is slightly different as the symtab and strtab sections
have changed.
Haven't tried to boot the resulting kernel yet, though.
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
* Re: Kernel sections loosing attributes
2013-10-22 8:31 ` Geert Uytterhoeven
@ 2013-10-22 8:56 ` Geert Uytterhoeven
0 siblings, 0 replies; 11+ messages in thread
From: Geert Uytterhoeven @ 2013-10-22 8:56 UTC (permalink / raw)
To: Andreas Schwab; +Cc: linux-m68k
[-- Attachment #1: Type: text/plain, Size: 1017 bytes --]
One more difference: vmlinux.o doesn't have a __modver section in the bad
case, while it does in the good case:
(readelf -lS)
[30] __modver PROGBITS 00000000 17aed8 000004 00 A 0 0 2
[31] .rela__modver RELA 00000000 215f98 00000c 0c 73 30 4
(objdump -h)
15 __modver 00000004 00000000 00000000 0017aed8 2**1
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
The same for lib/built-in.o, lib/xz/xz_dec_syms.o, lib/xz/xz_dec_lzma2.o,
lib/xz/xz_dec_stream.o, lib/xz/built-in.o, and lib/xz/xz_dec.o.
I'm attaching the .config that shows the problem on v3.12-rc6.
It goes away by enabling CONFIG_XZ_DEC.
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
[-- Attachment #2: .config.bad --]
[-- Type: application/octet-stream, Size: 17559 bytes --]
#
# Automatically generated file; DO NOT EDIT.
# Linux/m68k 3.12.0-rc6 Kernel Configuration
#
CONFIG_M68K=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_TIME_LOW_RES=y
CONFIG_NO_IOPORT=y
# CONFIG_NO_DMA is not set
CONFIG_ZONE_DMA=y
CONFIG_HZ=100
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
#
# General setup
#
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION="-amiga-mod"
CONFIG_LOCALVERSION_AUTO=y
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_FHANDLE is not set
#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_ARCH_USES_GETTIMEOFFSET=y
#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_STALL_COMMON is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=16
# CONFIG_CGROUPS is not set
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_IPC_NS is not set
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_HAVE_UID16=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
# CONFIG_EMBEDDED is not set
#
# Kernel Performance Events And Counters
#
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_COMPAT_BRK=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_PROFILING is not set
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_MODULES_USE_ELF_REL=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_OLD_SIGACTION=y
#
# GCOV-based kernel profiling
#
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
# CONFIG_MODULES is not set
CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_BSGLIB is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
# CONFIG_BLK_CMDLINE_PARSER is not set
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_AIX_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
CONFIG_AMIGA_PARTITION=y
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
# CONFIG_MSDOS_PARTITION is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
# CONFIG_SYSV68_PARTITION is not set
# CONFIG_CMDLINE_PARTITION is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
CONFIG_INLINE_READ_UNLOCK=y
CONFIG_INLINE_READ_UNLOCK_IRQ=y
CONFIG_INLINE_WRITE_UNLOCK=y
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_FREEZER is not set
CONFIG_MMU=y
CONFIG_MMU_MOTOROLA=y
#
# Platform setup
#
#
# Processor Type
#
CONFIG_M68KCLASSIC=y
# CONFIG_COLDFIRE is not set
# CONFIG_M68020 is not set
# CONFIG_M68030 is not set
CONFIG_M68040=y
# CONFIG_M68060 is not set
#
# Processor Specific Options
#
# CONFIG_M68KFPU_EMU is not set
CONFIG_ADVANCED=y
CONFIG_RMW_INSNS=y
CONFIG_SINGLE_MEMORY_CHUNK=y
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
CONFIG_CPU_HAS_ADDRESS_SPACES=y
CONFIG_FPU=y
#
# Machine Types
#
CONFIG_AMIGA=y
# CONFIG_ATARI is not set
# CONFIG_MAC is not set
# CONFIG_APOLLO is not set
# CONFIG_VME is not set
# CONFIG_HP300 is not set
# CONFIG_SUN3X is not set
# CONFIG_Q40 is not set
#
# Bus Support
#
CONFIG_ZORRO=y
# CONFIG_AMIGA_PCMCIA is not set
# CONFIG_GENERIC_ISA_DMA is not set
# CONFIG_ZORRO_NAMES is not set
#
# Kernel Features
#
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_NEED_MULTIPLE_NODES=y
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_COMPACTION is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_NEED_PER_CPU_KM=y
# CONFIG_CLEANCACHE is not set
# CONFIG_FRONTSWAP is not set
# CONFIG_ZBUD is not set
#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_BINFMT_SCRIPT=y
CONFIG_HAVE_AOUT=y
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
CONFIG_COREDUMP=y
# CONFIG_NET is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_DEVTMPFS is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_FW_LOADER_USER_HELPER is not set
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_GENERIC_CPU_DEVICES=y
# CONFIG_DMA_SHARED_BUFFER is not set
#
# Bus devices
#
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_AMIGA_FLOPPY is not set
# CONFIG_AMIGA_Z2RAM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set
#
# DRBD disabled because PROC_FS or INET not selected
#
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_BLK_DEV_HD is not set
#
# Misc devices
#
# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_ATMEL_SSC is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_SRAM is not set
# CONFIG_C2PORT is not set
#
# EEPROM support
#
# CONFIG_EEPROM_93CX6 is not set
#
# Texas Instruments shared transport line discipline
#
#
# Altera FPGA firmware download module
#
CONFIG_HAVE_IDE=y
CONFIG_IDE=y
#
# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_IDE_GD=y
CONFIG_IDE_GD_ATA=y
# CONFIG_IDE_GD_ATAPI is not set
# CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_PROC_FS=y
#
# IDE chipset support/bugfixes
#
# CONFIG_BLK_DEV_PLATFORM is not set
CONFIG_BLK_DEV_GAYLE=y
# CONFIG_BLK_DEV_BUDDHA is not set
# CONFIG_BLK_DEV_IDEDMA is not set
#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
# CONFIG_SCSI is not set
# CONFIG_SCSI_DMA is not set
# CONFIG_SCSI_NETLINK is not set
# CONFIG_MD is not set
#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_POLLDEV is not set
# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_MATRIXKMAP is not set
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=400
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_AMIGA=y
# CONFIG_KEYBOARD_ATKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#
# CONFIG_SERIO is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
# CONFIG_LEGACY_PTYS is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_TRACE_SINK is not set
# CONFIG_DEVKMEM is not set
#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_ST_ASC is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_R3964 is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_I2C is not set
# CONFIG_SPI is not set
# CONFIG_HSI is not set
#
# PPS support
#
# CONFIG_PPS is not set
#
# PPS generators support
#
#
# PTP clock support
#
# CONFIG_PTP_1588_CLOCK is not set
#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_GPIO_DEVRES=y
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
# CONFIG_POWER_AVS is not set
# CONFIG_HWMON is not set
# CONFIG_THERMAL is not set
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y
#
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set
#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_CROS_EC is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TI_AM335X_TSCADC is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#
# CONFIG_DRM is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
# CONFIG_FB_CFB_FILLRECT is not set
# CONFIG_FB_CFB_COPYAREA is not set
# CONFIG_FB_CFB_IMAGEBLIT is not set
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set
#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
CONFIG_FB_AMIGA=y
# CONFIG_FB_AMIGA_OCS is not set
# CONFIG_FB_AMIGA_ECS is not set
CONFIG_FB_AMIGA_AGA=y
# CONFIG_FB_FM2 is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_AUO_K190X is not set
# CONFIG_FB_SIMPLE is not set
# CONFIG_EXYNOS_VIDEO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Console display driver support
#
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_LOGO is not set
# CONFIG_SOUND is not set
#
# HID support
#
# CONFIG_HID is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set
#
# SPI RTC drivers
#
#
# Platform RTC drivers
#
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set
# CONFIG_RTC_DRV_DS2404 is not set
#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_GENERIC is not set
# CONFIG_RTC_DRV_MOXART is not set
#
# HID Sensor RTC drivers
#
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
# CONFIG_VIRT_DRIVERS is not set
#
# Virtio drivers
#
# CONFIG_VIRTIO_MMIO is not set
#
# Microsoft Hyper-V guest support
#
# CONFIG_STAGING is not set
#
# Hardware Spinlock drivers
#
# CONFIG_MAILBOX is not set
# CONFIG_IOMMU_SUPPORT is not set
#
# Remoteproc drivers
#
# CONFIG_STE_MODEM_RPROC is not set
#
# Rpmsg drivers
#
# CONFIG_PM_DEVFREQ is not set
# CONFIG_EXTCON is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
# CONFIG_PWM is not set
# CONFIG_IPACK_BUS is not set
# CONFIG_RESET_CONTROLLER is not set
# CONFIG_FMC is not set
#
# Platform devices
#
CONFIG_HEARTBEAT=y
CONFIG_PROC_HARDWARE=y
#
# Character devices
#
CONFIG_AMIGA_BUILTIN_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
#
# File systems
#
# CONFIG_EXT2_FS is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set
# CONFIG_EXT4_FS is not set
CONFIG_JBD=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
# CONFIG_FS_POSIX_ACL is not set
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
#
# Caches
#
# CONFIG_FSCACHE is not set
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_LOGFS is not set
# CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_MINIX_FS_BIG_ENDIAN_16BIT_INDEXED is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_F2FS_FS is not set
# CONFIG_NLS is not set
#
# Kernel hacking
#
#
# printk and dmesg options
#
# CONFIG_PRINTK_TIME is not set
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
#
# Compile-time checks and compiler options
#
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_KERNEL is not set
#
# Memory Debugging
#
CONFIG_DEBUG_MEMORY_INIT=y
#
# Debug Lockups and Hangs
#
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_HAVE_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_BUGVERBOSE=y
#
# RCU Debugging
#
# CONFIG_SPARSE_RCU_POINTER is not set
#
# Runtime Testing
#
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_SAMPLES is not set
# CONFIG_BOOTPARAM is not set
#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
# CONFIG_CRYPTO is not set
# CONFIG_BINARY_PRINTF is not set
#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
# CONFIG_CRC8 is not set
# CONFIG_XZ_DEC is not set
# CONFIG_XZ_DEC_BCJ is not set
CONFIG_HAS_IOMEM=y
CONFIG_HAS_DMA=y
CONFIG_GENERIC_ATOMIC64=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
# CONFIG_AVERAGE is not set
# CONFIG_CORDIC is not set
# CONFIG_DDR is not set
CONFIG_FONT_SUPPORT=y
CONFIG_FONTS=y
# CONFIG_FONT_8x8 is not set
# CONFIG_FONT_8x16 is not set
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_7x14 is not set
CONFIG_FONT_PEARL_8x8=y
# CONFIG_FONT_ACORN_8x8 is not set
# CONFIG_FONT_MINI_4x6 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Kernel sections loosing attributes
2013-10-21 19:55 Kernel sections loosing attributes Geert Uytterhoeven
2013-10-21 20:41 ` Andreas Schwab
2013-10-21 22:01 ` Andreas Schwab
@ 2013-10-22 9:55 ` Geert Uytterhoeven
2013-10-22 19:08 ` Geert Uytterhoeven
3 siblings, 0 replies; 11+ messages in thread
From: Geert Uytterhoeven @ 2013-10-22 9:55 UTC (permalink / raw)
To: linux-m68k
On Mon, Oct 21, 2013 at 9:55 PM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> However, just disabling CONFIG_XZ_DEC on one of my defconfigs
> still gave a working kernel. So there must be a deeper issue.
Just disabling CONFIG_XZ_DEC is not enough as there's also
a MODULE_VERSION() in net/ipv4/tcp_cubic.c.
So you also have to disable CONFIG_TCP_CONG_CUBIC.
__start___modver and __stop___modver are equal, so the __modver
section has no entries, but it's size is non-zero:
4 __modver 000005a0 00185a60 00185a60 00185a60 2**0
ALLOC
BTW, so far it didn't crash on ARAnyM, but if there's memory corruption,
it still may go undetected depending on what is corrupted.
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
* Re: Kernel sections loosing attributes
2013-10-21 19:55 Kernel sections loosing attributes Geert Uytterhoeven
` (2 preceding siblings ...)
2013-10-22 9:55 ` Geert Uytterhoeven
@ 2013-10-22 19:08 ` Geert Uytterhoeven
2013-11-07 8:20 ` Michael Schmitz
3 siblings, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2013-10-22 19:08 UTC (permalink / raw)
To: linux-m68k
On Mon, Oct 21, 2013 at 9:55 PM, Geert Uytterhoeven
<geert@linux-m68k.org> 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@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
* Re: Kernel sections loosing attributes
2013-10-22 19:08 ` Geert Uytterhoeven
@ 2013-11-07 8:20 ` Michael Schmitz
2013-11-07 8:31 ` Geert Uytterhoeven
0 siblings, 1 reply; 11+ messages in thread
From: Michael Schmitz @ 2013-11-07 8:20 UTC (permalink / raw)
To: Geert Uytterhoeven; +Cc: linux-m68k
Hi Geert,
loosely related - when did vmlinux.lds last change? I have seen
messages to the effect that .init_end is not in a sectiion in my last
attempts to build 3.10 kernels (both for Atari and Amiga).
I had been using a patched version of vmlinux.lds to add extra explicit
alignment at the end to pad the last section out to a page boundary
(binutils 2.16 is even more horribly broken than 2.18 potentially is),
but changes to vmlinux.lds appear to have defeated that.
Now that you have got tglx' attention in regards to the interrupt
polling, I would certainly be willing to test his patch. 3.10 won't
boot - how far back do I have to go?
Cheers,
Michael
> On Mon, Oct 21, 2013 at 9:55 PM, Geert Uytterhoeven
> <geert@linux-m68k.org> 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@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
> --
> To unsubscribe from this list: send the line "unsubscribe linux-m68k"
> in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Kernel sections loosing attributes
2013-11-07 8:20 ` Michael Schmitz
@ 2013-11-07 8:31 ` Geert Uytterhoeven
2013-11-08 7:58 ` Michael Schmitz
0 siblings, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2013-11-07 8:31 UTC (permalink / raw)
To: Michael Schmitz; +Cc: linux-m68k
Hi Michael,
On Thu, Nov 7, 2013 at 9:20 AM, Michael Schmitz
<schmitz@biophys.uni-duesseldorf.de> wrote:
> loosely related - when did vmlinux.lds last change? I have seen messages to
17 months ago (the m68k part).
> the effect that .init_end is not in a sectiion in my last attempts to build
> 3.10 kernels (both for Atari and Amiga).
Strange. Can you send me kernel and .config by private email?
> I had been using a patched version of vmlinux.lds to add extra explicit
> alignment at the end to pad the last section out to a page boundary
> (binutils 2.16 is even more horribly broken than 2.18 potentially is), but
> changes to vmlinux.lds appear to have defeated that.
For cross-compiling, you can also try (ia32 version available as well):
https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.6.3/
These should work.
> Now that you have got tglx' attention in regards to the interrupt polling, I
> would certainly be willing to test his patch. 3.10 won't boot - how far back
> do I have to go?
Happily running 3.12 here.
atari_defconfig should be fine.
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
* Re: Kernel sections loosing attributes
2013-11-07 8:31 ` Geert Uytterhoeven
@ 2013-11-08 7:58 ` Michael Schmitz
0 siblings, 0 replies; 11+ messages in thread
From: Michael Schmitz @ 2013-11-08 7:58 UTC (permalink / raw)
To: Geert Uytterhoeven; +Cc: linux-m68k
Hi Geert,
>> loosely related - when did vmlinux.lds last change? I have seen
>> messages to
>
> 17 months ago (the m68k part).
>
>> the effect that .init_end is not in a sectiion in my last attempts to
>> build
>> 3.10 kernels (both for Atari and Amiga).
>
> Strange. Can you send me kernel and .config by private email?
Not so strange - I had dropped a patch fixing up end of kernel
alignment problems with old binutils (see PM). With that patch, it
boots fine.
>
>> I had been using a patched version of vmlinux.lds to add extra
>> explicit
>> alignment at the end to pad the last section out to a page boundary
>> (binutils 2.16 is even more horribly broken than 2.18 potentially
>> is), but
>> changes to vmlinux.lds appear to have defeated that.
>
> For cross-compiling, you can also try (ia32 version available as well):
> https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.6.3/
> These should work.
Thanks - these look precisely what I need.
>
>> Now that you have got tglx' attention in regards to the interrupt
>> polling, I
>> would certainly be willing to test his patch. 3.10 won't boot - how
>> far back
>> do I have to go?
>
> Happily running 3.12 here.
I'll stick to 3.10 for now - should be a simple matter of setting the
new flag and switching the handler now.
Cheers,
Michael
^ 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