public inbox for elfutils@sourceware.org
 help / color / mirror / Atom feed
From: Mark Wielaard <mark@klomp.org>
To: elfutils-devel@sourceware.org
Subject: Re: Buildbot failure in Wildebeest Builder on whole buildset
Date: Sun, 29 Nov 2020 02:18:43 +0100	[thread overview]
Message-ID: <20201129011843.GA3019@wildebeest.org> (raw)
In-Reply-To: <b39bfec153ec65870ef6fcb31aa29c1cc368441f.camel@klomp.org>

[-- Attachment #1: Type: text/plain, Size: 1941 bytes --]

Hi,

On Sat, Nov 28, 2020 at 04:12:25PM +0100, Mark Wielaard wrote:
> On Sat, 2020-11-28 at 14:41 +0100, Mark Wielaard wrote:
> > That is interesting, it only fails on the two 32bit systems.
> > The failure is about the specific error message returned.
> > 
> > FAIL: run-dwflsyms.sh
> > =====================
> > --- dwflsyms.out	2020-11-28 01:17:44.130295202 +0000
> > +++ -	2020-11-28 01:17:44.140327188 +0000
> > @@ -10,7 +10,7 @@
> >     9: NOTYPE	GLOBAL	__kernel_sigtramp_rt64 (12) 0xfffb1af0418
> >    10: NOTYPE	GLOBAL	__kernel_clock_gettime (152) 0xfffb1af0494
> >    11: NOTYPE	GLOBAL	__kernel_get_syscall_map (44) 0xfffb1af05f4
> > -ld64.so.1: No symbol table found
> > +ld64.so.1: Callback returned failure
> >     0: NOTYPE	LOCAL	 (0) 0
> >     1: SECTION	LOCAL	 (0) 0x461b0190
> >     2: SECTION	LOCAL	 (0) 0x461b01a4
> > FAIL run-dwflsyms.sh (exit status: 1)
> > 
> > So there is some subtle difference in the behavior of the
> > 'segment_report_module: Inline consider_notes() into only caller'
> > patch.
> > 
> > I haven't spotted it yet, but I suspect some 'return' from the original
> > function got mistranslated as a continue, break or goto out in the
> > inlined variant.
> > 
> > The specific testcase that fails is:
> > testrun_compare ${abs_builddir}/dwflsyms -e testfile66 --core=testfile66.core
> > 
> > Which is a big endian ppc64 executable and core file.
> 
> The issue can be replicated on x86_64 with:
> 
> $ CXX="g++ -m32" CC="gcc -m32" ~/src/elfutils/configure --enable-maintainer-mode
> $ make -j4
> $ make check TESTS=run-dwflsyms.sh

Found it. There was a small change to calculate note_vaddr (so it
wouldn't clash with the local vaddr) as:

  const size_t note_vaddr = start + offset;

But size_t is only 32bit on the failing systems, which is obviously
not enough for analyzing addresses from a 64bit core file. The fix is
simply to use GElf_Addr instead. Pushed the attached to fix it.

Cheers,

Mark

[-- Attachment #2: 0001-libdwfl-Use-64bit-GElf_Addr-instead-of-size_t-to-cal.patch --]
[-- Type: text/x-diff, Size: 1618 bytes --]

From 609290a61d4f900c65b7e0e273981022a826e4c0 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Sun, 29 Nov 2020 01:57:53 +0100
Subject: [PATCH] libdwfl: Use 64bit GElf_Addr instead of size_t to calculate
 address.

size_t is too small on 32 bit systems to analyze a 64 bit core file.

Signed-off-by: Mark Wielaard <mark@klomp.org>
---
 libdwfl/ChangeLog                    | 5 +++++
 libdwfl/dwfl_segment_report_module.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index a5cffc49..67a4d743 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,3 +1,8 @@
+2020-11-28  Mark Wielaard  <mark@klomp.org>
+
+	* dwfl_segment_report_module.c (dwfl_segment_report_module):
+	Use GElf_Addr to calculate note_vaddr instead of size_t.
+
 2020-11-26  Timm Bäder  <tbaeder@redhat.com>
 
 	* dwfl_segment_report_module.c (dwfl_segment_report_module):
diff --git a/libdwfl/dwfl_segment_report_module.c b/libdwfl/dwfl_segment_report_module.c
index 8d99e3bb..ee9cfa2e 100644
--- a/libdwfl/dwfl_segment_report_module.c
+++ b/libdwfl/dwfl_segment_report_module.c
@@ -501,7 +501,7 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
 
               /* We calculate from the p_offset of the note segment,
                because we don't yet know the bias for its p_vaddr.  */
-              const size_t note_vaddr = start + offset;
+              const GElf_Addr note_vaddr = start + offset;
               void *data;
               size_t data_size;
               if (read_portion (&read_state, &data, &data_size,
-- 
2.18.4


  reply	other threads:[~2020-11-29  1:19 UTC|newest]

Thread overview: 153+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-28  4:15 buildbot
2020-11-28 13:41 ` Mark Wielaard
2020-11-28 15:12   ` Mark Wielaard
2020-11-29  1:18     ` Mark Wielaard [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-02-07 20:27 buildbot
2022-02-07 20:46 ` Mark Wielaard
2022-02-07 22:29   ` Mark Wielaard
2022-02-08 10:18     ` Mark Wielaard
2022-01-07 18:02 buildbot
2021-12-21 16:34 buildbot
2021-12-21 13:36 buildbot
2021-12-17 18:34 buildbot
2021-12-16  1:10 buildbot
2021-12-16 17:05 ` Mark Wielaard
2021-12-10 19:56 buildbot
2021-12-11 16:16 ` Mark Wielaard
2021-12-08 17:20 buildbot
2021-12-08 22:08 ` Mark Wielaard
2021-11-15 10:56 buildbot
2021-11-15 11:37 ` Mark Wielaard
2021-11-04 20:14 buildbot
2021-11-05  9:28 ` Mark Wielaard
2021-10-18 13:45 buildbot
2021-10-18 13:50 ` Mark Wielaard
2021-09-16 15:00 buildbot
2021-09-16 16:16 ` Mark Wielaard
2021-09-12 23:16 buildbot
2021-09-13  9:06 ` Mark Wielaard
2021-09-14 11:05   ` Mark Wielaard
2021-09-12 21:56 buildbot
2021-09-12 22:30 ` Mark Wielaard
2021-09-10  5:54 buildbot
2021-09-10  4:42 buildbot
2021-09-10  1:00 buildbot
2021-09-09 16:05 buildbot
2021-09-07  1:51 buildbot
2021-09-07  0:29 buildbot
2021-09-06 21:44 buildbot
2021-09-03 14:08 buildbot
2021-09-03 23:47 ` Mark Wielaard
2021-09-06 15:07   ` Mark Wielaard
2021-09-06 20:02     ` Mark Wielaard
2021-09-06 21:14       ` Mark Wielaard
2021-09-07  0:12       ` Mark Wielaard
2021-09-07  8:34         ` Dmitry V. Levin
2021-09-07 22:04           ` Mark Wielaard
2021-09-03 10:33 buildbot
2021-09-03 11:14 ` Mark Wielaard
2021-08-27 23:19 buildbot
2021-08-28 14:01 ` Mark Wielaard
2021-08-28 14:41   ` Frank Ch. Eigler
2021-08-27 21:20 buildbot
2021-08-28 12:29 ` Mark Wielaard
2021-08-11 23:16 buildbot
2021-08-23 20:48 ` Mark Wielaard
2021-08-04 15:13 buildbot
2021-08-05 14:19 ` Mark Wielaard
2021-07-22 17:21 buildbot
2021-07-22 14:24 buildbot
2021-07-22 14:36 ` Mark Wielaard
2021-07-19 16:33 buildbot
2021-07-08  9:53 buildbot
2021-07-08  9:56 ` Mark Wielaard
2021-06-15 21:29 buildbot
2021-06-15 21:40 ` Mark Wielaard
2021-06-15 21:53   ` Frank Ch. Eigler
2021-06-15 22:14     ` Mark Wielaard
2021-06-15 23:00       ` Frank Ch. Eigler
2021-06-16  9:35         ` Mark Wielaard
2021-06-12 23:39 buildbot
2021-06-12 23:53 ` Mark Wielaard
2021-04-15 12:53 buildbot
2021-04-13 16:54 buildbot
2021-04-14 12:13 ` Mark Wielaard
2021-04-13 14:29 buildbot
2021-04-14 12:06 ` Mark Wielaard
2021-03-31 11:29 buildbot
2021-03-31 11:37 ` Mark Wielaard
2021-03-07 19:11 buildbot
2021-03-06 14:45 buildbot
2021-03-06 15:46 ` Mark Wielaard
2021-03-02 12:45 buildbot
2021-03-02 11:53 buildbot
2021-03-02  4:28 buildbot
2021-03-01 19:56 buildbot
2021-03-01 22:13 ` Mark Wielaard
2021-02-17 22:22 buildbot
2021-02-12 18:45 buildbot
2021-02-12 16:40 buildbot
2021-02-09  2:26 buildbot
2021-02-09  9:05 ` Mark Wielaard
2021-02-12 15:58   ` Mark Wielaard
2021-02-12 19:09     ` Mark Wielaard
2020-12-16 23:54 buildbot
2020-12-16 23:58 ` Mark Wielaard
2020-12-12 17:11 buildbot
2020-12-12 18:47 ` Mark Wielaard
2020-11-23 17:50 buildbot
2020-11-23 17:58 ` Mark Wielaard
2020-11-19 13:26 buildbot
2020-11-19 13:55 ` Mark Wielaard
2020-11-17 15:09 buildbot
2020-11-17 17:10 ` Mark Wielaard
2020-10-31  2:12 buildbot
2020-10-31 10:22 ` Mark Wielaard
2020-10-30 15:41 buildbot
2020-10-30  1:51 buildbot
2020-10-30  8:45 ` Mark Wielaard
2020-10-08 16:45 buildbot
2020-10-08 17:38 ` Mark Wielaard
2020-06-19 23:20 buildbot
2020-06-19 23:47 ` Mark Wielaard
2020-06-11 16:00 buildbot
2020-06-11 16:15 ` Mark Wielaard
2020-03-26 16:53 buildbot
2020-03-25 23:48 buildbot
2020-03-26  9:15 ` Mark Wielaard
2020-03-23 13:38 buildbot
2020-03-23 14:08 ` Mark Wielaard
2020-03-23 23:06   ` Mark Wielaard
2020-03-04 12:09 buildbot
2020-03-04 12:45 ` Mark Wielaard
2020-02-26 21:42 buildbot
2020-02-26 21:59 ` Mark Wielaard
2020-02-10 22:34 buildbot
2020-02-21 12:10 ` Mark Wielaard
2020-02-10 19:11 buildbot
2020-01-20 21:05 buildbot
2020-01-20 19:44 buildbot
2020-01-17  0:08 buildbot
2019-12-03  9:49 buildbot
2019-12-03 10:23 ` Mark Wielaard
2019-11-23  2:25 buildbot
2019-11-23  1:38 buildbot
2019-10-26  2:47 buildbot
2019-10-26 12:08 ` Mark Wielaard
2019-09-07 14:54 buildbot
2019-09-07 19:53 ` Mark Wielaard
2019-08-29 13:59 buildbot
2019-08-29 14:23 ` Mark Wielaard
2019-08-29 15:52   ` Mark Wielaard
2019-08-28 22:08 buildbot
2019-08-28 22:13 ` Mark Wielaard
2019-08-15  8:28 buildbot
2019-06-28 23:02 buildbot
2019-06-28 23:47 ` Mark Wielaard
2019-07-01 15:12   ` Mark Wielaard
2018-11-13 16:42 buildbot
2018-11-13 17:29 ` Mark Wielaard
2018-11-13 20:46   ` Mark Wielaard
2018-11-10 12:32 buildbot
2018-11-10 12:36 ` Mark Wielaard
2018-11-06 14:15 buildbot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201129011843.GA3019@wildebeest.org \
    --to=mark@klomp.org \
    --cc=elfutils-devel@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).