Changeset 39827cc in rtems


Ignore:
Timestamp:
11/17/99 17:31:51 (24 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
20f54e9
Parents:
d2b8d742
Message:

Now allows override of base address via -Ttext command to linker.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/score603e/startup/linkcmds

    rd2b8d742 r39827cc  
    1313PROVIDE(CPU_PPC_CLICKS_PER_MS = 16500);
    1414
     15/*
    1516MEMORY
    1617  {
    1718        VECTORS : ORIGIN = 0, LENGTH = 64K
    18         RAM : ORIGIN = 1M, LENGTH = 15M
     19        RAM : ORIGIN = 1M, LENGTH = 31M
    1920        EPROM : ORIGIN = 0xFFF00000, LENGTH = 0x80000
    2021  }
     22*/
    2123
    2224SECTIONS
     
    2931  /* Read-only sections, merged into text segment: */
    3032  /* SDS ROM worked at 0x30000                     */
    31   . = 0x100000;
    3233  .interp         : { *(.interp) }
    3334  .hash           : { *(.hash)          }
     
    5152  .rela.sbss2     : { *(.rela.sbss2)    }
    5253  .plt   : { *(.plt) }
    53   .text      :
     54 .text  0x100000:
    5455  {
     56   
    5557    *(.text)
    5658    *(.gnu.linkonce.t.*)
     
    5860    /* .gnu.warning sections are handled specially by elf32.em.  */
    5961    *(.gnu.warning)
    60   } >RAM
    61   .init           : { *(.init)          } >RAM
    62   .fini           : { *(.fini)          } >RAM
    63   .rodata         : { *(.rodata) *(.gnu.linkonce.r*) } >RAM
    64   .rodata1        : { *(.rodata1)       } >RAM
    65   _etext = .;
    66   PROVIDE (etext = .);
     62  }
     63  .init           : { *(.init)          }
     64  .fini           : { *(.fini)          }
     65  .rodata         : { *(.rodata) *(.gnu.linkonce.r*) }
     66  .rodata1        : {
     67     *(.rodata1)
     68     _etext = .;
     69     PROVIDE (_etext = .);
     70  }
    6771  PROVIDE (__SDATA2_START__ = .);
    68   .sdata2         : { *(.sdata2)        } >RAM
    69   .sbss2          : { *(.sbss2)         } >RAM
     72  .sdata2         : { *(.sdata2)        }
     73  .sbss2          : { *(.sbss2)         }
    7074  PROVIDE (__SBSS2_END__ = .);
    7175  /* Adjust the address for the data segment.  We want to adjust up to
     
    9094    *(.gnu.linkonce.d.*)
    9195    CONSTRUCTORS
    92   } >RAM
     96  }
    9397  PROVIDE (__EXCEPT_START__ = .);
    94   .gcc_except_table   : { *(.gcc_except_table) } >RAM
     98  .gcc_except_table   : { *(.gcc_except_table) }
    9599  PROVIDE (__EXCEPT_END__ = .);
    96100
    97   .data1          : { *(.data1)         } >RAM
    98   .got1           : { *(.got1)          } >RAM
    99   .dynamic        : { *(.dynamic)       } >RAM
     101  .data1          : { *(.data1)         }
     102  .got1           : { *(.got1)          }
     103  .dynamic        : { *(.dynamic)       }
    100104  /* Put .ctors and .dtors next to the .got2 section, so that the pointers
    101105     get relocated with -mrelocatable. Also put in the .fixup pointers.
    102106     The current compiler no longer needs this, but keep it around for 2.7.2  */
    103107                PROVIDE (_GOT2_START_ = .);
    104   .got2           :  { *(.got2) }       >RAM
     108  .got2           :  { *(.got2) }
    105109                PROVIDE (__GOT2_END__ = .);
    106110                PROVIDE (__CTOR_LIST__ = .);
    107   .ctors          : { *(.ctors) }       >RAM
     111  .ctors          : { *(.ctors) }
    108112                PROVIDE (__CTOR_END__ = .);
    109113                PROVIDE (__DTOR_LIST__ = .);
    110   .dtors          : { *(.dtors) }       >RAM
     114  .dtors          : { *(.dtors) }
    111115                PROVIDE (__DTOR_END__ = .);
    112116                PROVIDE (_FIXUP_START_ = .);
    113   .fixup          : { *(.fixup) }       >RAM
     117  .fixup          : { *(.fixup) }
    114118                PROVIDE (_FIXUP_END_ = .);
    115119                PROVIDE (__FIXUP_END__ = .);
    116120                PROVIDE (_GOT2_END_ = .);
    117                 PROVIDE (_GOT_START_ = .);
    118   s.got = .;
    119   .got            : { *(.got) }         >RAM
    120   .got.plt        : { *(.got.plt) }     >RAM
     121  .got            : {
     122    PROVIDE (_GOT_START_ = .);
     123    s.got = .;
     124    *(.got)
     125  }     
     126  .got.plt        : { *(.got.plt) }
    121127                PROVIDE (_GOT_END_ = .);
    122128                PROVIDE (__GOT_END__ = .);
     
    125131     we can shorten the on-disk segment size.  */
    126132  PROVIDE (__SDATA_START__ = .);
    127   .sdata          : { *(.sdata) }       >RAM
    128   _edata  =  .;
    129   PROVIDE (edata = .);
    130   PROVIDE (RAM_END = 10M);
     133  .sdata          : {
     134     *(.sdata)
     135     _edata  =  .;
     136  }
     137  PROVIDE (_edata = .);
     138  PROVIDE (RAM_END = ADDR(.text) + 10M);
    131139  . =  ALIGN(8) + 0x1000;
    132140  PROVIDE (__SBSS_START__ = .);
     
    137145    *(.scommon)
    138146    PROVIDE (__sbss_end = .);
    139   } >RAM
     147  }
    140148  PROVIDE (__SBSS_END__ = .);
    141149  .bss       :
    142150  {
    143    PROVIDE (__bss_start = .);
    144    *(.dynbss)
    145    *(.bss)
    146    *(COMMON)
    147   } >RAM
    148   . =  ALIGN(8) + 0x8000;
    149   PROVIDE (__stack = .);
    150   _end = . ;
    151   PROVIDE (end = .);
     151    PROVIDE (__bss_start = .);
     152    *(.dynbss)
     153    *(.bss)
     154    *(COMMON)
     155    . =  ALIGN(8) + 0x8000;
     156    PROVIDE (__stack = .);
     157    _end = . ;
     158    PROVIDE (end = .);
     159  }
    152160
    153161  /* These are needed for ELF backends which have not yet been
Note: See TracChangeset for help on using the changeset viewer.