delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2020/05/01/10:18:52

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]" <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: <d2d1f8c8-3eb5-4d0b-a70c-9033b6289b49 AT googlegroups DOT com>
In-Reply-To: <d2d1f8c8-3eb5-4d0b-a70c-9033b6289b49@googlegroups.com>
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<http://gnu.org/licenses/gpl.html>
> 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<http://gnu.org/licenses/gpl.html>
> 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

- Raw text -


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