Hi,
On Tue, Feb 09, 2021 at 10:05:05AM +0100, Mark Wielaard wrote:
> On Tue, 2021-02-09 at 02:26 +, build...@builder.wildebeest.org
> wrote:
> > The Buildbot has detected a failed build on builder whole buildset
> > while building elfutils.
> > Full details are ava
by adding quotes around all make variables (not just $CC)
> used in setting up TESTS_ENVIRONMENT.
Thanks, that works except for the valgrind_cmd (used when configuring
with --enable-valgrind), because that was already quoted. I removed the
quotes in the original variable assignment and pushed the patch
0x7ff1dacdc91b - 1__clone
> frameno: 17 symname: __clone
> /builddir/elfutils-0.183/tests/backtrace: dwfl_thread_getframes: no
> matching address range
> /builddir/elfutils-0.183/tests/backtrace: Too many frames: 17
BTW. Here I think another issue is the __clone isn'
On Fri, 2021-02-12 at 16:58 +0100, Mark Wielaard wrote:
> Hi,
>
> On Tue, Feb 09, 2021 at 10:05:05AM +0100, Mark Wielaard wrote:
> > On Tue, 2021-02-09 at 02:26 +, build...@builder.wildebeest.org
> > wrote:
> > > The Buildbot has detected a failed build on buil
might be good if __libdw_line_header_state_parse
would just set the values in the line_state_header and let the caller
decide what to do with them.
Cheers,
Mark
On Fri, 2021-02-12 at 16:30 +0100, Mark Wielaard wrote:
> For DWARF version 4 or higher a block form really encodes a block,
> not an expression location. Also constant offsets can be expressed
> as DW_FORM_implicit_const in DWARF version 5.
Pushed.
On Fri, 2021-02-12 at 16:47 +0100, Mark Wielaard wrote:
> While inspecting some type units I noticed the type offset seemed off.
> We were printing the offset as is, but it should include the offset of
> the unit. There was actually a testcase for this, run-readelf-types.sh
> but that
On Wed, 2021-02-17 at 11:12 +0100, Timm Bäder via Elfutils-devel wrote:
> Hi,
>
> I'm mainly leaving this patch here to discuss what to do about it.
> Clang complains because of -Wxor-used-as-pow. So of course one
> possibility is to use -Wno-xor-used-as-pow. It also prints
> '0x2 ^ NO_RESIZING' a
Hi Érico,
On Wed, 2021-02-17 at 15:15 -0300, Érico Nogueira wrote:
> Em 17/02/2021 13:49, Mark Wielaard escreveu:
> > -#define NO_RESIZING 0u
> > -#define ALLOCATING_MEMORY 1u
> > -#define MOVING_DATA 3u
> > -#define CLEANING 2u
> > +#define NO_RESIZING 0
ct whatever info is there.
Thanks. Do we need a NEWS entry for this? As if people do read
documentation :) It is probably unlikely might be that people have
dpkg-deb installed, but not bsdtar. In which case their setup might
suddenly break. If we have it in NEWS we can at least say "told you
so".
Cheers,
Mark
believe the
warnings are only in the tools now. It would be really good if we could
get rid of the stack-usage warnings in: readelf.c, nm.c, size.c,
strip.c, elflint.c, findtextrel.c, elfcmp.c, objdump.c, ranlib.c, ar.c,
unstrip.c. But that is for another day.
I have to stare at the marcos a bit to make sure I really understand
what is going on. But this looks really good.
Thanks,
Mark
Hi Timm,
On Thu, Feb 18, 2021 at 08:41:01AM +0100, Timm Bäder wrote:
> On 17/02/2021 17:49, Mark Wielaard wrote:
> >
> > I think both the comment and the warning message are a little
> > misleading.
> >
> > The comment should really read "Change state from
obally
unique id is globally unique and we just clarify what it means to use
a build-id, sup_checksum or dwo_id together with a request for an
executable, debuginfo or source/file?
Thanks,
Mark
g_sup section can be found in
section 7.3.6 DWARF Supplementary Object Files
http://dwarfstd.org/doc/DWARF5.pdf
Cheers,
Mark
Hi Timm,
On Wed, 2021-02-17 at 09:42 +0100, Timm Bäder via Elfutils-devel wrote:
> Rename it to buffer_pos() to be a bit more descriptive and get rid of a
> nested function this way.
Added a ChangeLog entry and pushed.
Thanks,
Mark
Hi Timm,
On Wed, 2021-02-17 at 09:42 +0100, Timm Bäder via Elfutils-devel wrote:
> And rename it to buffer_left() to be a bit more descriptive
Added a ChangeLog entry and pushed.
Thanks,
Mark
Hi Timm,
On Wed, 2021-02-17 at 09:43 +0100, Timm Bäder via Elfutils-devel wrote:
> Get rid of a nested function this way.
Added a ChangeLog entry and pushed.
Thanks,
Mark
Hi Timm,
On Wed, 2021-02-17 at 09:43 +0100, Timm Bäder via Elfutils-devel wrote:
> Get rid of a nested function this way.
Adding a ChangeLog entry explaining the new logic used and pushed.
Thanks,
Mark
Hi Timm,
On Wed, 2021-02-17 at 09:43 +0100, Timm Bäder via Elfutils-devel wrote:
> Get rid of an unnecessary nested function this way.
It took me a while to see why this was correct. Explained it in a new
ChangeLog entry that I added before pushing.
Thanks,
Mark
Hi Timm,
On Wed, 2021-02-17 at 09:43 +0100, Timm Bäder via Elfutils-devel wrote:
> Get rid of a nested function this way.
Made one line smaller than 80 chars and added a ChangeLog entry.
Pushed,
Mark
Hi Timm,
On Wed, 2021-02-17 at 09:43 +0100, Timm Bäder via Elfutils-devel wrote:
> This is a simple one-liner, so inline this into the few callers.
> Get rid of a nested function this way.
Added a ChangeLog entry and pushed.
Thanks,
Mark
Hi Timm,
On Wed, 2021-02-17 at 09:45 +0100, Timm Bäder via Elfutils-devel wrote:
> Get rid of a nested function this way.
Added a ChangeLog entry and pushed.
Thanks,
Mark
Hi Timm,
On Wed, 2021-02-17 at 09:45 +0100, Timm Bäder via Elfutils-devel wrote:
> Get rid of a nested function this way.
Added a ChangeLog entry and pushed.
Thanks,
Mark
Hi Timm,
On Wed, 2021-02-17 at 09:45 +0100, Timm Bäder via Elfutils-devel wrote:
> Get rid of a nested function this way.
Added a ChangeLog entry and pushed.
Thanks,
Mark
f);
> + if (names != NULL)
> +{
> + dwelf_strtab_free (names);
> + free (scnstrents);
> + free (symstrents);
> + free (namesbuf);
> + if (scnnames != NULL)
> + {
> + for (size_t n = 0; n < shnum; n++)
> + free (scnnames[n]);
> + free (scnnames);
> + }
> +}
> +
> + free (sections);
> + return res;
> }
Cheers,
Mark
l unstable. But now it only happens on s390x. And there are
at least 5 good builds between the failures.
Cheers,
Mark
is just a test.
Pushed,
Mark
Hi Timm,
On Wed, 2021-02-17 at 09:46 +0100, Timm Bäder via Elfutils-devel wrote:
> Get rid of a nested function this way.
Same comments as the last one. 4 extra arguments is pushing it a bit.
But still pushed :)
Thanks,
Mark
nup() function and
> + replace it with a cleanup label at the end of the function.
> + Initialize res to -1.
Thanks, pushed.
Mark
NG_MAX : (long) cl);
instead
Cheers,
Mark
We are going through vna_next, vn_next and vd_next in a while loop.
Make sure that all offsets are sane. We don't want things to wrap
around so we go in cycles.
https://sourceware.org/bugzilla/show_bug.cgi?id=27501
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 5 +
src/readelf.c
llowing that and wait till the design is fixed before
trying to handle SHT_LLVM_ADDRSIG.
Cheers,
Mark
tribute anyway.
> Clang also doesn't accept the =n parameter for -Wimplicit-fallthrough.
>
> Test for =5 separately and use it if supported and fall back to just
> -Wimplicit-fallthrough otherwise.
Looks good, pushed.
Thanks,
Mark
or them (or at least the variant that needs executable stack, which is
really what we are trying to prevent) is probably not a high priority.
Added ChangeLog entries and pushed.
Thanks,
Mark
hen lets add the extra
check. Added ChangeLog entries and pushed.
Cheers,
Mark
to the Polish translation just
added. Both are in the run-debuginfod-find.sh testcase. So I guess
this testcase is still unstable :{
Cheers,
Mark
ctivation when something is dropped into (or
removed from) the search directory.
Cheers,
Mark
[1] https://www.freedesktop.org/software/systemd/man/systemd.path.html
n't think path-based
activation means you have to quit once done, just that you might be
reactivated if you do.
Cheers,
Mark
> In order to assist problem diagnosis / monitoring, use this
> gnu-flavoured pthread function to set purpose names to the various
> child threads debuginfod starts. libmicrohttpd already sets this for
> its threads.
Yes please. This looks useful.
Thanks,
Mark
verloaded or something else. I'll try to rebuild it.
Cheers,
Mark
newfd is normally created by mkstemp given the original fd exists.
Otherwise it will created by open from arfname. In the second case
newfd might not get closed. Preventd this by always trying to close
it after errout.
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 4
src/ar.c | 3
eu-unstrip might leak a string for each module found when using the -d
option. Make sure to free the output_file name when we are done with the
module.
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 4
src/unstrip.c | 2 ++
2 files changed, 6 insertions(+)
diff --git a/src/ChangeLog b
If dwfl_begin fails we won't use the dwfl_fd descriptor we just dupped.
Make sure to close on dwfl_begin failure to avoid the leak.
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 4
src/nm.c | 2 ++
2 files changed, 6 insertions(+)
diff --git a/src/ChangeLog b/src/ChangeLog
On Sat, Apr 03, 2021 at 07:24:42PM +0200, Mark Wielaard wrote:
> newfd is normally created by mkstemp given the original fd exists.
> Otherwise it will created by open from arfname. In the second case
> newfd might not get closed. Preventd this by always trying to close
> it after errout.
Pushed.
On Sat, Apr 03, 2021 at 07:38:07PM +0200, Mark Wielaard wrote:
> eu-unstrip might leak a string for each module found when using the -d
> option. Make sure to free the output_file name when we are done with the
> module.
Pushed.
On Sat, Apr 03, 2021 at 07:54:41PM +0200, Mark Wielaard wrote:
> If dwfl_begin fails we won't use the dwfl_fd descriptor we just dupped.
> Make sure to close on dwfl_begin failure to avoid the leak.
Pushed.
dly there is still the occasional FAIL in the run-debuginfod-find.sh
testcase. It only happens once in a couple of builds, it didn't
happen on the next build on the exact same buildbot worker, but I
still haven't figured out why or when.
Cheers,
Mark
nwinder or because systemd left us a bad
core file.
The corresponding change (commit 879513ab - nm: Fix file descriptor
leak on dwfl_begin failure.) really couldn't have caused this IMHO. So
it is a bit of a mystery.
Sigh,
Mark
ons:
* file name: stubdata.c
*
* Define initialized data that will build into a valid, but empty
* ICU data library. Used to bootstrap the ICU build
Cheers,
Mark
following patch for this.
That looks like it does the right thing. Has SYMTAB and no allocated
sections (except for nobits and notes).
Thanks,
Mark
use system.h
should be stand-alone, you don't need to link to anything else.
Maybe for debuginfod.cxx there is a better C++ way for strings. But if
it uses C strings, then it could also simply include system.h.
Thanks,
Mark
Hi,
On Sat, 2021-04-10 at 18:44 +, Zbigniew Jędrzejewski-Szmek wrote:
> [I'm forwarding the mail from Luca who is not subscribed to fedora-
> devel]
> On Sat, Apr 10, 2021 at 01:38:31PM +0100, Luca Boccassi wrote:
> Cross-posting to the mailing lists of a few relevant projects.
Note that in t
ed by the Free
Software Foundation; either version 2 of the License, or (at
your option) any later version
or both in parallel, as here.
Cheers,
Mark
ING;hb=HEAD
Thanks,
Mark
,6 @@ wait_ready()
>done;
>
>if [ $timeout -eq 0 ]; then
> - echo "metric $what never changed to $value on port $port"
I think we want to keep this message ^ it helps with knowing which
exact metric timed out.
> - curl -s http://127.0.0.1:$port/metrics
> - echo "logs for debuginfod with port $port"
> - cat vlog$port
> exit 1;
>fi
> }
Cheers,
Mark
of
indirection. I note that all Abbrevs/DIEs using DW_FORM_indirect are
for DW_AT_low_pc and that the indirect DW_AT_addr are all the zero
address. Is that intended?
Pushed you patch.
Thanks,
Mark
Hi,
On Sat, 2021-05-01 at 17:59 +0200, Mark Wielaard wrote:
> There is __libdw_form_val_compute_len which already handles
> DW_FORM_indirect:
>
> case DW_FORM_indirect:
> get_uleb128 (u128, valp, endp);
> // XXX Is this really correct?
> result = __l
e of the other clients gets to run the rmdir.
But then we just retry again and hope no other client was stuck right
before the rmdir.
Looks good. I cannot think of a better way to resolve this race.
Thanks,
Mark
+
> + PR27571
> + * debuginfod-client.c (debuginfod_query_server): Chmod 0400 files
> + delivered into the cache to prevent accidental modification.
Yes, sounds like a good idea.
Thanks,
Mark
e
> +unlink(target_cache_path);
> +}
> +
[...]
> + /* create a 000-permission file named as $HOME/.cache
> + * if the query fails with ENOENT.*/
> + if (rc == -ENOENT)
> +{
> + int efd = open (target_cache_path, O_CREAT|O_TRUNC, );
> + if (efd >= 0)
> +close(efd);
> +}
Do we want O_TRUNC here? Doesn't that risk truncating an existing
file? Maybe use O_CREAT|O_EXCL?
Thanks,
Mark
would be better to make enablement of debuginfod-
client specific for different environment (using it by default in a
system daemon is different from running it standard in a login shell).
Also some distros already seem to rely on the profile files, so
removing them now seems like a bad idea.
Cheers,
Mark
re is such a "notification" then it should be from the actual
application using the library IMHO. Or when installing a profile if it
provides default DEBUGINFOD_URLS.
Cheers,
Mark
e a bad idea.
>
> Well, nothing stops them from continuing to ship the same files, they
> don't need to come from elfutils upstream.
>
> Anyway all that said, I'm neutral on this change. Any other opinions?
It is really a distro decission I guess. How do different distros
handle this?
Cheers,
Mark
g file has an .debug_frame section)
then libdw should be able to produce a backtrace.
But there are also ARM binaries which only come with IDX data, which
libdw doesn't handle.
Cheers,
Mark
Hi Luca,
On Tue, 2021-05-04 at 14:43 +0100, Luca Boccassi wrote:
> On Fri, 2021-04-30 at 19:57 +0200, Mark Wielaard wrote:
> > Is there a list of default keys (and their canonical spelling, upper-
> > lower-Camel_Case, etc.)? If there is, could we have a "debuginfod" key
git/
https://download.qt.io/development_releases/prebuilt/elfutils/
See also
https://sourceware.org/pipermail/elfutils-devel/2018q3/001166.html
Cheers,
Mark
nd maybe s/This system/Your user profile/? But those are
just nitpicks and not objections to what you proposed.
Cheers,
Mark
> diff --git a/config/profile.sh.in b/config/profile.sh.in
> index aa228a0dcd16..aec9e7df30f3 100644
> --- a/config/profile.sh.in
> +++ b/config/profile.s
nd this time should go through the server.
This looks really good. I rebased it, added slightly bigger ChangeLog
entries and reindented the code in places where it was > 80 chars and
pushed the result.
Thanks,
Mark
Hi Omar,
On Tue, May 04, 2021 at 02:18:45PM -0700, Omar Sandoval wrote:
> On Sat, May 01, 2021 at 06:03:37PM +0200, Mark Wielaard wrote:
> > On Sat, 2021-05-01 at 17:59 +0200, Mark Wielaard wrote:
> > > There is __libdw_form_val_compute_len which already handles
>
.
Thanks,
Mark
Set version to 0.184
Update NEWS and elfutils.spec.in
Regenerate po/*.po files
Signed-off-by: Mark Wielaard
---
ChangeLog |5 +
NEWS| 16 +-
config/ChangeLog|4 +
config/elfutils.spec.in | 14 +
configure.ac|2 +-
po
e per groom
PR27701: debuginfod client: encourage reused debuginfod_client objects
PR26125: debuginfod client cache - rmdir harder
PR27571: debuginfod client cache - file permissions
Mark Wielaard (9):
elfutils.spec.in: Escape %%check in comment.
readelf, libdw: blocks aren't expre
Hi Martin,
On Mon, 2021-05-10 at 15:26 +0200, Martin Liška wrote:
> On 5/1/21 12:13 AM, Mark Wielaard wrote:
> > Yes, it is. It looks good and makes the code simpler to read.
>
> Thanks.
>
> > Is it OK to add your Signed-off-by before I push it?
>
> Yes, please
: the faulty commit is elfutils-0.184~22, I'll update the
> "Fixes" tag in the commit message accordingly:
>
> Fixes: c497478390de ("elfcompress: Replace cleanup() with label")
Thanks for tracking this regression down. Sorry I missed that in the
reviews. It is obvious in hindsight. The fix is correct.
Cheers,
Mark
free(fnew).
>
> Fixes: ed62996defc6 ("elfcompress: Don't rewrite file if no section data
> needs to be updated.")
You are right. The NULL assignment is redundant at that spot.
Thansk,
Mark
return result;
> + return !!result;
> }
The change to return 1 (or zero) is good.
But could we instead initialize res to 1 (or EXIT_FAILURE from
stdlib.h) at the top? That reads IMHO a little nicer than the !!
pattern.
Thanks,
Mark
Hi Dmitry,
On Wed, May 12, 2021 at 11:35:27PM +0300, Dmitry V. Levin wrote:
> On Wed, May 12, 2021 at 10:29:33PM +0200, Mark Wielaard wrote:
> > On Wed, May 12, 2021 at 04:00:00PM +, Dmitry V. Levin wrote:
> > > Exit status of 255 in case of an error is probably no
Hi Dmitry,
On Thu, 2021-05-13 at 00:52 +0300, Dmitry V. Levin wrote:
> Exit status of 255 in case of an error is probably not what
> elfcompress users expect, change it to 1.
This looks good.
Thanks,
Mark
On Thu, May 13, 2021 at 01:26:42AM +, fche at redhat dot com via
Elfutils-devel wrote:
> https://sourceware.org/bugzilla/show_bug.cgi?id=27859
>
> In a sequence of queries on the same debuginfod_client, as long as
> they are all successful, things are fine. Once there is a 404 error
> however
and less state to keep around for the debuginfod_client
handle. The changes look good to me. And the new testcase passes here.
Cheers,
Mark
espin rawhide with that patch too.
Thanks. Maybe we should just do a 0.185 release soon. There is this
issue and the exit code regression for eu-elfcompress when nothing was
done. For both we probably would tell distros to please backport the
fixes. So maybe just help everybody to get a fresh good release?
Cheers,
Mark
tra symbols, debuginfo,
sources, the extra meta-data is useful to administrators. Just seeing
that crashes are associated with specific distro/version/packages helps
narrow down instabilities.
Cheers,
Mark
o
backport those two fixes when people complain about them. So lets just
do a new 0.185 release from the current trunk and ask everybody to
upgrade to that.
Do feel free to fix other stuff that you feel should go into a 0.185
fixup release.
Cheers,
Mark
Set version to 0.185
Update NEWS and elfutils.spec.in
Regenerate po/*.po files
Signed-off-by: Mark Wielaard
---
ChangeLog | 5 ++
NEWS| 8 +++
config/ChangeLog| 4 ++
config/elfutils.spec.in | 7 ++
configure.ac| 2 +-
po/ChangeLog
ng to do"
elfcompress: remove redundant assignment
elfcompress: fix exit status in case of an error
Frank Ch. Eigler (2):
elfutils.spec: Add procps as a %check BuildRequires:.
PR27859: correct 404-latch bug in debuginfod client reuse
Mark Wielaard (1):
Prepare for 0.185
Marti
up
builds, but misconfigured things. It should be setup correctly now.
Apologies,
Mark
seems it is. But run-find-debuginfo.sh failed for (I think) unrelated
reasons.
Sorry,
Mark
erbose failures?
If you think it helps diagnose these spurious failure please do. It
might also help to split this test into smaller ones to make sure the
tests just test one specific thing.
Thanks,
Mark
as you like.
Cheers,
Mark
Hi Frank,
On Wed, 2021-06-16 at 21:42 -0400, Frank Ch. Eigler via Elfutils-devel
wrote:
> About to commit this. It explains/solves the intermittent race
> condition seen on some build systems.
Thanks for tracking this down. Looks correct to me.
Cheers,
Mark
on the program it is invoked with.
So in this case it only runs on env, but doesn't run on the actual
program env invokes. For that you'll need to invoke valgrind with --
trace-children=yes.
I think the first can be fixed by simply testing whether VALGRIND_CMD
is set before adding the env wrapping.
The second can be fixed by doing the same env -u env DEBUGNFOD_URLS
wrapping in tests/test-wrapper.sh.
For the third issue we should probably add trace-children=yes to
valgrind_cmd in tests/Makefile.am.
Cheers,
Mark
When the calloc call in debuginfod_begin fails we should skip all
initialization of the client handle.
Signed-off-by: Mark Wielaard
---
debuginfod/ChangeLog | 5 +
debuginfod/debuginfod-client.c | 10 +-
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 5 +
src/strip.c | 13 +
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 698b3c77..9d4ce31d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2021-06-18 Mark
Signed-off-by: Mark Wielaard
---
src/ChangeLog | 4
src/unstrip.c | 2 ++
2 files changed, 6 insertions(+)
diff --git a/src/ChangeLog b/src/ChangeLog
index 9d4ce31d..71599e5d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2021-06-18 Mark Wielaard
+
+ * unstrip.c
come up with.
And this has given us more headaches than we deserve in the first
place.
What do you think?
Thanks,
Mark
From ad3c57cfb68d1ef5f6a1d426578d8005048c251e Mon Sep 17 00:00:00 2001
From: Mark Wielaard
Date: Fri, 2 Jul 2021 18:16:00 +0200
Subject: [PATCH] run-debuginfod-find.sh: Disable
be used after all local searches failed (or not when DEBUGINFOD_URLS
isn't set).
Does that sound helpful? Does it make sense to make things configurable like
this?
Thanks,
Mark
On Fri, Jun 18, 2021 at 03:02:43PM +0200, Mark Wielaard wrote:
> When the calloc call in debuginfod_begin fails we should skip all
> initialization of the client handle.
Pushed.
On Fri, Jun 18, 2021 at 03:06:32PM +0200, Mark Wielaard wrote:
> +2021-06-18 Mark Wielaard
> +
> + * strip.c (remove_debug_relocations): Check gelf_update results.
> + (update_section_size): Likewise.
Pushed.
On Fri, Jun 18, 2021 at 03:08:48PM +0200, Mark Wielaard wrote:
> +2021-06-18 Mark Wielaard
> +
> + * unstrip.c (adjust_relocs): Check gelf_getrel and geld_getrela.
> +
Pushed.
> +testrun ${abs_top_builddir}/src/strip -o $outfile $infile
The testcase already fails before the patch and succeeds after, but it
would be nice to double check the output with elflint just in case.
Shall we add:
testrun ${abs_top_builddir}/src/elflint --gnu $outfile
Thanks,
Mark
2001 - 2100 of 3441 matches
Mail list logo