delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/12/19/00:17:16

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
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" <gis86541 AT cis DOT nctu DOT edu DOT tw>
To: <cygwin AT cygwin DOT com>
Subject: Bugs Report: Problems about make utility under cygwin
Date: Thu, 19 Dec 2002 13:16:26 +0800
MIME-Version: 1.0
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019