|
|
1.1 ! root 1: INSTALL=cp ! 2: ! 3: # The svr4 reference port for the i860 contains an alloca.o routine ! 4: # in /usr/ucblib/libucb.a, but we can't just try to get that by ! 5: # setting CLIB to /usr/ucblib/libucb.a because (unfortunately) ! 6: # there are a lot of other routines in libucb.a which are supposed ! 7: # to be the Berkeley versions of library routines normally found in ! 8: # libc.a and many of these Berkeley versions are badly broken. Thus, ! 9: # if we try to link programs with libucb.a before libc.a, those ! 10: # programs tend to crash. ! 11: ! 12: # Also, the alloca() routine supplied in early version of svr4 for ! 13: # the i860 is non-ABI compliant. It doesn't keep the stack aligned ! 14: # to a 16-byte boundary as the ABI requires. ! 15: ! 16: # More importantly however, even a fully ABI compliant alloca() routine ! 17: # would fail to work correctly with some versions of the native svr4 C ! 18: # compiler currently being distributed for the i860 (as of 1/29/92). ! 19: # The problem is that the native C compiler generates non-ABI-compliant ! 20: # function epilogues which cut back the stack (upon function exit) in ! 21: # an incorrect manner. Specifically, they cut back the stack by adding ! 22: # the nominal *static* frame size (determined statically at compile-time) ! 23: # to the stack pointer rather than setting the stack pointer based upon ! 24: # the current value of the frame pointer (as called for in the i860 ABI). ! 25: # This can cause serious trouble in cases where you repeatedly call a ! 26: # routine which itself calls alloca(). In such cases, the stack will ! 27: # grow continuously until you finally run out of swap space or exceed ! 28: # the system's process size limit. To avoid this problem (which can ! 29: # arise when a stage1 gcc is being used to build a stage2 gcc) you ! 30: # *must* link in the C langauge version of alloca() which is supplied ! 31: # with gcc to your stage1 version of gcc. The following definition ! 32: # forces that to happen. ! 33: ! 34: ALLOCA=alloca.o ! 35: ! 36: # We build all stages *without* shared libraries because that may make ! 37: # debugging the compiler easier (until there is a GDB which supports ! 38: # both Dwarf *and* svr4 shared libraries). ! 39: ! 40: # Note that the native C compiler for the svr4 reference port on the ! 41: # i860 recognizes a special -gg option. Using that option causes *full* ! 42: # Dwarf debugging information to be generated, whereas using only -g ! 43: # causes only limited Dwarf debugging information to be generated. ! 44: # (This is an undocumented feature of the native svr4 C compiler.) ! 45: ! 46: CCLIBFLAGS=-Bstatic -dn -gg ! 47: GCC_CFLAGS=-static -g -O2 -B./
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.