mirror of
https://github.com/pmret/gcc-papermario.git
synced 2024-11-08 20:02:47 +01:00
56 lines
1.7 KiB
Plaintext
56 lines
1.7 KiB
Plaintext
/*
|
|
* dpx2.ifile - for collectless G++ on Bull DPX/2
|
|
*
|
|
* Peter Schauer <Peter.Schauer@regent.e-technik.tu-muenchen.dbp.de>
|
|
*
|
|
* Install this file as $prefix/gcc-lib/dpx2/VERSION/gcc.ifile
|
|
* and comment out the lines referring to COLLECT at the top
|
|
* of Makefile before building GCC.
|
|
*
|
|
* This file has been tested with gcc-2.2.2 on a DPX/2 340
|
|
* running BOS 2.00.45, if it doesn't work for you, stick
|
|
* with collect.
|
|
* --sjg
|
|
*/
|
|
/*
|
|
* Ifile to link with memory configured at 0.
|
|
* BLOCK to an offset that leaves room for many headers ( the value
|
|
* here allows for a file header, an outheader, and up to 11 section
|
|
* headers on most systems.
|
|
* BIND to an address that excludes page 0 from being mapped. The value
|
|
* used for BLOCK should be or'd into this value. Here I'm setting BLOCK
|
|
* to 0x200 and BIND to ( 0x100000 | value_used_for(BLOCK) )
|
|
* If you are using shared libraries, watch that you don't overlap the
|
|
* address ranges assigned for shared libs.
|
|
*
|
|
* GROUP BIND to a location in the next segment. Here, the only value
|
|
* that you should change (I think) is that within NEXT, which I've set
|
|
* to my hardware segment size. You can always use a larger size, but not
|
|
* a smaller one.
|
|
*/
|
|
SECTIONS
|
|
{
|
|
.text BIND(0x100200) BLOCK (0x200) :
|
|
{
|
|
/* plenty of room for headers */
|
|
*(.init)
|
|
*(.text)
|
|
_vfork = _fork; /* I got tired of editing peoples sloppy code */
|
|
*(.fini)
|
|
}
|
|
GROUP BIND( NEXT(0x100000) + (ADDR(.text) + (SIZEOF(.text)) % 0x1000)):
|
|
{
|
|
.data : {
|
|
___CTOR_LIST__ = . ;
|
|
. += 4 ; /* leading NULL */
|
|
*(.ctor)
|
|
. += 4 ; /* trailing NULL */
|
|
___DTOR_LIST__ = . ;
|
|
. += 4 ; /* leading NULL */
|
|
*(.dtor)
|
|
. += 4 ; /* trailing NULL */
|
|
}
|
|
.bss : { }
|
|
}
|
|
}
|