[Rpm-maint] [rpm-software-management/rpm] mjw: debugedit: Add some testcases and handle .debug_macro (gcc -g3) (#754)

Panu Matilainen notifications at github.com
Wed Jun 19 08:13:23 UTC 2019


Forwarded from rpm-maint http://lists.rpm.org/pipermail/rpm-maint/2019-June/010344.html:

Hi,

debugedit wouldn't properly handle gcc -g3 which generates .debug_macro
sections. The sections would contain references to .debug_str which
debugedit rewrites. But it would not update the references in .debug_macro
which would upset various tools.  For example gdb:
https://bugzilla.redhat.com/show_bug.cgi?id=1535174

Michael Schroeder had a patch for that, but that didn't handle relocations
(which happen in e.g. linux kernel modules). So I added support for that.
(patch four).

debugedit didn't have any specific tests. It was only tested as part of
the whole rpmbuild debuginfo pipeline. So I first added a bunch of test
cases (the first two patches). That helped make sure my debugedit relocation
code refactoring was working as expected (the third patches).

It also found an small issue (under valgrind) with the .debug_line
rewriting code (the last patch).

[PATCH 1/5] Add some color to the tests if available and the terminal
[PATCH 2/5] Add some debugedit tests.
[PATCH 3/5] debugedit: Refactor reading/writing of relocated values.
[PATCH 4/5] Handle .debug_macro in debugedit.
[PATCH 5/5] debugedit: Make sure .debug_line old/new idx start equal.

Cheers,

Mark
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/754

-- Commit Summary --

  * Add some color to the tests if available and the terminal supports it.
  * Add some debugedit tests.
  * debugedit: Refactor reading/writing of relocated values.
  * Handle .debug_macro in debugedit.
  * debugedit: Make sure .debug_line old/new idx start equal.

-- File Changes --

    M tests/Makefile.am (9)
    M tests/atlocal.in (2)
    A tests/data/SOURCES/bar.c (9)
    A tests/data/SOURCES/baz.c (10)
    A tests/data/SOURCES/foo.c (7)
    A tests/data/SOURCES/foobar.h (6)
    A tests/data/SPECS/hello-g3.spec (60)
    A tests/debugedit.at (393)
    M tests/local.at (3)
    M tests/rpmbuild.at (33)
    M tests/rpmtests.at (1)
    M tools/debugedit.c (594)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/754.patch
https://github.com/rpm-software-management/rpm/pull/754.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/754
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20190619/e787b8fa/attachment-0001.html>


More information about the Rpm-maint mailing list