freebsd-skq/contrib/gcc/config/i386/svr3z.ifile
peter d4691e641b Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the
non-i386, non-unix, and generatable files have been trimmed, but can easily
be added in later if needed.

gcc-2.7.2.1 will follow shortly, it's a very small delta to this and it's
handy to have both available for reference for such little cost.

The freebsd-specific changes will then be committed, and once the dust has
settled, the bmakefiles will be committed to use this code.
1996-09-18 05:35:50 +00:00

46 lines
1.4 KiB
Plaintext

/*
* svr3z.ifile - for collectless G++ on i386 System V.
* Leaves memory unconfigured at address 0.
*
* Install this file as $prefix/gcc-lib/TARGET/VERSION/gccz.ifile
*
* 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 ( 0x400000 | 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(0x400200) BLOCK (0x200) :
{
/* plenty for room for headers */
*(.init)
*(.text)
vfork = fork; /* I got tired of editing peoples sloppy code */
*(.fini)
}
GROUP BIND( NEXT(0x400000) + (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 : { }
}
}