X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1588342462; bh=iBNTi7/q68cDgEoUwDDHcyHdctewQgXhGhbGkiGku8g=; h=X-UI-Sender-Class:Date:From:To:Subject:References:In-Reply-To; b=UTv9XP7f9zXMV02PeS3WVqPuTIVc4OQSZuVlc3ZBmwBxzap4+MJAjeh17NjFjPURJ W2L8q5+6Mj6kKxEk5ToBV6hK9JCMNOUv+Ln8UjCDNn7EmRVng9AvztZnJwjGnD941w k2WWtTQBwfSvE0Yk31LEFpDY/lq7JC99Wwhpw/ug= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Message-ID: <5EAC2EBC.2060204@gmx.de> Date: Fri, 01 May 2020 16:14:20 +0200 From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp AT delorie DOT com]" User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.13) Gecko/20101206 SUSE/3.1.7 Thunderbird/3.1.7 MIME-Version: 1.0 To: djgpp AT delorie DOT com Subject: Re: Make 4.3 crash when compiling 86duino example under WXP-NTVDM References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:WdNZK/54kO+SL1ot9xtbzy1nHVYmxd6MiJvxurdTKTodqqmWXiA ey9DrzxgiVcAm0/Rcd6JTjwUQpM0dLSnM58Pj1XXcjbSuDOkEWGAc4Dx+U7TMJBs3ibQDdi OliBFn8qmzvm0ULzYU8JwSBjdbDPkDcmMZVNvaBBGHqzNYkBT84QH/SeY9jYcQK5tvn5k1k L4+xuMREaETRdTjEHlmfg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:dkBejfBBcb0=:9itj2KZI+0heAnR6iIrEoO IIV7r8QBL1OcbnrfQdEDZw4jBQqK9EpCib1Npr6zDzBvY+adUQRvuGn5yfUA8kcjjOt/j6IOP cZGzO9qEc0l7/uqlajMUq8ibuzTmj6a0VdEiUUkrQfbfvOtPeT4TAH7lF2HKqR5iSdmEzwgz3 tScwupJ4gsu1oxgvknVYehEMdZq57nVwGF1T3pEUOfCO7zzzbQoSVbBSPO/ogHKTzFbOgNCva wInsL64eatPxP0aSTIBl+vTa1tO8Sobg5mc/z3vzbc7GVQvaPCt5BmVSjj55zA/1Mb8WGpJpD TInEbdCch1kx9eyy8JA42/OquueQivk8BM/YzwdxnvI+/Y7JWE7BFCSM54nWGH4je4H/xmXrs 1n9uVFuyetIAXPi3/qn8/UXKYxkj0GenY/v7Gv+xr6GTfXevTepYUE1cpEAXn+DbpnhyJ5L02 gmx68ffVuFuJuqi9RzjEY25e0NB5lTNjdqTTZOjv+ZBeJoD32sHjcScao1IeiEPkPoGV/wR78 iAaEEvvuH/DBFgcclnOmugvfcBhLEFsLnnMOOgUoYq1h63JymEbd17c3qAIOV9kMcZRQwNQ+5 zZ8BY74yni2o7ygDVVpyPQ6xd5IjZzhw6VvutrxUfjzhFt/UEjPebf7agnvtllWLqMURchPZ4 szzcEXUuaeV4QGYPal2zDYgRuG7RFLYhckA7EjEdEWYlEQYQJB09VfO9TDcVc6XCfp8Hqx2S0 g8IW80Vn8Ue194tUIBV5BCKZluoOOeoe5hb6BnyhGqNj6oBdDZhcjDvTrguQqmacEnz4V5YGb 1uNCUsXulHql9laaeV9M+pxOk+iDZGL5E4Z7WmJRUhe8NBqdnkwJvsd0S3RsyO1u4AnBnG9D+ JFil/RTeoVp7Mgol9Lgc9urXCbPptF6ah4wi/6dK03jU6WeSY6M2gs3HSX/j6WsbtP7evZmiT mEamHBTM3f+GGT6Jqdk5a0kcp/hRxvDv1NS/0mSl/BR13Cc/rkDhBkkRuLj0EvxgdSZC1Wplh JRDN75UX/1E9t9j0w2uwZ5YQLjcTjToqA7wBaWwY/A+Nyg5+S0owDXcmKM5KIzrDJy17fvBu+ kTH9NHRAPVsOzx0SYozDoqeH+fW5ddhuiWNzb3qCDZp+sXwuJqMgBV08jawl+tsBbR/9hmzVn 1JdEjD48Jz2IAXCMgBko/4hqtcqr8C5EQH58HNM7sqCnCUK48hwyCkg06b/Bzpe3N17hZoery XOtLu3I/sBKiUSDj4 Reply-To: djgpp AT delorie DOT com Am 01.05.2020 05:53, schrieb RayeR (rayer314 AT gmail DOT com) [via djgpp AT delorie DOT com]: > I just found a strange behavior of new make 4.3 when compiling 86duino example under WXP-NTVDM i got crash: > > N:\86DUINO.SDK\EXAMPLE>make -v > GNU Make 4.3 (DJGPP port (r1)) > Built for i786-pc-msdosdjgpp > Copyright (C) 1988-2020 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. > > N:\86DUINO.SDK\EXAMPLE>make > make -C N:\86DUINO.SDK\core > memblockpnxt: memory fouled > Exiting due to signal SIGABRT > Raised at eip=0003b3dc > eax=000d9440 ebx=00000120 ecx=00000000 edx=00000000 esi=000524c8 edi=00000000 > ebp=000d94f8 esp=000d9430 program=E:\DJGPP\BIN\make.exe > cs: sel=01ff base=02b00000 limit=0010ffff > ds: sel=0207 base=02b00000 limit=0010ffff > es: sel=0207 base=02b00000 limit=0010ffff > fs: sel=01d7 base=0000ece0 limit=0000ffff > gs: sel=0217 base=00000000 limit=0010ffff > ss: sel=0207 base=02b00000 limit=0010ffff > App stack: [000daa50..0005aa50] Exceptn stack: [0005a96c..00058a2c] > > Call frame traceback EIPs: > 0x0003b32b > 0x0003b3dc > 0x0002b250 > 0x0002b4ac > 0x00025b5e > 0x00026661 > 0x0001a8eb > 0x00009f92 > 0x0000afe3 > 0x0000b290 > 0x000058a7 > 0x00005d93 > 0x00005e5a > 0x0002329b > 0x00023b4b > 0x0001b49e > 0x0001d266 > 0x0001d569 > 0x000159de > 0x000343e4 > make: *** [Makefile:30: libcore.a] Error -1 > > When I revert to older Make 4.1 (11.7.2015) it compiles without problem. > > N:\86DUINO.SDK\EXAMPLE>make -v > GNU Make 4.1 (DJGPP port (r1)) > Built for i786-pc-msdosdjgpp > Copyright (C) 1988-2014 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. > > N:\86DUINO.SDK\EXAMPLE>make > make -C N:\86DUINO.SDK\core > make.exe[1]: Entering directory 'n:/86duino.sdk/core' > make.exe[1]: Nothing to be done for 'everything'. > make.exe[1]: Leaving directory 'n:/86duino.sdk/core' > gcc -c -w -g -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe > -statics -O1 -DARDUINO=158 -D_86DUINO=210 example.cpp -o example.o -IN:\86DUINO. > SDK\core -IN:\86DUINO.SDK\libraries\TimerOne > gcc -w -Wl,--gc-sections -O1 -Wl,--start-group example.o N:\86DUINO.SDK\core\lib > core.a N:\86DUINO.SDK\core\86Duino_Init.o -lTimerOne -lstdcxx -Wl,--end-group - > o 86DUINO.exe -LN:\86DUINO.SDK\libraries\TimerOne > > The Makefile (compiling just one example.cpp): > > CC := gcc > CFLAGS := -c -w -g -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -O1 -DARDUINO=158 -D_86DUINO=210 > LINK_FLAGS := -w -Wl,--gc-sections -O1 > > LIB_PATH := $(86DUINO_DIR)\core > LIB_INCLUDE := -I$(86DUINO_DIR)\core > LIB := libcore.a > INIT_OBJS := 86Duino_Init.o > > THIRD_LIB_NAME := TimerOne > THIRD_LIB_INCLUDE := $(addprefix -I$(86DUINO_DIR)\libraries\,$(THIRD_LIB_NAME)) > THIRD_LIB_PATH := $(addprefix -L$(86DUINO_DIR)\libraries\,$(THIRD_LIB_NAME)) > THIRD_LIB := $(addprefix -l,$(THIRD_LIB_NAME)) > EXTEN_LIB := > > SRCS := $(wildcard *.cpp) > OBJS := $(patsubst %cpp,%o,$(SRCS)) > TARGETS := 86DUINO.exe > > .PHONY : everything clean all $(LIB) > > everything: $(LIB) $(TARGETS) > > clean: > rm $(OBJS) $(TARGETS) > > all: clean everything > > $(LIB): > make -C $(LIB_PATH) > > $(TARGETS): $(OBJS) $(LIB_PATH)\$(LIB) $(LIB_PATH)\$(INIT_OBJS) > $(CC) $(LINK_FLAGS) -Wl,--start-group $^ $(THIRD_LIB) $(EXTEN_LIB) -lstdcxx -Wl,--end-group -o $@ $(THIRD_LIB_PATH) > > %.o: %.cpp > $(CC) $(CFLAGS) $< -o $@ $(LIB_INCLUDE) $(THIRD_LIB_INCLUDE) > This is far from enough information to investigate this issue. First you are comparing the behaviour of make 4.3 with make 4.1. The most noticeable difference between both is that make 4.1 has been compiled with djdev203 and make 4.3 with djdev205 or later and thus they use at least different malloc routines. Anyway I must be capable to reproduce your complete DJGPP environment, thus I need to know the used versions of: djdev: is this djdev205 or some compiled version from CVS repository? gcc: version used? 86duino: what is this and from where do I get it? I need the makefile plus the cpp file that you are trying to compile. Why are you using gcc to compile c++ code? If I cannot reproduce this environment I cannot debug this issue at all. In the worst case I could provide a new version of make with debug info added and you can produce a more verbose trace of the call stack trace but in the end it will not make possible to me to really debug the issue. I must be capable to run the debugger. Regards, Juan M. Guerrero