public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* Re: [ANNOUNCEMENT] GDB 8.2 released!
       [not found] <announce.20180905091451.5DEB883A8F@joel.gnat.com>
@ 2018-09-09 10:07 ` Eli Zaretskii
  2018-09-09 18:36   ` Tom Tromey
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2018-09-09 10:07 UTC (permalink / raw)
  To: gdb-patches

Building GDB 8.2 with MinGW GCC 7.3.0 on MS-Windows, I see a warning:

       CXX    record-btrace.o
     In file included from exceptions.h:23:0,
		      from utils.h:24,
		      from defs.h:666,
		      from record-btrace.c:22:
     ui-out.h: In function 'void btrace_insn_history(ui_out*, const btrace_thread_info*, const btrace_insn_iterator*, const btrace_insn_iterator*, gdb_disassembly_flags)':
     ui-out.h:197:18: warning: 'asm_list.ui_out_emit_type<(ui_out_type)1>::m_uiout' may be used uninitialized in this function [-Wmaybe-uninitialized]
	  m_uiout->end (Type);
	  ~~~~~~~~~~~~~^~~~~~
     record-btrace.c:792:35: note: 'asm_list.ui_out_emit_type<(ui_out_type)1>::m_uiout' was declared here
	gdb::optional<ui_out_emit_list> asm_list;
					^~~~~~~~

Is this a real problem?

Also, a couple of places in remote-fileio.c use gettimeofday, which I
believe is deprecated under the recent versions of Posix; the
recommended replacement is clock_gettime.

Running the built GDB on itself produces the following warnings:

   During symbol reading, unsupported tag: 'DW_TAG_unspecified_type'.
   During symbol reading, macro `WCHAR_MIN' redefined at d:/usr/include/wchar.h:70;
    original definition at build-gnulib/import/stdint.h:561.
   During symbol reading, macro `WCHAR_MAX' redefined at d:/usr/include/wchar.h:71;
    original definition at build-gnulib/import/stdint.h:563.
   Breakpoint 1 at 0x514740: file common/errors.c, line 51.
   During symbol reading, unsupported tag: 'DW_TAG_unspecified_type'.
   During symbol reading, const value length mismatch for 'std::ratio<1, 1000000000>::num', got 8, expected 0.
   During symbol reading, const value length mismatch for 'std::ratio<1, 1000000000>::den', got 8, expected 0.
   During symbol reading, Member function "~_Sp_counted_base" (offset 0x3f07e1) is	virtual but the vtable offset is not specified.
   During symbol reading, cannot get low and high bounds for subprogram DIE at 0x40c43e.
   During symbol reading, cannot get low and high bounds for subprogram DIE at 0x40c71b.
   During symbol reading, Member function "~probe" (offset 0x438141) is virtual but the vtable offset is not specified.
   During symbol reading, Child DIE 0x4433a0 and its abstract origin 0x448aff have different parents.
   During symbol reading, Child DIE 0x44340f and its abstract origin 0x448aff have different parents.
   During symbol reading, No DW_FORM_block* DW_AT_call_value for DW_TAG_call_site child DIE 0x447010 [in module D:\gnu\gdb-8.2\gdb\gdb.exe].
   During symbol reading, No DW_FORM_block* DW_AT_call_value for DW_TAG_call_site child DIE 0x447050 [in module D:\gnu\gdb-8.2\gdb\gdb.exe].
   During symbol reading, Multiple children of DIE 0x448d3a refer to DIE 0x448a80 as their abstract origin.
   During symbol reading, Multiple children of DIE 0x448d78 refer to DIE 0x448a80 as their abstract origin.
   During symbol reading, DIE 0x44aa21 and its abstract origin 0x446e69 have different tags.
   During symbol reading, DIE 0x44b04f and its abstract origin 0x446e69 have different tags.
   During symbol reading, Child DIE 0x44ffb5 and its abstract origin 0x44efe3 have different tags.
   During symbol reading, Child DIE 0x4500cd and its abstract origin 0x448821 have different tags.

