Bug 11443 - section mismatch in mm/page_alloc.c vs mm/bootmem.c
Summary: section mismatch in mm/page_alloc.c vs mm/bootmem.c
Status: CLOSED CODE_FIX
Alias: None
Product: Memory Management
Classification: Unclassified
Component: Page Allocator (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Andrew Morton
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-27 19:01 UTC by Roger Blofeld
Modified: 2008-09-03 03:16 UTC (History)
0 users

See Also:
Kernel Version: 2.6.27-rc4
Subsystem:
Regression: ---
Bisected commit-id:


Attachments

Description Roger Blofeld 2008-08-27 19:01:31 UTC
Latest working kernel version: v2.6.26-6380-g8b05c7e
Earliest failing kernel version: v2.6.26-6381-gb61bfa3
Distribution: Fedora 9
Hardware Environment: powerpc
Software Environment: gcc 4.3.1-6
Problem Description:
WARNING: mm/built-in.o(.data+0x80c): Section mismatch in reference from the variable contig_page_data to the variable .init.data:bootmem_node_data
The variable contig_page_data references
the variable __initdata bootmem_node_data
If the reference is valid then annotate the
variable with __init* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, 


Steps to reproduce:
 make where CONFIG_NEED_MULTIPLE_NODES is not set


Commit b61bfa3c462671c48a51fb5c31af337c5a996a04 declared in mm/bootmem.c:

+bootmem_data_t bootmem_node_data[MAX_NUMNODES] __initdata;

and used in mm/page_alloc.c:

+struct pglist_data contig_page_data = { .bdata = &bootmem_node_data[0] };


Seems both or neither should be __initdata.
Comment 1 Andrew Morton 2008-08-27 19:10:30 UTC
-mm's mm-make-setup_zone_migrate_reserve-aware-of-overlapping-nodes.patch
shold fix this.  I'll merge it up tomorrowish.
Comment 2 Roger Blofeld 2008-08-27 19:47:33 UTC
(In reply to comment #1)

I think you mean mm-bootmem-silence-section-mismatch-warning-contig_page_data-bootmem_node_data.patch

I've applied it here and it silences the warning.

Thanks!

Note You need to log in before you can comment on or make changes to this bug.