Incompatibility of PIC and non-PIC

Tor Arntsen
Wed, 23 Aug 2000 12:31:37 +0200

On Aug 23, 10:49, Alan Modra wrote:
>On Wed, 23 Aug 2000, Tor Arntsen wrote:
>> Which versions of CVS are you using?  CVS used to output diffs without
>> including the directory path in the --- and +++ lines, but that's been
>> fixed long ago.  I don't have any problems with patch anymore.
>You will if the diff contains files that exist in the root dir of your
>source tree and in subdirs, eg. and bfd/

No, I do that all the time and has been doing that for almost two years
without problems.  It's true that it used to be a problem.  This is what
I'm working with at this moment:

cvs -q -n upd
M ChangeLog
M tools/ChangeLog
M tools/ts-initdir.c

cvs -q diff -u > dif

The diff looks like this:

Index: ChangeLog
RCS file: /cvs/cvs4/lrdpf/src/libs/lib_lrdpf_table/ChangeLog,v
retrieving revision
diff -u -r1. ChangeLog
--- ChangeLog   2000/04/01 16:54:01
+++ ChangeLog   2000/08/23 09:57:10
@@ -1,3 +1,73 @@
+Wed Aug 23 00:01:15 2000  (Tor Arntsen)
+       * TODO: Updated.
Index: tools/ChangeLog
RCS file: /cvs/cvs4/lrdpf/src/libs/lib_lrdpf_table/tools/Attic/ChangeLog,v
retrieving revision
diff -u -r1. ChangeLog
--- tools/ChangeLog     1999/05/25 10:54:39
+++ tools/ChangeLog     2000/08/23 09:57:10
@@ -1,3 +1,16 @@
+Wed Aug 23 00:33:48 2000  (Tor Arntsen)
+       * ts-initdir.c: Removed local copied functions get_table_dir() and

I now use that diff as input to patch somewhere else:
patch -p0 < dif
patching file ChangeLog
patching file tools/ChangeLog
patching file tools/ts-initdir.c

The patch is correctly applied.

The problem with older CVS versions was that it used to say just
--- ChangeLog on all the levels.  Patch could handle that, using
the Index line, however only for unique file names.  So people would
use scripts that fixed the ---/+++ lines before they applied the patch.