2005-04-16 15:20:36 -07:00
# include < a s m - g e n e r i c / v m l i n u x . l d s . h >
OUTPUT_ A R C H ( p o w e r p c : c o m m o n )
jiffies = j i f f i e s _ 6 4 + 4 ;
SECTIONS
{
/* Read-only sections, merged into text segment: */
. = + SIZEOF_ H E A D E R S ;
.interp : { * ( .interp ) }
.hash : { * ( .hash ) }
.dynsym : { * ( .dynsym ) }
.dynstr : { * ( .dynstr ) }
.rel .text : { * ( .rel .text ) }
.rela .text : { * ( .rela .text ) }
.rel .data : { * ( .rel .data ) }
.rela .data : { * ( .rela .data ) }
.rel .rodata : { * ( .rel .rodata ) }
.rela .rodata : { * ( .rela .rodata ) }
.rel .got : { * ( .rel .got ) }
.rela .got : { * ( .rela .got ) }
.rel .ctors : { * ( .rel .ctors ) }
.rela .ctors : { * ( .rela .ctors ) }
.rel .dtors : { * ( .rel .dtors ) }
.rela .dtors : { * ( .rela .dtors ) }
.rel .bss : { * ( .rel .bss ) }
.rela .bss : { * ( .rela .bss ) }
.rel .plt : { * ( .rel .plt ) }
.rela .plt : { * ( .rela .plt ) }
/* .init : { *(.init) } =0*/
.plt : { * ( .plt ) }
.text :
{
* ( .text )
SCHED_ T E X T
LOCK_ T E X T
* ( .fixup )
* ( .got1 )
_ _ got2 _ s t a r t = . ;
* ( .got2 )
_ _ got2 _ e n d = . ;
}
_ etext = . ;
PROVIDE ( e t e x t = . ) ;
RODATA
.fini : { * ( .fini ) } = 0
.ctors : { * ( .ctors ) }
.dtors : { * ( .dtors ) }
.fixup : { * ( .fixup ) }
_ _ ex_ t a b l e : {
_ _ start_ _ _ e x _ t a b l e = . ;
* ( _ _ ex_ t a b l e )
_ _ stop_ _ _ e x _ t a b l e = . ;
}
_ _ bug_ t a b l e : {
_ _ start_ _ _ b u g _ t a b l e = . ;
* ( _ _ bug_ t a b l e )
_ _ stop_ _ _ b u g _ t a b l e = . ;
}
/* Read-write section, merged into data segment: */
. = ALIGN( 4 0 9 6 ) ;
.data :
{
* ( .data )
* ( .data1 )
* ( .sdata )
* ( .sdata2 )
* ( .got .plt ) * ( .got )
* ( .dynamic )
CONSTRUCTORS
}
. = ALIGN( 4 0 9 6 ) ;
_ _ nosave_ b e g i n = . ;
.data_nosave : { * ( .data .nosave ) }
. = ALIGN( 4 0 9 6 ) ;
_ _ nosave_ e n d = . ;
. = ALIGN( 3 2 ) ;
.data .cacheline_aligned : { * ( .data .cacheline_aligned ) }
_ edata = . ;
PROVIDE ( e d a t a = . ) ;
. = ALIGN( 8 1 9 2 ) ;
.data .init_task : { * ( .data .init_task ) }
. = ALIGN( 4 0 9 6 ) ;
_ _ init_ b e g i n = . ;
.init .text : {
_ sinittext = . ;
* ( .init .text )
_ einittext = . ;
}
2005-09-13 01:25:09 -07:00
/ * .exit .text is discarded a t r u n t i m e , n o t l i n k t i m e ,
to d e a l w i t h r e f e r e n c e s f r o m _ _ b u g _ t a b l e * /
.exit .text : { * ( .exit .text ) }
2005-04-16 15:20:36 -07:00
.init .data : {
* ( .init .data ) ;
_ _ vtop_ t a b l e _ b e g i n = . ;
* ( .vtop_fixup ) ;
_ _ vtop_ t a b l e _ e n d = . ;
_ _ ptov_ t a b l e _ b e g i n = . ;
* ( .ptov_fixup ) ;
_ _ ptov_ t a b l e _ e n d = . ;
}
. = ALIGN( 1 6 ) ;
_ _ setup_ s t a r t = . ;
.init .setup : { * ( .init .setup ) }
_ _ setup_ e n d = . ;
_ _ initcall_ s t a r t = . ;
.initcall .init : {
* ( .initcall1 .init )
* ( .initcall2 .init )
* ( .initcall3 .init )
* ( .initcall4 .init )
* ( .initcall5 .init )
* ( .initcall6 .init )
* ( .initcall7 .init )
}
_ _ initcall_ e n d = . ;
_ _ con_ i n i t c a l l _ s t a r t = . ;
.con_initcall .init : { * ( .con_initcall .init ) }
_ _ con_ i n i t c a l l _ e n d = . ;
SECURITY_ I N I T
_ _ start_ _ _ f t r _ f i x u p = . ;
_ _ ftr_ f i x u p : { * ( _ _ f t r _ f i x u p ) }
_ _ stop_ _ _ f t r _ f i x u p = . ;
. = ALIGN( 3 2 ) ;
_ _ per_ c p u _ s t a r t = . ;
.data .percpu : { * ( .data .percpu ) }
_ _ per_ c p u _ e n d = . ;
. = ALIGN( 4 0 9 6 ) ;
_ _ initramfs_ s t a r t = . ;
.init .ramfs : { * ( .init .ramfs ) }
_ _ initramfs_ e n d = . ;
. = ALIGN( 4 0 9 6 ) ;
_ _ init_ e n d = . ;
. = ALIGN( 4 0 9 6 ) ;
2005-05-05 16:15:09 -07:00
_ sextratext = . ;
_ eextratext = . ;
2005-04-16 15:20:36 -07:00
_ _ bss_ s t a r t = . ;
.bss :
{
* ( .sbss ) * ( .scommon )
* ( .dynbss )
* ( .bss )
* ( COMMON)
}
_ _ bss_ s t o p = . ;
_ end = . ;
PROVIDE ( e n d = . ) ;
/* Sections to be discarded. */
/ DISCARD/ : {
* ( .exitcall .exit )
2005-09-13 01:25:09 -07:00
* ( .exit .data )
2005-04-16 15:20:36 -07:00
}
}