Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <004f01c2a71d$c81673c0$090a0a0a@mail.everfocus.com.tw> From: "Franklin" To: Subject: Bugs Report: Problems about make utility under cygwin Date: Thu, 19 Dec 2002 13:16:26 +0800 MIME-Version: 1.0 Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4920.2300 X-Virus-Scanned: by AMaViS perl-11 Hi all! I tried to trace the make's source code, and found something strange. I added -g into Makefile of make source, and in my first attemp I used gdb under cygwin bash shell to run make. I traced into the job.c, line 2276, execvp (argv[0], argv); After running this statement, the program DIRECTLY terminated with code 037777777777, instead of going to the next statement switch(errno)! It seems kind of strange, so I inserted some debug message before and after this statement, remade it, and ran it under dos prompt. It also showed that when it executed this statement, the error message window jumped out, telling me that make.exe caused page fault. I have some questions about this: 1. What shell does this execvp() call? I've read the man pages of exec series functions, which says: "In a standard-conforming application (see standards(5)), the exec family of functions use /usr/bin/ksh (see ksh(1)); otherwise, they use /usr/bin/sh (see sh(1))." Is that why it caused page fault when running under dos prompt? 2. I found that this statement is under the definition !WINDOWS32. However, I cannot find any instructions about how to build make.exe under WINDOWS32 definition. Here I paste my Makefile again. Hope it helps. ------------------------------------------------------- CC = \Docs\SNDDocs\hstone\BIN\hyc.exe CFLAGS = -I..\include -g -c LINKER = \Docs\SNDDocs\hstone\BIN\hylink.exe HEXER = \Docs\SNDDocs\hstone\BIN\hyeprom.exe OBJECTS = main.o i2c.o all: edsr1600.hye #edsr1600.hex edsr1600.hex: edsr1600.hye $(HEXER) @edsr1600.fmt edsr1600.hye: $(OBJECTS) $(LINKER) -MAP @edsr1600.lnk main.o: main.c $(CC) $(CFLAGS) main.c i2c.o: i2c.c $(CC) $(CFLAGS) i2c.c clean: rm -f *.O *.HYE *.HEX *.MAP -------------------------------------------- Best Regards, Frank -- God is real unless declared integer. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/