summaryrefslogtreecommitdiff
path: root/gcc/config/m68k/dpx2.ifile
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/m68k/dpx2.ifile')
-rwxr-xr-xgcc/config/m68k/dpx2.ifile55
1 files changed, 55 insertions, 0 deletions
diff --git a/gcc/config/m68k/dpx2.ifile b/gcc/config/m68k/dpx2.ifile
new file mode 100755
index 0000000..2c8acd8
--- /dev/null
+++ b/gcc/config/m68k/dpx2.ifile
@@ -0,0 +1,55 @@
+/*
+ * 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 : { }
+ }
+}