|
|
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.