iverson@uunet.uu.net (Tim Iverson) (02/06/91)
--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@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