|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.