[gnu.gcc] How to make CS == DS on Xenix

albaugh@dms.UUCP (Mike Albaugh) (10/05/89)

	Apologies in advance to unix.questions for posting where I
do not read, but this is really a unix (Xenix) question, brought about
by Gnu CC. Synopsis:

	Gnu CC believes in its bones that it runs on a 32-bit linear
addressed machine. I have cross-compiled a target-386 compiler to the
.s file level on a vms vax (1.34, compiled by 1.34) _but_ the Xenix
loader insists on putting text and data in separate (4-gigabyte)
segments, so the first "switch" I execute sends me to never-never land
with signal 11 (SIGSEGVIO). I would like to know if anyone has solved
this by either getting GCC to apply specific segment overrides on all
the instructions where the assumed segment is wrong (I imagine this
to be a bear) or by coercing the linker to put everything in one
segment. We have the Unix 3.2 distribution. That's how I got it to
assemble *nix style .s files. But the ld manual doesn't shed much light
on segmentation, other than how to mimic various MSDOS configurations.

details:
    config -> xm-1386v
    tm.h -> tm-i386v
    md -> i386.md

    Xenix/386 System V.2.3.2 with the Unix 3.2 as and /usr/include/xenix

	Please email, or post to gnu.gcc if you can offer any tips.

					Mike

| Mike Albaugh (albaugh@dms.UUCP || {...decwrl!pyramid!}weitek!dms!albaugh)
| Atari Games Corp (Arcade Games, no relation to the makers of the ST)
| 675 Sycamore Dr. Milpitas, CA 95035		voice: (408)434-1709
| The opinions expressed are my own (Boy, are they ever)