*Unofficial* Gnu gcc/gas/utils patches for SCO Unix/Xenix

Tim Iverson bang!iverson at uunet.uu.net
Wed Feb 6 20:43:20 AEST 1991


--text follows this line--
I would like to make the following patches (described below) available to
the net-public.  I would also like to avoid posting them, since some are
large.  So, if someone is willingly to make these available for anonymous
ftp or uucp, let me know, and I will mail them to you in your prefered
format.  If you know how I might get these placed on uunet, please let me
know, as that would be ideal for further distribution (at least from my
point of view - uunet may disagree).

The greater part of most patches is devoted to SCO, however, patches p1 and
p2 for gcc in particular might appeal to a wider range of folk.

- Tim Iverson
  iverson at xstor.com -/- uunet!xstor!iverson

N.B. sizes are given as real/compressed.

---------------- 4k/2k diff115.p0

This file contains "startup patches" to diff-1.15 to make compiling under
both SCO Unix and SCO Xenix easier.  Basically, it just patches the makefile
and the version number (also a patch for limits.h to reduce warnings).

---------------- 157k/65k gas137.p0

This file contains level 0 patches to the virgin gas-1.37 distribution that
will cause gas to ouput coff-style object files suitable for use by sco's
standard linker/loader.  This patch is simply a worked over version of the
Vasta/Bloom patch set for gas-1.36.  Symbol output is usable by adb, but
sdb & cv can't grok the debugging info - mostly because gas-1.37 eats, but
doesn't excrete sdb info.  I plan on fixing this ... soon :-).

Note that this file assumes that you will be compiling gas with gcc.  I only
tried to use cc once, and I didn't enjoy the experience, so I recomend that
you bring up gcc 1.39 using the default /bin/as implementation, then compile
but don't install gas, then go back and rebuild gcc to use gas, then come
back and install gas so that gcc can use it, then rebuild gas again (gas
objects are slightly smaller than /bin/as objects and seem to do better
jmp'ing).  Voila! (now which came first, the chicken or the egg?).

---------------- 21k/12k gcc139.p0

This file contains level 0 patches to the virgin gcc-1.39 distribution that
will allow gcc to produce output suitable for a level 0 sco-patched
gas-1.37.  A gcc patched like this is *much* faster than the standard gcc,
since gas can drink from a pipe.

Currently, gcc+gas can only produce debugging info that is (presumably)
useful to dbx (not present on SCO Unix) and gdb (not tested yet).  This is
entirely due to deficiencies in gas that will be rectified forthwith :-).

---------------- 10k/6k gcc139.p1

This patch has been derived through dint of much effort from the one posted
to the net long ago by Chip Salzenberg.  It will, when applied on top of my
SCO.0 patches, cause gcc 1.39 to correctly interpret the "#pragma pack()"
directive that has become so essential to using many of SCO's library calls
and kernel services.

It is highly likely that much of this patch would work equally well without
my first set of SCO patches, since this is a rather simple patch.

It also includes a small patch to final.c to prevent DBX .stabd line number
definitions from being output if only SDB-style debugging is desired.  This
is really only usefull to those who wish to enable both styles at once and
then chose the output style at run-time.

---------------- 10k/5k gcc139.p2

This patch is applicable to mainstream gcc 1.39, although the diffs were
made from an SCO-patched version.  The reason for this patch is simple:
it lets more existing programs compile correctly, but the rationale
w.r.t. K&R2 is complex.  It does, however, contains two parts.

Simply put, the first part improves checking between void pointer parameters
in function declarations and non-void arguments in the definition.  It
also improves (void *) checking in general (fewer spurious warnings, more
interesting warnings).

The second part relaxes the checking of new-style declarations against
old-style definitions when prototype args are promoted.  Currently gcc 1.39
enforces the letter of the standard.  Unfortunately, the exact stipulations
in K&R2 render themselves pointless when carried out conscientiously.  So,
this patch can be said to restore their spirit (-pedantic will cause gcc
to bitch about it, though).

Send email if you're interested in precise details - they're long and
involved.  Better yet, crack open K&R2 and read about new-style vs.
old-style in function decls and defs (also about void matching).

It is highly likely that much of this patch would work equally well without
any of my SCO patches - this is a rather simple patch.

---------------- 8k/4k make359.p0

This patch contains patches to the Makefile and to various surrounding
files to allow compilation for SCO Unix 3.2 and SCO Xenix 2.3.2.  A few
of the changes may be applicable elsewhere, but this is mainly an SCO patch.

---------------- 2k/1k patch.p12u4

This is an unofficial patch to patch 12u3 (the unified-diff-eating patch) to
overcome a problem when creating new files.

The Problem:	For the sake of brevity, let q(x) = 2^x*INITHUNKMAX-1.
		When patch tries to create a file with q(n) lines
		immediately after creating a q(m) line file and n < m,
		patch will halt with a segmentation violation.

		Actualy problems may vary depending on the data involved.

To Recreate:	Simply feed patch a file that contains two patches, one
		for a 499 line file diff'd against /dev/null, followed by
		one for a 124 line file diff'd against /dev/null.

To Fix:		Apply the enclosed patch.

This file also includes a patch to common.h to overcome a type clash with a
standard include file under SCO Unix.

---------------- end of descriptions



More information about the Comp.unix.xenix.sco mailing list