Anything here I should worry about?

Running "make -C gdb install-strip" fails:

     /bin/sh /d/gnu/gdb-8.2/install-sh -c -s ./contrib/gdb-add-index.sh \
	     d:/usr/test-gdb-8.2/bin/$transformed_name.exe
     d:\usr\bin\strip.exe:d:/usr/test-gdb-8.2/bin/_inst.8116_: file format not recognized

It fails because Makefile attempts to invoke 'strip' on a shell
script.  I couldn't find any way to get past that except by hacking
gdb/Makefile to remove the offending portion, then installing that
shell script manually.  How does this work on Posix hosts?

Thanks.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCEMENT] GDB 8.2 released!
  2018-09-09 10:07 ` [ANNOUNCEMENT] GDB 8.2 released! Eli Zaretskii
@ 2018-09-09 18:36   ` Tom Tromey
  2018-09-09 19:24     ` Eli Zaretskii
  2018-09-09 20:25     ` Mark Wielaard
  0 siblings, 2 replies; 10+ messages in thread
From: Tom Tromey @ 2018-09-09 18:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: gdb-patches, mjw

>>>>> "Eli" == Eli Zaretskii <eliz@gnu.org> writes:

CCing Mark Wielaard -- Mark see about 3/4 down...

Eli> Building GDB 8.2 with MinGW GCC 7.3.0 on MS-Windows, I see a warning:
Eli>        CXX    record-btrace.o
Eli>      In file included from exceptions.h:23:0,
Eli> 		      from utils.h:24,
Eli> 		      from defs.h:666,
Eli> 		      from record-btrace.c:22:
Eli>      ui-out.h: In function 'void btrace_insn_history(ui_out*, const btrace_thread_info*, const btrace_insn_iterator*, const btrace_insn_iterator*, gdb_disassembly_flags)':
Eli>      ui-out.h:197:18: warning: 'asm_list.ui_out_emit_type<(ui_out_type)1>::m_uiout' may be used uninitialized in this function [-Wmaybe-uninitialized]
m_uiout-> end (Type);
Eli> 	  ~~~~~~~~~~~~~^~~~~~
Eli>      record-btrace.c:792:35: note: 'asm_list.ui_out_emit_type<(ui_out_type)1>::m_uiout' was declared here
Eli> 	gdb::optional<ui_out_emit_list> asm_list;
Eli> 					^~~~~~~~

Eli> Is this a real problem?

No, I think this is a false positive from gcc.
You may want to file a gcc bug though I feel like there may be one already.

Eli> Also, a couple of places in remote-fileio.c use gettimeofday, which I
Eli> believe is deprecated under the recent versions of Posix; the
Eli> recommended replacement is clock_gettime.

Please file a bug.  I don't know how important this is or whether we
still care about porting to systems without that.  Maybe gnulib can help
here.

Eli>    During symbol reading, unsupported tag: 'DW_TAG_unspecified_type'.

We discussed this one before.  It's a mild gdb bug.  Probably no
consequences.

Eli>    During symbol reading, macro `WCHAR_MIN' redefined at d:/usr/include/wchar.h:70;
Eli>     original definition at build-gnulib/import/stdint.h:561.
Eli>    During symbol reading, macro `WCHAR_MAX' redefined at d:/usr/include/wchar.h:71;
Eli>     original definition at build-gnulib/import/stdint.h:563.

Maybe a gcc bug.

Eli>    During symbol reading, const value length mismatch for 'std::ratio<1, 1000000000>::num', got 8, expected 0.

gcc bug.

Eli>    During symbol reading, Member function "~_Sp_counted_base" (offset 0x3f07e1) is	virtual but the vtable offset is not specified.

We discussed this one before, too.  Longstanding gcc bug with no agreed
upon approach to resolving it.

I think my preferred approach would be for g++ to emit DWARF describing
the virtual table in its entirety.  This would let gdb know a bit less
about the ABI and would also maybe have some other benefits.  This is
the path we're heading down for Rust.

