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]" 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> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit 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]" >> >> 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 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: ... 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.