summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/config/i386/svr3z.ifile
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1996-09-18 05:35:50 +0000
committerpeter <peter@FreeBSD.org>1996-09-18 05:35:50 +0000
commitd4691e641ba47cb86eef80f5c879e13f9d961724 (patch)
tree5b7ea73fc49c8998d9dc87d3eeff5b96439e6856 /contrib/gcc/config/i386/svr3z.ifile
downloadFreeBSD-src-d4691e641ba47cb86eef80f5c879e13f9d961724.zip
FreeBSD-src-d4691e641ba47cb86eef80f5c879e13f9d961724.tar.gz
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.
Diffstat (limited to 'contrib/gcc/config/i386/svr3z.ifile')
-rw-r--r--contrib/gcc/config/i386/svr3z.ifile45
1 files changed, 45 insertions, 0 deletions
diff --git a/contrib/gcc/config/i386/svr3z.ifile b/contrib/gcc/config/i386/svr3z.ifile
new file mode 100644
index 0000000..4fdbb93
--- /dev/null
+++ b/contrib/gcc/config/i386/svr3z.ifile
@@ -0,0 +1,45 @@
+/*
+ * 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 : { }
+ }
+}
OpenPOWER on IntegriCloud