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 -