This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [pushed] Re: [PATCH 1/6] Code cleanup: C++ify .gdb_index producer.
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: gdb-patches at sourceware dot org, Victor Leschuk <vleschuk at accesssoftek dot com>
- Date: Sun, 18 Jun 2017 18:50:45 +0200
- Subject: Re: [pushed] Re: [PATCH 1/6] Code cleanup: C++ify .gdb_index producer.
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=jan dot kratochvil at redhat dot com
- Dkim-filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 9E62890907
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 9E62890907
- References: <149582312757.15869.18345460438195439402.stgit@host1.jankratochvil.net> <149582313928.15869.12647134810146005233.stgit@host1.jankratochvil.net> <8efc0742-1014-4fe0-6948-f40a9c5c4975@redhat.com>
On Mon, 12 Jun 2017 18:08:07 +0200, Pedro Alves wrote:
> Note that this patch as is actually causes a ~10% performance
> drop in .gdb_index generation that can be significant when
> running gdb index on big binaries or in a a batch of binaries.
gdb-add-index is being used in Koji builds where it takes minutes to build
even a trivial package.
Otherwise I do not see why anyone would use it for C++ programs
edit-compile-debug cycles where the speed matters:
0m 5.389s -fuse-ld=gold -Wl,--gdb-index,--build-id
0m 3.564s -fuse-ld=gold -Wl,--build-id
1.825s = --gdb-index part of gold
0m19.401s (GNU ld) -Wl,--build-id
0m 4.364s gdb-add-index
23.765s = GNU ld + gdb-add-index
23.765 / 5.389 = 4.4099090740397102
GNU ld is too slow and then gold can already produce .gdb_index along its
linking in just negligible time.
Just gold is not a default linker as discussed in:
[PATCH] [BZ #14995] glibc fails to build if gold is the default linker, even if ld.bfd is available
https://sourceware.org/ml/libc-alpha/2015-03/msg00410.html
and in my mail internally in Red Hat:
Subject: [debug-list] DWARF5 .debug_names vs. .gdb_index vs. two lds
Message-ID: <20161027162728.GA6631@host1.jankratochvil.net>
Although nobody invests time to fix gold to finally switch to it.
But then the currently missing support for DWO in .debug_names seems to be
pointless to implement into GDB as DWO is used only for better
edit-compile-debug cycle speed but then one cannot use GNU ld and so DWO
.debug_names support should be implemented rather into gold.
Jan