rwn@utacfd.UUCP (Ralph Noack) (04/06/89)
(on SunOS 4.0.1 on Sun3 hardware) Make 3.45 (and earlier versions do not properly handle the following segment of a makefile: ./dbg/getview.o: getview.f f77 getview.f -c ; mv getview.o ./dbg/getview.o ./dbg/journal.o: journal.f f77 journal.f -c ; mv journal.o ./dbg/journal.o I tried tracing the problem and ran out of expertise. What I could find is that dbg/getview.o and dbg/journal.o have the same hashval(=261) in enter_file (in read.c). This is not the problem but the reason it eventually dies with the message: make: GNUmakefile:4: commands for target `dbg/journal.o' were already specified at GNUmakefile:2. Stop. The real problem (I think) is that {x}malloc is returning an address already in use. Then an area of memory is overwritten when it shouldnt be. Specifically `file`files[261]->name is overwritten by out in bcopy. A traceback of where it's occuring: (dbxtool) where savestring(str = 0x2fb94 "./dbg/journal.o:^Ijournal.f", length = 15), line 1409 in "make.c" parse_file_seq(stringp = 0xf, stopchar = ':', size = 8), line 1136 in "read.c" read_makefile(filename = 0x6d90 "GNUmakefile", type = 0), line 479 in "read.c" read_all_makefiles(makefiles = 0x2fc74), line 145 in "read.c" main(argc = 2, argv = 0x6d90, envp = 0xf), line 552 in "make.c" Any help/fixes would be greatly appreciated. -- Ralph W. Noack (817)-273-2860 Univ. of Tx at Arlington, Aerospace Eng. Dept. uucp: ..!{killer,texsun}!utacfd!rwn internet: rwn@utacfd.arl.utexas.edu(129.107.2.131)