Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!seismo!think!sam From: sam@think.UUCP Newsgroups: comp.bugs.4bsd Subject: ar(1) fails to replace members with names over 14 characters Message-ID: <2791@think.UUCP> Date: Thu, 26-Mar-87 20:24:35 EST Article-I.D.: think.2791 Posted: Thu Mar 26 20:24:35 1987 Date-Received: Sat, 28-Mar-87 06:14:08 EST Sender: news@think.UUCP Lines: 54 Index: bin/ld.c 4.3BSD Description: The command ar r archive file_with_name_longer_than_14_characters will silently fail to replace that file in archive if it is already present there. This bug is present in Mt. Xinu 4.3BSD and in Ultrix X2.0, but it is NOT present in Sun 3.2. Repeat-By: Here is a script of a demonstration of the problem. ranlib isn't used in this example purposely, because ranlib has nothing to do with the problem. % cat > Makefile a.out: t.o l.a $(CC) t.o l.a l.a: longnameindeed.o ar r l.a longnameindeed.o % cat > t.c main(){ f(); } % cat > longnameindeed.c f(){ printf("OLD\n"); } % make cc -c longnameindeed.c ar r l.a longnameindeed.o ar: filename longnameindeed.o truncated to longnameindeed. ar: creating l.a cc -c t.c cc t.o l.a ld:l.a: warning: archive has no table of contents; add one using ranlib(1) % a.out OLD % cat > longnameindeed.c f(){ printf( "NEW\n" ); } % make cc -c longnameindeed.c ar r l.a longnameindeed.o ar: filename longnameindeed.o truncated to longnameindeed. cc t.o l.a ld:l.a: warning: archive has no table of contents; add one using ranlib(1) % a.out # should say NEW, but says OLD OLD % cc t.o longnameindeed.o % a.out NEW % --- Sam Kendall sam@Think.COM Thinking Machines Corp. {seismo,ihnp4}!think!sam