warning: allocated section `.data_nosave'  not in segment
    Sean MacLennan 
    smaclennan at pikatech.com
       
    Tue Sep 29 01:53:16 EST 2009
    
    
  
I looked into it some more.... the patch converts this section:
        . = ALIGN(PAGE_SIZE);
        .data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) {
               __nosave_begin = .;
               *(.data.nosave)
               . = ALIGN(PAGE_SIZE);
               __nosave_end = .;
        }
to:
	.data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) {
		NOSAVE_DATA
	}
If you expand the NOSAVE_DATA macro, you get:
	.data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) {
		. = ALIGN(PAGE_SIZE);
		VMLINUX_SYMBOL(__nosave_begin) = .;
		*(.data.nosave)
		. = ALIGN(PAGE_SIZE);
		VMLINUX_SYMBOL(__nosave_end) = .;
	}
If you ignore the VMLINUX_SYMBOL, the only difference is moving the
ALIGN inside the brackets. If I move the ALIGN back where it was, then
the warning goes away.
But other sections moved the ALIGN without an issue. Could it be a
compiler problem? We are using  version 4.0.0 (DENX ELDK 4.1 4.0.0).
Cheers,
   Sean
    
    
More information about the Linuxppc-dev
mailing list