delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2016/04/28/18:30:50

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
X-Recipient: djgpp AT delorie DOT com
Message-ID: <57228FEC.9080408@gmx.de>
Date: Fri, 29 Apr 2016 00:34: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: GCC 3.4.6 -gcoff produces executable without line number info
References: <83bn4uxben DOT fsf AT gnu DOT org> <837ffix9o7 DOT fsf AT gnu DOT org> <5722455F DOT 3020906 AT gmx DOT de> <831t5py22r DOT fsf AT gnu DOT org>
In-Reply-To: <831t5py22r.fsf@gnu.org>
X-Provags-ID: V03:K0:4WhS3Zf5l6/wG+gxg9VCKHGZ7RwICul4vrVdObafoVejkaJQiyV
rFBmhKtq/MVqUTj0L9N7fxekdJ+sJsrtpPKcKIqpneSSQBNQCzysEUJvSy7yx+l0MJnR3Cb
XBwfw2qe0tcoyyBcx2Q/BlFtchW/z04pmK8cPA+DRHLvongCmhAJG9/vIWnoFwyMzuxeMXA
MJ8Ha3W1GXo131gPgNbAQ==
X-UI-Out-Filterresults: notjunk:1;V01:K0:soj6ldjLSwk=:HNlMdLwSbkVZby1W6FK+Z3
TgkeyOYooY2j6csgJADtXekQLI6Z+VNhJendbF3uJZsAv1AlqzMorcZ4i61Zu2hqvcRqFWMLs
vB9yjkp4x8g4sMK/hi+f+p0Ll0WzoDLwYD0WpZUhFHuT2Sohi+MDdWfJ0Eh5oadcNCJhqv6kG
XH5UgkvyooduB2EmD/OSK2j/aQqM5FNw2lgGQBX1OCd+64AxONA8mCSt6bt3drc5oUcBlFUjf
Lg6CCHmMg+I3YSEwLilXxR94SWU9P4vgQumFZfjNwwVBkixy9vLaQaRgOUWA/zFyutSnHWxQG
d72Mp9eSQSg4VTav815K+H/wabdmftPv5Ov/McB0CKTDoX46kC8Mi1qMcca4Yg2QplwNwxv2t
ICDBbTGRvswxr5ZmUCDhCVVaMptXVX261cErj4v3ev3IApn2/zUHO2NXJp2wcZDEj+vGXRKvN
P7LcYXpyir/KYAhFSOVfqGL0IprYsAlsMLLuKGoWe/3X0R0yLZC3IsRMC5+4v9i5IkDOEUpzm
6xlG74SAKQAzhRYSLtVWlw3HFNZGPVtYaFJjaDx2PQZIVtNWGKYaZV+4c+f4OQRVK7tm6UAHF
cn+FSDsvNNpTi1orySvih5oVf/9Rb4oV4dwkJ8rT5gcR+8pjvxO1i3ck+mpG69mt3ZKmISvoz
G4Csov24bKTcb7yed2N1nu0YOqFXRdiVzTTOJBGqCCix470hnv0H+t4jFQhOU2wHyy/GRWGNe
gD9BicQYweFB13BjaCb8j7ZZZXnt/p7CIp0FwmPR0rCbL3Jnzsnw931qutQ3jEe4ykVI3xlkx
1vJ8BcM
Reply-To: djgpp AT delorie DOT com

Am 28.04.2016 21:18, schrieb Eli Zaretskii (eliz AT gnu DOT org) [via djgpp AT delorie DOT com]:
>> Date: Thu, 28 Apr 2016 19:16:15 +0200
>> From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp AT delorie DOT com]"<djgpp AT delorie DOT com>
>>
>> I have compiled the test progran attached to this mail.  I have used djdev206,
>> bnu226br3 and gcc346b.  To debug gdb711b has been used.  The test program was
>> compiled using -gcoff -O0 flags.  The produced binary works flawless.  If I try
>> to debug, gdb crashes like this:
>>
>> H:\_TEST_PR>gdb main.exe
>> GNU gdb (GDB) 7.11
>
> It was established back in June that GDB later than 7.7 crashes with
> COFF debug info.  That is why I used GDB 7.7, which does work (I used
> it to successfully debug Emacs produced by older Binutils).
>
> Please try GDB 7.7 or older.
>
> Also, what is djdev206?  The latest I see on DJGPP sites is v2.05, and
> AFAIK that is the latest release.
>
>> It is difficult to say if the coff debug support is still functional.
>
> Once again, the problem is definitely with Binutils, not with anything
> else.  If nothing else comes as a solution, perhaps just producing
> v2.05 compiled Binutils 2.19 would be good enough.
>
> Thanks.


There is absolute nothing broken with binutils 2.26.  The only thing broken
is gdb's capability of supporting coff debug information.  I have compiled the
sample program I have attached in the previous mail using djdev205, gcc346 und
bnu226br3 using -gcoff -O0 flags.  The __only__ DJGPP ports of gdb that are
capable to step through the code are gdb53b and gdb64b and no other ones.
I do not know who has claimed something different, but it is certainly not true.
The port gdb72b is still capable to step into main function but has lost its
capability to step into functions.  This means that you can only step through
the code of the main function and nothing else.  _All_ other DJGPP ports of gdb
starting with gdb73b are completely broken concerning coff debug support and
cannot be used at all.  Starting with gdb73, you will get the well known error
message:
H:\_TEST_PR>gdb main.exe
GNU gdb (GDB) 7.3
Copyright (C) 2011 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.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i786-pc-msdosdjgpp --target=djgpp".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from h:/_test_programme_/main.exe...done.
(gdb) b main
Breakpoint 1 at 0x160d
(gdb) r
Starting program: h:/_test_programme_/main.exe

Breakpoint 1, 0x0000160d in main ()
(gdb) s
Single stepping until exit from function main,
which has no line number information.
string(12) = foobarqwertz
0x00003c2c in __crt1_startup ()
(gdb)


I have repeated this experiment three more times, first using bnu214 and then
bnu219 instead of bnu226br3.  The results are absolute the same!!!  The last
debugger that supports coff debug info is gdb64 and no one else.  I have
repeated the experiment a third with a freshly compiled version bnu219.  For
this purpose djdev205, gcc346 and bnu219 have been used to compile the new as
and ld.  It was clear that this would be a complete waist of time because it
was clear that the used library would have no impact on the broken coff debug
support either in gcc or gdb or as or ld.  The outcome was the same again:
gdb53b and gdb64b are OK but any other version of gdb is absolutely useless.
The bottom line is, it does not matter what binutils are used; you must use
the right gdb version.

If gdb64 is not good enough to debug emacs issues, then we have reach the end
of the road of the DJGPP port of emacs.  I have neither the skills nor the time
to fix broken coff debug support neither in binutils nor in gdb.


Regards,
Juan M. Guerrero


PS: the time consuming experiment means: to compile the sample program using
djdev205, gcc346 and some particular version of binutils under test and for
this sample program all gdb versions are tested.  These are gdb53, gdb64, gdb72
and gdb73.  The versions of binutils under test were bnu226bre3, bnu219b,
bnu214b and the recompiled version of bnu219.

- Raw text -


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