2005-04-17 02:20:36 +04:00
# include < a s m - g e n e r i c / v m l i n u x . l d s . h >
OUTPUT_ F O R M A T ( E L F _ F O R M A T )
OUTPUT_ A R C H ( E L F _ A R C H )
ENTRY( _ s t a r t )
jiffies = j i f f i e s _ 6 4 ;
SECTIONS
{
/*This must contain the right address - not quite the default ELF one.*/
PROVIDE ( _ _ e x e c u t a b l e _ s t a r t = S T A R T ) ;
. = START + S I Z E O F _ H E A D E R S ;
/ * Used i n a r c h / u m / k e r n e l / m e m . c . A n y m e m o r y b e t w e e n S T A R T a n d _ _ b i n a r y _ s t a r t
* is r e m a p p e d . * /
_ _ binary_ s t a r t = . ;
2005-06-22 04:16:25 +04:00
# ifdef M O D E _ T T
.remap_data : { arch/ u m / s y s - S U B A R C H / u n m a p _ f i n . o ( . d a t a . b s s ) }
.remap : { arch/ u m / s y s - S U B A R C H / u n m a p _ f i n . o ( . t e x t ) }
2005-04-17 02:20:36 +04:00
. = ALIGN( 4 0 9 6 ) ; /* Init code and data */
# endif
_ stext = . ;
_ _ init_ b e g i n = . ;
.init .text : {
_ sinittext = . ;
* ( .init .text )
_ einittext = . ;
}
. = ALIGN( 4 0 9 6 ) ;
.text :
{
* ( .text )
SCHED_ T E X T
LOCK_ T E X T
* ( .fixup )
/* .gnu.warning sections are handled specially by elf32.em. */
* ( .gnu .warning )
* ( .gnu .linkonce .t * )
}
# include " a s m / c o m m o n . l d s . S "
init. d a t a : { * ( i n i t . d a t a ) }
.data :
{
. = ALIGN( K E R N E L _ S T A C K _ S I Z E ) ; /* init_task */
* ( .data .init_task )
* ( .data )
* ( .gnu .linkonce .d * )
CONSTRUCTORS
}
.data1 : { * ( .data1 ) }
.ctors :
{
* ( .ctors )
}
.dtors :
{
* ( .dtors )
}
.got : { * ( .got .plt ) * ( .got ) }
.dynamic : { * ( .dynamic ) }
2005-05-21 00:59:07 +04:00
.tdata : { * ( .tdata .tdata . * .gnu .linkonce .td . * ) }
.tbss : { * ( .tbss .tbss . * .gnu .linkonce .tb . * ) * ( .tcommon ) }
2005-04-17 02:20:36 +04:00
/ * We w a n t t h e s m a l l d a t a s e c t i o n s t o g e t h e r , s o s i n g l e - i n s t r u c t i o n o f f s e t s
can a c c e s s t h e m a l l , a n d i n i t i a l i z e d d a t a a l l b e f o r e u n i n i t i a l i z e d , s o
we c a n s h o r t e n t h e o n - d i s k s e g m e n t s i z e . * /
.sdata : { * ( .sdata ) }
_ edata = . ;
PROVIDE ( e d a t a = . ) ;
. = ALIGN( 0 x10 0 0 ) ;
.sbss :
{
_ _ bss_ s t a r t = . ;
PROVIDE( _ b s s _ s t a r t = . ) ;
* ( .sbss )
* ( .scommon )
}
.bss :
{
* ( .dynbss )
* ( .bss )
* ( COMMON)
}
_ end = . ;
PROVIDE ( e n d = . ) ;
/* Stabs debugging sections. */
.stab 0 : { * ( .stab ) }
.stabstr 0 : { * ( .stabstr ) }
.stab .excl 0 : { * ( .stab .excl ) }
.stab .exclstr 0 : { * ( .stab .exclstr ) }
.stab .index 0 : { * ( .stab .index ) }
.stab .indexstr 0 : { * ( .stab .indexstr ) }
.comment 0 : { * ( .comment ) }
}