clayton@THUMPER.BELLCORE.COM (R. Clayton) (02/06/90)
I've run across a problem using gnumake version 3.57: l gnumake server cd +undefined ; gnumake -I.. -f ../makefile /u/clayton/etc/cruiser/new/bin/undefined/branchs cc -g -I/u/clayton/etc/cruiser/new/include -c branch-server.l -o ../branch-server.o cc: Warning: File with unknown suffix (branch-server.l) passed to ld cc -o /u/clayton/etc/cruiser/new/bin/undefined/branchs -g -I/u/clayton/etc/cruiser/new/include branch-server.o bsp.o pcid.o mbox.o gkpc.o gk.o timer.o make-child.o tty.o msandr.o /u/clayton/etc/cruiser/new/lib/process.a /u/clayton/etc/cruiser/new/lib/bslib.a /u/clayton/etc/cruiser/new/lib/mslib.a /u/clayton/etc/cruiser/new/lib/pcord.a /u/clayton/etc/cruiser/new/lib/msg.a /u/clayton/etc/cruiser/new/lib/utils.a ld: branch-server.o: No such file or directory gnumake[1]: *** [/u/clayton/etc/cruiser/new/bin/undefined/branchs] Error 4 gnumake: *** [server] Error 1 Unfortunately, the process of whittling down the makefile changed the problem: l gnumake -v -f bmf server GNU Make version 3.57, by Richard Stallman and Roland McGrath. Copyright (C) 1988, 1989 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. cd +undefined ; gnumake -I.. -f ../makefile /u/clayton/etc/cruiser/new/bin/undefined/branchs /bin/sh: 948 Memory fault - core dumped gnumake: *** [server] Error 139 This is the shorter makefile: l cat bmf base = /u/clayton/etc/cruiser/new machine_type = undefined md_mark = + machine_dir = $(md_mark)$(machine_type) bin = $(base)/bin/$(machine_type) VPATH := .. mt_make := cd $(machine_dir) ; $(MAKE) -I.. -f ../makefile server : $(mt_make) $(bin)/branchs objs = branch-server.o $(bin)/branchs : $(objs) cc -o $(bin)/branchs $(CFLAGS) $(objs) If you change machine_type from undefined to sun3, you can get back the first problem. I went fiddling around a bit and came up with this dbxtool stack trace: (dbxtool) run -I.. -f ../makefile /u/clayton/etc/cruiser/new/bin/undefined/branchs Running: /u/clayton/bin/gnumake -I.. -f ../makefile /u/clayton/etc/cruiser/new/bin/undefined/branchs signal SEGV (segmentation violation) in strlen at 0xed6f600 0xed6f600: tstb a1@+ (dbxtool) where strlen(?args?) etext(0x1030688) at 0xed6f600 define_variable_in_set(name = 0x2030b "<", length = 1, value = 0x1030688 "<bad address>", origin = o_automatic, recursive = 0, set = 0x47f7c), line 116 in "gnumake/variable.c" define_variable_for_file(name = 0x2030b "<", length = 1, value = 0x1030688 "<bad address>", origin = o_automatic, recursive = 0, file = 0x33094), line 151 in "gnumake/variable.c" set_file_variables(file = 0x48110), line 98 in "gnumake/commands.c" execute_file_commands(file = 0x33094), line 252 in "gnumake/commands.c" remake_file(file = 0x33094), line 679 in "gnumake/remake.c" update_file_1(file = 0x33094, depth = 2), line 445 in "gnumake/remake.c" update_file(file = 0x33094, depth = 2), line 187 in "gnumake/remake.c" check_dep(file = 0x33094, depth = 2, this_mtime = -1, must_make_ptr = 0xeffebdc), line 533 in "gnumake/remake.c" update_file_1(file = 0x275e8, depth = 1), line 317 in "gnumake/remake.c" update_file(file = 0x275e8, depth = 0), line 187 in "gnumake/remake.c" update_goal_chain(goals = 0x3561c, makefiles = 0), line 99 in "gnumake/remake.c" main(argc = 5, argv = 0xefff8a8, envp = 0xefff8c0), line 850 in "gnumake/main.c"