source: rtems/c/src/lib/libbsp/i386/pc386/startup/linkcmds @ 85c92574

4.104.114.84.95
Last change on this file since 85c92574 was 85c92574, checked in by Joel Sherrill <joel.sherrill@…>, on 05/09/02 at 21:37:30

2001-05-09 Joel Sherrill <joel@…>

  • startup/linkcmds: In support of gcc 3.1, added one of more of the sections .jcr, .rodata*, .data.*, .gnu.linkonce.s2.*, .gnu.linkonce.sb2.*, and .gnu.linkonce.s.*. Spacing corrections and direction of segments to memory regions may also have been addressed. This was a sweep across all BSPs.
  • Property mode set to 100644
File size: 3.7 KB
Line 
1/*-------------------------------------------------------------------------+
2| linkcmds v1.1 - PC386 BSP - 1997/08/07
3+--------------------------------------------------------------------------+
4| This file contains directives for the GNU linker which are specific to the
5| PC386 bsp.
6+--------------------------------------------------------------------------+
7| (C) Copyright 1997 -
8| - NavIST Group - Real-Time Distributed Systems and Industrial Automation
9|
10| http://pandora.ist.utl.pt
11|
12| Instituto Superior Tecnico * Lisboa * PORTUGAL
13+--------------------------------------------------------------------------+
14| Disclaimer:
15|
16| This file is provided "AS IS" without warranty of any kind, either
17| expressed or implied.
18+--------------------------------------------------------------------------+
19| This code is based on:
20|   linkcmds,v 1.3 1995/12/19 20:06:58 joel Exp - FORCE CPU386 BSP
21| With the following copyright notice:
22| **************************************************************************
23| *  COPYRIGHT (c) 1989-1999.
24| *  On-Line Applications Research Corporation (OAR).
25| *
26| *  The license and distribution terms for this file may be
27| *  found in found in the file LICENSE in this distribution or at
28| *  http://www.OARcorp.com/rtems/license.html.
29| **************************************************************************
30|
31|  $Id$
32+--------------------------------------------------------------------------*/
33
34
35SECTIONS
36{
37/*  .m_hdr : 
38  {
39    . = ALIGN(4);
40    *(.m_hdr)
41  }
42*/
43  .text :
44  {
45    _text_start = . ;
46    . = ALIGN(4);
47    *(.m_hdr)
48    *(.text)
49    . = ALIGN (16);
50
51    *(.eh_frame)
52    . = ALIGN (16);
53
54    *(.gnu.linkonce.t*)
55
56    /*
57     * C++ constructors
58     */
59    __CTOR_LIST__ = .;
60    LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
61    *(.ctors)
62    LONG(0)
63    __CTOR_END__ = .;
64    __DTOR_LIST__ = .;
65    LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
66    *(.dtors)
67    LONG(0)
68    __DTOR_END__ = .;
69
70    _rodata_start = . ;
71    *(.rodata*)
72    *(.gnu.linkonce.r*)
73    _erodata = ALIGN( 0x10 ) ;
74
75    _etext = ALIGN( 0x10 ) ;
76  }
77
78  .init : { *(.init) } = 0x9090
79  .fini : { *(.fini) } = 0x9090
80  .data ADDR( .fini ) + SIZEOF( .fini ):
81  {
82    _data_start = . ;
83    *(.data)
84    *(.gnu.linkonce.d*)
85    *(.gcc_except_table)
86    _edata = ALIGN( 0x10 ) ;
87  }
88
89  .bss ADDR( .data ) + SIZEOF( .data ):
90  {
91    _bss_start = . ;
92    *(.bss)
93    *(COMMON)
94    _end = . ;
95    __end = . ;
96  }
97
98  /* Stabs debugging sections.  */
99  .stab 0 : { *(.stab) }
100  .stabstr 0 : { *(.stabstr) }
101  .stab.excl 0 : { *(.stab.excl) }
102  .stab.exclstr 0 : { *(.stab.exclstr) }
103  .stab.index 0 : { *(.stab.index) }
104  .stab.indexstr 0 : { *(.stab.indexstr) }
105  .comment 0 : { *(.comment) }
106 
107  /* DWARF debug sections.
108     Symbols in the DWARF debugging sections are relative to the beginning
109     of the section so we begin them at 0.  */
110  /* DWARF 1 */
111  .debug          0 : { *(.debug) }
112  .line           0 : { *(.line) }
113 
114  /* GNU DWARF 1 extensions */
115  .debug_srcinfo  0 : { *(.debug_srcinfo) }
116  .debug_sfnames  0 : { *(.debug_sfnames) }
117 
118  /* DWARF 1.1 and DWARF 2 */
119  .debug_aranges  0 : { *(.debug_aranges) }
120  .debug_pubnames 0 : { *(.debug_pubnames) }
121 
122  /* DWARF 2 */
123  .debug_info     0 : { *(.debug_info) }
124  .debug_abbrev   0 : { *(.debug_abbrev) }
125  .debug_line     0 : { *(.debug_line) }
126  .debug_frame    0 : { *(.debug_frame) }
127  .debug_str      0 : { *(.debug_str) }
128  .debug_loc      0 : { *(.debug_loc) }
129  .debug_macinfo  0 : { *(.debug_macinfo) }
130 
131  /* SGI/MIPS DWARF 2 extensions */
132  .debug_weaknames 0 : { *(.debug_weaknames) }
133  .debug_funcnames 0 : { *(.debug_funcnames) }
134  .debug_typenames 0 : { *(.debug_typenames) }
135  .debug_varnames  0 : { *(.debug_varnames) }
136  /* These must appear regardless of  .  */
137}
138
Note: See TracBrowser for help on using the repository browser.