Eli>    During symbol reading, cannot get low and high bounds for subprogram DIE at 0x40c43e.

Eli>    During symbol reading, Child DIE 0x4433a0 and its abstract origin 0x448aff have different parents.

Eli>    During symbol reading, No DW_FORM_block* DW_AT_call_value for DW_TAG_call_site child DIE 0x447010 [in module D:\gnu\gdb-8.2\gdb\gdb.exe].

Eli>    During symbol reading, Multiple children of DIE 0x448d3a refer to DIE 0x448a80 as their abstract origin.

Eli>    During symbol reading, DIE 0x44aa21 and its abstract origin 0x446e69 have different tags.

I don't know about these.
Many times these complaints are due to DWARF oddities, but I feel there
are some complaints that represent gdb limitations.  So you have to dig
to find out.

I think most of these things would be good things for dwarflint to
check.  (Hi Mark.)

Eli> Anything here I should worry about?

Probably not.

Eli> Running "make -C gdb install-strip" fails:

Eli>      /bin/sh /d/gnu/gdb-8.2/install-sh -c -s ./contrib/gdb-add-index.sh \
Eli> 	     d:/usr/test-gdb-8.2/bin/$transformed_name.exe
Eli>      d:\usr\bin\strip.exe:d:/usr/test-gdb-8.2/bin/_inst.8116_: file format not recognized

Eli> It fails because Makefile attempts to invoke 'strip' on a shell
Eli> script.  I couldn't find any way to get past that except by hacking
Eli> gdb/Makefile to remove the offending portion, then installing that
Eli> shell script manually.  How does this work on Posix hosts?

gdb defines:

    INSTALL_SCRIPT = @INSTALL_SCRIPT@

... but install-only does not use it for gdb-add-index.sh.
I think this is just a bug.  It is used properly for gcore.

I didn't try the obvious patch, but maybe you could?

Tom

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCEMENT] GDB 8.2 released!
  2018-09-09 18:36   ` Tom Tromey
@ 2018-09-09 19:24     ` Eli Zaretskii
  2018-09-09 19:45       ` Tom Tromey
  2018-09-09 19:49       ` Eli Zaretskii
  2018-09-09 20:25     ` Mark Wielaard
  1 sibling, 2 replies; 10+ messages in thread
From: Eli Zaretskii @ 2018-09-09 19:24 UTC (permalink / raw)
  To: Tom Tromey; +Cc: gdb-patches, mjw

> From: Tom Tromey <tom@tromey.com>
> Cc: gdb-patches@sourceware.org, mjw@redhat.com
> Date: Sun, 09 Sep 2018 12:36:44 -0600
> 
> Eli> Running "make -C gdb install-strip" fails:
> 
> Eli>      /bin/sh /d/gnu/gdb-8.2/install-sh -c -s ./contrib/gdb-add-index.sh \
> Eli> 	     d:/usr/test-gdb-8.2/bin/$transformed_name.exe
> Eli>      d:\usr\bin\strip.exe:d:/usr/test-gdb-8.2/bin/_inst.8116_: file format not recognized
> 
> Eli> It fails because Makefile attempts to invoke 'strip' on a shell
> Eli> script.  I couldn't find any way to get past that except by hacking
> Eli> gdb/Makefile to remove the offending portion, then installing that
> Eli> shell script manually.  How does this work on Posix hosts?
> 
> gdb defines:
> 
>     INSTALL_SCRIPT = @INSTALL_SCRIPT@
> 
> ... but install-only does not use it for gdb-add-index.sh.
> I think this is just a bug.  It is used properly for gcore.
> 
> I didn't try the obvious patch, but maybe you could?

If you tell me what is the obvious patch, I will certainly try it.

Thanks for the other answers.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCEMENT] GDB 8.2 released!
  2018-09-09 19:24     ` Eli Zaretskii
@ 2018-09-09 19:45       ` Tom Tromey
  2018-09-09 19:49       ` Eli Zaretskii
  1 sibling, 0 replies; 10+ messages in thread
