1*8d67ca89SAndroid Build Coastguard WorkerSECTIONS { 2*8d67ca89SAndroid Build Coastguard Worker # This starts off fairly normal: rodata, text, dynamic, data, bss with 3*8d67ca89SAndroid Build Coastguard Worker # appropriate alignment between them. 4*8d67ca89SAndroid Build Coastguard Worker . = SIZEOF_HEADERS; 5*8d67ca89SAndroid Build Coastguard Worker .rodata : {*(.rodata .rodata.*)} 6*8d67ca89SAndroid Build Coastguard Worker . = ALIGN(CONSTANT (MAXPAGESIZE)); 7*8d67ca89SAndroid Build Coastguard Worker .text : {*(.text .text.*)} 8*8d67ca89SAndroid Build Coastguard Worker . = ALIGN(CONSTANT (MAXPAGESIZE)); 9*8d67ca89SAndroid Build Coastguard Worker .dynamic : {*(.dynamic)} 10*8d67ca89SAndroid Build Coastguard Worker . = ALIGN(CONSTANT (MAXPAGESIZE)); 11*8d67ca89SAndroid Build Coastguard Worker .data : {*(.data .data.*)} 12*8d67ca89SAndroid Build Coastguard Worker .bss : {*(.bss .bss.*)} 13*8d67ca89SAndroid Build Coastguard Worker 14*8d67ca89SAndroid Build Coastguard Worker # Now create the gap. We need a text segment first to prevent the linker from 15*8d67ca89SAndroid Build Coastguard Worker # merging .bss with .custom_bss. 16*8d67ca89SAndroid Build Coastguard Worker . = ALIGN(CONSTANT (MAXPAGESIZE)); 17*8d67ca89SAndroid Build Coastguard Worker .custom_text : { 18*8d67ca89SAndroid Build Coastguard Worker *(.custom_text); 19*8d67ca89SAndroid Build Coastguard Worker } 20*8d67ca89SAndroid Build Coastguard Worker 21*8d67ca89SAndroid Build Coastguard Worker # Place custom_bss at the end of the gap. 22*8d67ca89SAndroid Build Coastguard Worker . = 0x1000000; 23*8d67ca89SAndroid Build Coastguard Worker .custom_bss : { 24*8d67ca89SAndroid Build Coastguard Worker *(.custom_bss); 25*8d67ca89SAndroid Build Coastguard Worker } 26*8d67ca89SAndroid Build Coastguard Worker} 27