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 X-pair-Authenticated: 24.126.73.164 Message-ID: <405C939E.5020909@kegel.com> Date: Sat, 20 Mar 2004 10:55:26 -0800 From: Dan Kegel User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040113 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Minimal test case for Make crash bug (was: Re: make segfault building cross-glibc with latest cygwin) References: <405C00BF DOT 3090507 AT kegel DOT com> <405C06C4 DOT 7030508 AT kegel DOT com> <405C6C4B DOT 90409 AT kegel DOT com> In-Reply-To: <405C6C4B.90409@kegel.com> Content-Type: multipart/mixed; boundary="------------090804020309050309000006" --------------090804020309050309000006 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Dan Kegel wrote: > Aha. Using 'make -d' shows more detail: > ... > so the recursion in extra-module.mk (which is expected, though > I don't know how many repeats are normal) is going awry somehow. Got it. I'm attaching a minimal test case. glibc's makefile requires that Make be able to handle 140 levels of include recursion, but cygwin Make crashes after about 130 -- unless you're running under gdb or strace, in which case it works fine. To repeat the bug, just unpack the two attachments and run 'make'. If you have the bug, it will crash; otherwise it will echo a list of 140 words. I've tried building gnu make 3.79.1 and 3.80 from scratch, but they both suffer from the same problem. I also tried compiling make without optimization; didn't help. So it's a Heisenbug in a small box now. I wonder if it could be a bug in Cygwin itself? - Dan --------------090804020309050309000006 Content-Type: text/plain; name="Makefile" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="Makefile" modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \ ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10 \ ISO8859-11 ISO8859-13 ISO8859-14 ISO8859-15 \ T.61 ISO_6937 SJIS KOI-8 HP-ROMAN8 EBCDIC-AT-DE \ EBCDIC-AT-DE-A EBCDIC-CA-FR EUC-KR UHC JOHAB libJIS libKSC \ BIG5 EUC-JP libGB EUC-CN libCNS EUC-TW ISO646 EBCDIC-DK-NO \ EBCDIC-DK-NO-A EBCDIC-ES EBCDIC-ES-A EBCDIC-ES-S EBCDIC-FI-SE \ EBCDIC-FI-SE-A EBCDIC-FR EBCDIC-IS-FRISS EBCDIC-IT EBCDIC-PT \ EBCDIC-UK EBCDIC-US IBM037 IBM038 IBM274 IBM275 IBM423 \ IBM500 IBM870 IBM871 IBM891 IBM903 IBM904 IBM905 IBM1047 \ IBM874 CP737 CP775 ISO-2022-KR \ KOI8-R LATIN-GREEK LATIN-GREEK-1 IBM256 IBM273 IBM277 IBM278 \ IBM280 IBM281 IBM284 IBM285 IBM290 IBM297 IBM420 IBM424 \ IBM437 IBM850 IBM851 IBM852 IBM855 IBM857 IBM860 IBM861 \ IBM862 IBM863 IBM864 IBM865 IBM868 IBM869 IBM875 IBM880 \ IBM866 CP1258 \ IBM918 IBM1004 IBM1026 CP1250 CP1251 CP1252 CP1253 CP1254 \ CP1255 CP1256 CP1257 ISO-2022-JP MACINTOSH IEC_P27-1 \ ASMO_449 ANSI_X3.110 CSN_369103 CWI DEC-MCS ECMA-CYRILLIC \ GOST_19768-74 GREEK-CCITT GREEK7 GREEK7-OLD INIS INIS-8 \ INIS-CYRILLIC ISO_6937-2 ISO_2033 ISO_5427 ISO_5427-EXT \ ISO_5428 ISO_10367-BOX MAC-IS MAC-UK NATS-DANO NATS-SEFI \ SAMI-WS2 ISO-IR-197 TIS-620 KOI8-U GBK ISIRI-3342 extra-modules-left := $(modules) include foo.mk foo: echo extra-objs is $(extra-objs) --------------090804020309050309000006 Content-Type: text/plain; name="foo.mk" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="foo.mk" mod := $(firstword $(extra-modules-left)) extra-modules-left := $(strip $(filter-out $(mod),$(extra-modules-left))) extra-objs := $(extra-objs) $(mod) ifneq (,$(extra-modules-left)) include foo.mk endif --------------090804020309050309000006 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ --------------090804020309050309000006--