From: Tom Tromey @ 2018-09-09 19:45 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Tom Tromey, gdb-patches, mjw

>>>>> "Eli" == Eli Zaretskii <eliz@gnu.org> writes:

Eli> If you tell me what is the obvious patch, I will certainly try it.

Sorry about that.  It's appended

Tom

diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 3117bf74094..45f98327842 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1767,7 +1767,7 @@ install-only: $(CONFIG_INSTALL)
 	else \
 	  true ; \
 	fi ; \
-	$(INSTALL_PROGRAM) $(srcdir)/contrib/gdb-add-index.sh \
+	$(INSTALL_SCRIPT) $(srcdir)/contrib/gdb-add-index.sh \
 		$(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT)
 	@$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCEMENT] GDB 8.2 released!
  2018-09-09 19:24     ` Eli Zaretskii
  2018-09-09 19:45       ` Tom Tromey
@ 2018-09-09 19:49       ` Eli Zaretskii
  2018-09-10  1:41         ` Tom Tromey
  1 sibling, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2018-09-09 19:49 UTC (permalink / raw)
  To: tom; +Cc: gdb-patches, mjw

> Date: Sun, 09 Sep 2018 22:24:38 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> CC: gdb-patches@sourceware.org, mjw@redhat.com
> 
> > I didn't try the obvious patch, but maybe you could?
> 
> If you tell me what is the obvious patch, I will certainly try it.

Errr... you mean the patch below?  That works.

--- gdb/Makefile.in~	2018-09-05 10:44:28.000000000 +0300
+++ gdb/Makefile.in	2018-09-09 22:46:39.696000000 +0300
@@ -1768,8 +1768,8 @@
 	else \
 	  true ; \
 	fi ; \
-	$(INSTALL_PROGRAM) $(srcdir)/contrib/gdb-add-index.sh \
-		$(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT)
+	$(INSTALL_SCRIPT) $(srcdir)/contrib/gdb-add-index.sh \
+		$(DESTDIR)$(bindir)/$$transformed_name
 	@$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
 
 install-strip:

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCEMENT] GDB 8.2 released!
  2018-09-09 18:36   ` Tom Tromey
  2018-09-09 19:24     ` Eli Zaretskii
@ 2018-09-09 20:25     ` Mark Wielaard
  1 sibling, 0 replies; 10+ messages in thread
From: Mark Wielaard @ 2018-09-09 20:25 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Eli Zaretskii, gdb-patches

On Sun, Sep 09, 2018 at 12:36:44PM -0600, Tom Tromey wrote:
> >>>>> "Eli" == Eli Zaretskii <eliz@gnu.org> writes:
> CCing Mark Wielaard -- Mark see about 3/4 down...

Hi Tom,

> Eli>    During symbol reading, cannot get low and high bounds for subprogram DIE at 0x40c43e.
> 
> Eli>    During symbol reading, Child DIE 0x4433a0 and its abstract origin 0x448aff have different parents.
> 
> Eli>    During symbol reading, No DW_FORM_block* DW_AT_call_value for DW_TAG_call_site child DIE 0x447010 [in module D:\gnu\gdb-8.2\gdb\gdb.exe].
> 
> Eli>    During symbol reading, Multiple children of DIE 0x448d3a refer to DIE 0x448a80 as their abstract origin.
> 
> Eli>    During symbol reading, DIE 0x44aa21 and its abstract origin 0x446e69 have different tags.
> 
> I don't know about these.
> Many times these complaints are due to DWARF oddities, but I feel there
> are some complaints that represent gdb limitations.  So you have to dig
> to find out.
> 
> I think most of these things would be good things for dwarflint to
> check.  (Hi Mark.)

Yes, they would be. But... eu-dwarflint really needs a bit of help.
It is only available on a branch:
https://sourceware.org/git/?p=elfutils.git;a=shortlog;h=refs/heads/dwarflint
No other code is written in C++. To get it integrated into master it
would need someone with some knowledge of C++ and what good interfaces
are that are easy to keep API compatible in the long run. Or it would
need someone with some build/auto* knowledge to get it to build
completely on the build of dwarflint itself can easily be disabled.

Cheers,

Mark

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCEMENT] GDB 8.2 released!
  2018-09-09 19:49       ` Eli Zaretskii
