Annotation of GNUtools/cc/config/m68k/dpx2.ifile, revision 1.1.1.1

1.1       root        1: /*
                      2:  *      dpx2.ifile - for collectless G++ on Bull DPX/2
                      3:  *     
                      4:  *      Peter Schauer <[email protected]>
                      5:  *
                      6:  *      Install this file as $prefix/gcc-lib/dpx2/VERSION/gcc.ifile
                      7:  *     and comment out the lines referring to COLLECT at the top
                      8:  *      of Makefile before building GCC.
                      9:  *     
                     10:  *      This file has been tested with gcc-2.2.2 on a DPX/2 340
                     11:  *      running BOS 2.00.45, if it doesn't work for you, stick
                     12:  *      with collect.
                     13:  *     --sjg
                     14:  */
                     15: /*
                     16:  *     Ifile to link with memory configured at 0.
                     17:  *     BLOCK to an offset that leaves room for many headers ( the value
                     18:  *     here allows for a file header, an outheader, and up to 11 section 
                     19:  *     headers on most systems.
                     20:  *     BIND to an address that excludes page 0 from being mapped. The value
                     21:  *     used for BLOCK should be or'd into this value. Here I'm setting BLOCK
                     22:  *     to 0x200 and BIND to ( 0x100000 | value_used_for(BLOCK) )
                     23:  *     If you are using shared libraries, watch that you don't overlap the
                     24:  *     address ranges assigned for shared libs.
                     25:  *
                     26:  *     GROUP BIND to a location in the next segment.  Here, the only value
                     27:  *     that you should change (I think) is that within NEXT, which I've set
                     28:  *     to my hardware segment size. You can always use a larger size, but not
                     29:  *     a smaller one.
                     30:  */
                     31: SECTIONS
                     32: {
                     33:        .text BIND(0x100200) BLOCK (0x200) :
                     34:        {
                     35:                 /* plenty of room for headers */
                     36:                *(.init)
                     37:                *(.text)
                     38:                _vfork = _fork; /* I got tired of editing peoples sloppy code */
                     39:                *(.fini)
                     40:        }
                     41:        GROUP BIND( NEXT(0x100000) + (ADDR(.text) + (SIZEOF(.text)) % 0x1000)):
                     42:        {
                     43:                        .data : {
                     44:                                ___CTOR_LIST__ = . ; 
                     45:                                . += 4 ;        /* leading NULL */
                     46:                                *(.ctor) 
                     47:                                . += 4 ;        /* trailing NULL */
                     48:                                ___DTOR_LIST__ = . ;
                     49:                                . += 4 ;        /* leading NULL */
                     50:                                *(.dtor) 
                     51:                                . += 4 ;        /* trailing NULL */
                     52:                         }
                     53:                        .bss : { }
                     54:        }
                     55: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.