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

4.104.114.84.95
Last change on this file since d1d47664 was d1d47664, checked in by Joel Sherrill <joel.sherrill@…>, on 09/30/98 at 17:17:23

Patch from Ian Lance Taylor <ian@…>:

The pc386 linker scripts omits .gnu.linkonce.r* sections. It's not a
big deal, but they should be treated like .rodata sections. ELF
versions of g++ generate them for static constants defined in template
classes, such as string::npos.

  • Property mode set to 100644
File size: 2.3 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-1998.
24| *  On-Line Applications Research Corporation (OAR).
25| *  Copyright assigned to U.S. Government, 1994.
26| *
27| *  The license and distribution terms for this file may be
28| *  found in found in the file LICENSE in this distribution or at
29| *  http://www.OARcorp.com/rtems/license.html.
30| **************************************************************************
31|
32|  $Id$
33+--------------------------------------------------------------------------*/
34
35
36SECTIONS
37{
38  .text :
39  {
40    _text_start = . ;
41    *(.text)
42    . = ALIGN (16);
43
44    *(.eh_frame)
45    . = ALIGN (16);
46
47    *(.gnu.linkonce.t*)
48
49    /*
50     * C++ constructors
51     */
52    __CTOR_LIST__ = .;
53    LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
54    *(.ctors)
55    LONG(0)
56    __CTOR_END__ = .;
57    __DTOR_LIST__ = .;
58    LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
59    *(.dtors)
60    LONG(0)
61    __DTOR_END__ = .;
62
63    _rodata_start = . ;
64    *(.rodata)
65    *(.gnu.linkonce.r*)
66    _erodata = ALIGN( 0x10 ) ;
67
68    _etext = ALIGN( 0x10 ) ;
69  }
70  .data ADDR( .text ) + SIZEOF( .text ):
71  {
72    _data_start = . ;
73    *(.data)
74    *(.gnu.linkonce.d*)
75    *(.gcc_except_table)
76    _edata = ALIGN( 0x10 ) ;
77  }
78
79  .bss ADDR( .data ) + SIZEOF( .data ):
80  {
81    _bss_start = . ;
82    *(.bss)
83    *(COMMON)
84    _end = . ;
85    __end = . ;
86  }
87}
Note: See TracBrowser for help on using the repository browser.