source: rtems/c/src/lib/libbsp/mips64orion/p4000/startup/linkcmds @ 5b4fc84

4.104.114.84.95
Last change on this file since 5b4fc84 was 9c1133e, checked in by Joel Sherrill <joel.sherrill@…>, on 01/20/03 at 19:57:14

mkChangeLogList [-n]

  • Property mode set to 100644
File size: 2.8 KB
Line 
1/*
2 *   $Id$
3 */
4
5OUTPUT_FORMAT("elf32-bigmips")
6OUTPUT_ARCH(mips)
7/* Do we need any of these for elf?
8   __DYNAMIC = 0;    */
9_DYNAMIC_LINK = 0;
10
11SECTIONS
12{
13  /* Read-only sections, merged into text segment: */
14  .text 0x80030000  :                           /* */
15/*  .text 0xa0020000  :                         /* */
16/*  .text 0x00020000  :                         /* */
17  {
18    _ftext = . ;
19    *(.init)
20    eprol = .;
21    *(.text)
22    *(.text.*)
23
24    /*
25     * Special FreeBSD sysctl sections.
26     */
27    . = ALIGN (16);
28    __start_set_sysctl_set = .;
29    *(set_sysctl_*);
30    __stop_set_sysctl_set = ABSOLUTE(.);
31    *(set_domain_*);
32    *(set_pseudo_*);
33
34    *(.gnu.linkonce.t*)
35    *(.mips16.fn.*)
36    *(.mips16.call.*)
37    PROVIDE (__runtime_reloc_start = .);
38    *(.rel.sdata)
39    PROVIDE (__runtime_reloc_stop = .);
40    *(.fini)
41    /* CREATE_OBJECT_SYMBOLS */
42    etext  =  .;
43    _etext  =  .;
44  }
45  .ctors         :
46  {
47    ___ctors = .;
48/*
49 *  This version is preferable but requires a very late
50 *  model binutils (post 2.9.1).
51    KEEP(*crtbegin.o(.ctors));
52    KEEP(*(SORT(.ctors.*)));
53    KEEP(*(.ctors));
54*/
55    *crtbegin.o(.ctors);
56    *(.ctors.*);
57    *(.ctors);
58    ___ctors_end = .;
59  }
60  .dtors         :
61  {
62    ___dtors = .;
63/*
64 *  This version is preferable but requires a very late
65 *  model binutils (post 2.9.1).
66    KEEP(*crtbegin.o(.dtors));
67    KEEP(*(SORT(.dtors.*)));
68    KEEP(*(.dtors));
69*/
70    *crtbegin.o(.dtors);
71    *(.dtors.*);
72    *(.dtors);
73    ___dtors_end = .;
74  }
75    . = .;
76
77
78  .rodata  ALIGN(8)  : { *(.rodata)  *(.gnu.linkonce.r*) }
79  .rodata1 ALIGN(8)  :
80    {
81      *(.rodata1)
82      . = ALIGN(8);
83    }
84  .reginfo . : { *(.reginfo) }
85  /* also: .hash .dynsym .dynstr .plt(if r/o) .rel.got */
86  /* Read-write section, merged into data segment: */
87  .data  ALIGN(16)  :
88  {
89    _fdata = . ;
90    *(.data)
91    CONSTRUCTORS
92  }
93  .data1 ALIGN(8)  : { *(.data1) }
94  _gp = . + 0x8000;
95  .lit8 . : { *(.lit8) }
96  .lit4 . : { *(.lit4) }
97  /* also (before uninitialized portion): .dynamic .got .plt(if r/w)
98     (or does .dynamic go into its own segment?) */
99  /* We want the small data sections together, so single-instruction offsets
100     can access them all, and initialized data all before uninitialized, so
101     we can shorten the on-disk segment size.  */
102  .sdata   ALIGN(8)  : { *(.sdata) }
103  _edata  =  .;
104  __bss_start = ALIGN(8);
105  _fbss = .;
106  .sbss    ALIGN(8)  : { *(.sbss) *(.scommon) }
107  .bss     ALIGN(8)  :
108  {
109   *(.bss)
110   *(COMMON)
111   _end = . ;
112   end = . ;
113  }
114  /* Debug sections.  These should never be loadable, but they must have
115     zero addresses for the debuggers to work correctly.  */
116  .line                 0 : { *(.line)                  }
117  .debug                0 : { *(.debug)                 }
118  .debug_sfnames        0 : { *(.debug_sfnames)         }
119  .debug_srcinfo        0 : { *(.debug_srcinfo)         }
120  .debug_macinfo        0 : { *(.debug_macinfo)         }
121  .debug_pubnames       0 : { *(.debug_pubnames)        }
122  .debug_aranges        0 : { *(.debug_aranges)         }
123}
124
Note: See TracBrowser for help on using the repository browser.