@ 2018-09-10  1:41         ` Tom Tromey
  2018-09-10  7:16           ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Tom Tromey @ 2018-09-10  1:41 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: tom, gdb-patches, mjw

>>>>> "Eli" == Eli Zaretskii <eliz@gnu.org> writes:

Eli> Errr... you mean the patch below?  That works.

Yep.

Eli> +		$(DESTDIR)$(bindir)/$$transformed_name

Thanks, I had missed this the exe suffix thing.

Feel free to check this in; but if you'd rather, let me know & I can do
it.

thanks
Tom

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCEMENT] GDB 8.2 released!
  2018-09-10  1:41         ` Tom Tromey
@ 2018-09-10  7:16           ` Eli Zaretskii
  2018-09-10 16:01             ` Tom Tromey
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2018-09-10  7:16 UTC (permalink / raw)
  To: Tom Tromey; +Cc: gdb-patches, mjw

> From: Tom Tromey <tom@tromey.com>
> Cc: tom@tromey.com,  gdb-patches@sourceware.org,  mjw@redhat.com
> Date: Sun, 09 Sep 2018 19:41:01 -0600
> 
> >>>>> "Eli" == Eli Zaretskii <eliz@gnu.org> writes:
> 
> Eli> Errr... you mean the patch below?  That works.
> 
> Yep.
> 
> Eli> +		$(DESTDIR)$(bindir)/$$transformed_name
> 
> Thanks, I had missed this the exe suffix thing.
> 
> Feel free to check this in; but if you'd rather, let me know & I can do
> it.

Pushed to master, thanks.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCEMENT] GDB 8.2 released!
  2018-09-10  7:16           ` Eli Zaretskii
@ 2018-09-10 16:01             ` Tom Tromey
  2018-09-10 17:29               ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Tom Tromey @ 2018-09-10 16:01 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Tom Tromey, gdb-patches, mjw

>>>>> "Eli" == Eli Zaretskii <eliz@gnu.org> writes:

Eli> Pushed to master, thanks.

I'm cherry-picking this to the 8.2 branch as well.

Tom

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ANNOUNCEMENT] GDB 8.2 released!
  2018-09-10 16:01             ` Tom Tromey
@ 2018-09-10 17:29               ` Eli Zaretskii
  0 siblings, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2018-09-10 17:29 UTC (permalink / raw)
  To: Tom Tromey; +Cc: gdb-patches, mjw

> From: Tom Tromey <tom@tromey.com>
> Cc: Tom Tromey <tom@tromey.com>,  gdb-patches@sourceware.org,  mjw@redhat.com
> Date: Mon, 10 Sep 2018 10:00:56 -0600
> 
> >>>>> "Eli" == Eli Zaretskii <eliz@gnu.org> writes:
> 
> Eli> Pushed to master, thanks.
> 
> I'm cherry-picking this to the 8.2 branch as well.

Great, thanks.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-09-10 17:29 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <announce.20180905091451.5DEB883A8F@joel.gnat.com>
2018-09-09 10:07 ` [ANNOUNCEMENT] GDB 8.2 released! Eli Zaretskii
2018-09-09 18:36   ` Tom Tromey
2018-09-09 19:24     ` Eli Zaretskii
2018-09-09 19:45       ` Tom Tromey
2018-09-09 19:49       ` Eli Zaretskii
2018-09-10  1:41         ` Tom Tromey
2018-09-10  7:16           ` Eli Zaretskii
2018-09-10 16:01             ` Tom Tromey
2018-09-10 17:29               ` Eli Zaretskii
2018-09-09 20:25     ` Mark Wielaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).