@ -64,14 +64,7 @@ SECTIONS
NOTES : c o d e : n o t e / * p u t . n o t e s i n t e x t a n d m a r k i n P T _ N O T E * /
code_ c o n t i n u e s : { } : c o d e / * s w i t c h b a c k t o r e g u l a r p r o g r a m . . . * /
/* Exception table */
. = ALIGN( 1 6 ) ;
_ _ ex_ t a b l e : A T ( A D D R ( _ _ e x _ t a b l e ) - L O A D _ O F F S E T )
{
_ _ start_ _ _ e x _ t a b l e = . ;
* ( _ _ ex_ t a b l e )
_ _ stop_ _ _ e x _ t a b l e = . ;
}
EXCEPTION_ T A B L E ( 1 6 )
/* MCA table */
. = ALIGN( 1 6 ) ;
@ -113,38 +106,9 @@ SECTIONS
. = ALIGN( P A G E _ S I Z E ) ;
_ _ init_ b e g i n = . ;
.init .text : AT( A D D R ( . i n i t . t e x t ) - L O A D _ O F F S E T )
{
_ sinittext = . ;
INIT_ T E X T
_ einittext = . ;
}
.init .data : AT( A D D R ( . i n i t . d a t a ) - L O A D _ O F F S E T )
{ INIT_ D A T A }
# ifdef C O N F I G _ B L K _ D E V _ I N I T R D
.init .ramfs : AT( A D D R ( . i n i t . r a m f s ) - L O A D _ O F F S E T )
{
_ _ initramfs_ s t a r t = . ;
* ( .init .ramfs )
_ _ initramfs_ e n d = . ;
}
# endif
. = ALIGN( 1 6 ) ;
.init .setup : AT( A D D R ( . i n i t . s e t u p ) - L O A D _ O F F S E T )
{
_ _ setup_ s t a r t = . ;
* ( .init .setup )
_ _ setup_ e n d = . ;
}
.initcall .init : AT( A D D R ( . i n i t c a l l . i n i t ) - L O A D _ O F F S E T )
{
_ _ initcall_ s t a r t = . ;
INITCALLS
_ _ initcall_ e n d = . ;
}
INIT_ T E X T _ S E C T I O N ( P A G E _ S I Z E )
INIT_ D A T A _ S E C T I O N ( 1 6 )
.data .patch .vtop : AT( A D D R ( . d a t a . p a t c h . v t o p ) - L O A D _ O F F S E T )
{
@ -202,22 +166,9 @@ SECTIONS
}
# endif
. = ALIGN( 8 ) ;
_ _ con_ i n i t c a l l _ s t a r t = . ;
.con_initcall .init : AT( A D D R ( . c o n _ i n i t c a l l . i n i t ) - L O A D _ O F F S E T )
{ * ( .con_initcall .init ) }
_ _ con_ i n i t c a l l _ e n d = . ;
_ _ security_ i n i t c a l l _ s t a r t = . ;
.security_initcall .init : AT( A D D R ( . s e c u r i t y _ i n i t c a l l . i n i t ) - L O A D _ O F F S E T )
{ * ( .security_initcall .init ) }
_ _ security_ i n i t c a l l _ e n d = . ;
. = ALIGN( P A G E _ S I Z E ) ;
_ _ init_ e n d = . ;
/* The initial task and kernel stack */
.data .init_task : AT( A D D R ( . d a t a . i n i t _ t a s k ) - L O A D _ O F F S E T )
{ * ( .data .init_task ) }
.data .page_aligned : AT( A D D R ( . d a t a . p a g e _ a l i g n e d ) - L O A D _ O F F S E T )
{
PAGE_ A L I G N E D _ D A T A ( P A G E _ S I Z E )
@ -236,12 +187,6 @@ SECTIONS
* kernel d a t a
* /
.data .read_mostly : AT( A D D R ( . d a t a . r e a d _ m o s t l y ) - L O A D _ O F F S E T )
{ * ( .data .read_mostly ) }
.data .cacheline_aligned : AT( A D D R ( . d a t a . c a c h e l i n e _ a l i g n e d ) - L O A D _ O F F S E T )
{ * ( .data .cacheline_aligned ) }
/* Per-cpu data: */
. = ALIGN( P E R C P U _ P A G E _ S I Z E ) ;
PERCPU_ V A D D R ( P E R C P U _ A D D R , : p e r c p u )
@ -258,6 +203,9 @@ SECTIONS
_ _ cpu0 _ p e r _ c p u = . ;
. = . + PERCPU_ P A G E _ S I Z E ; /* cpu0 per-cpu space */
# endif
INIT_ T A S K _ D A T A ( P A G E _ S I Z E )
CACHELINE_ A L I G N E D _ D A T A ( S M P _ C A C H E _ B Y T E S )
READ_ M O S T L Y _ D A T A ( S M P _ C A C H E _ B Y T E S )
DATA_ D A T A
* ( .data1 )
* ( .gnu .linkonce .d * )
@ -274,49 +222,14 @@ SECTIONS
.sdata : AT( A D D R ( . s d a t a ) - L O A D _ O F F S E T )
{ * ( .sdata ) * ( .sdata1 ) * ( .srdata ) }
_ edata = . ;
_ _ bss_ s t a r t = . ;
.sbss : AT( A D D R ( . s b s s ) - L O A D _ O F F S E T )
{ * ( .sbss ) * ( .scommon ) }
.bss : AT( A D D R ( . b s s ) - L O A D _ O F F S E T )
{ * ( .bss ) * ( COMMON) }
_ _ bss_ s t o p = . ;
BSS_ S E C T I O N ( 0 , 0 , 0 )
_ end = . ;
code : { } : c o d e
/* 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 ) }
/ * DWARF d e b u g s e c t i o n s .
Symbols i n t h e D W A R F d e b u g g i n g s e c t i o n s a r e r e l a t i v e t o t h e b e g i n n i n g
of t h e s e c t i o n s o w e b e g i n t h e m a t 0 . * /
/* DWARF 1 */
.debug 0 : { * ( .debug ) }
.line 0 : { * ( .line ) }
/* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { * ( .debug_srcinfo ) }
.debug_sfnames 0 : { * ( .debug_sfnames ) }
/* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { * ( .debug_aranges ) }
.debug_pubnames 0 : { * ( .debug_pubnames ) }
/* DWARF 2 */
.debug_info 0 : { * ( .debug_info ) }
.debug_abbrev 0 : { * ( .debug_abbrev ) }
.debug_line 0 : { * ( .debug_line ) }
.debug_frame 0 : { * ( .debug_frame ) }
.debug_str 0 : { * ( .debug_str ) }
.debug_loc 0 : { * ( .debug_loc ) }
.debug_macinfo 0 : { * ( .debug_macinfo ) }
/* SGI/MIPS DWARF 2 extensions */
.debug_weaknames 0 : { * ( .debug_weaknames ) }
.debug_funcnames 0 : { * ( .debug_funcnames ) }
.debug_typenames 0 : { * ( .debug_typenames ) }
.debug_varnames 0 : { * ( .debug_varnames ) }
/* These must appear regardless of . */
/ DISCARD/ : { * ( . c o m m e n t ) }
STABS_ D E B U G
DWARF_ D E B U G
/ DISCARD/ : { * ( . n o t e ) }
}