since 5979d6b69b20a8355ea94b75fad97415fce4788c https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=5979d6b69b20a8355ea94b75fad97415fce4788c vdso handling https://sourceware.org/ml/binutils/2014-03/msg00082.html https://sourceware.org/ml/binutils/2014-04/msg00003.html Message-ID: <A78C989F6D9628469189715575E55B230AA884EB@IRSMSX104.ger.corp.intel.com> I get on kernel-3.16.2-200.fc20.x86_64 https://koji.fedoraproject.org/koji/buildinfo?buildID=575860 attaching its vdso.bin.gz GDB (FSF HEAD 5e43d46791c4c66fd83947a12d4f716b561a9103) regression: reproducer for Fedora systems (as Fedora glibc is patched): ./gdb -ex r --args $PWD/../../glibc-root/lib/ld-linux-x86-64.so.2 --library-path $PWD/../../glibc-root/lib:/lib64 ./gdb assuming an untested reproducer for more upstream glibc (Debian?); not tested: ./gdb -ex start ./gdb actual result / FAIL: Got object file from memory but can't read symbols: File truncated. expected result / PASS: warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? [bfd patch] Regression for Linux vDSO in GDB https://sourceware.org/ml/binutils/2014-09/msg00140.html
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, master has been updated via 92c9bcd479e4cb388a7f286fc42414b115cfc656 (commit) from 039b3b7b034f4c9ac9e38f8b3e7367e108f89f8a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=92c9bcd479e4cb388a7f286fc42414b115cfc656 commit 92c9bcd479e4cb388a7f286fc42414b115cfc656 Author: Jan Kratochvil <jan.kratochvil@redhat.com> Date: Thu Sep 18 08:21:40 2014 +0200 Fix regression for Linux vDSO in GDB (PR gdb/17407). since 5979d6b69b20a8355ea94b75fad97415fce4788c https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=5979d6b69b20a8355ea94b75fad97415fce4788c vdso handling https://sourceware.org/ml/binutils/2014-03/msg00082.html https://sourceware.org/ml/binutils/2014-04/msg00003.html Message-ID: <A78C989F6D9628469189715575E55B230AA884EB@IRSMSX104.ger.corp.intel.com> I get on kernel-3.16.2-200.fc20.x86_64 https://koji.fedoraproject.org/koji/buildinfo?buildID=575860 attaching its vdso.bin.gz GDB (FSF HEAD 5e43d46791c4c66fd83947a12d4f716b561a9103) regression: reproducer: ./gdb -ex start ./gdb actual result / FAIL: Got object file from memory but can't read symbols: File truncated. expected result / PASS: <nothing> or / PASS: warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? That "warning: Could not load shared library..." is mostly harmless (it is a bug in GDB), in the FAIL case it is not printed just because bfd_check_format() fails there. It seems logical to me this way when the 'size' parameter has been already added. Alan Modra: I was wrongly thinking that the section headers were always last when I wrote that code. (They are now! If you relink that vdso with current binutils master you won't hit this problem, but that of course doesn't help existing kernels.) I do not see a regression for add-symbol-file-from-memory for libncurses.so.5 from the original thread above. Start of section headers: 1080 (bytes into file) Size of section headers: 64 (bytes) Number of section headers: 13 Section header string table index: 8 Section Headers: [Nr] Name Type Address Off Size ES Flg Lk Inf Al [ 8] .fake_shstrtab STRTAB 0000000000000780 000780 000076 00 A 0 0 32 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x0012fe 0x0012fe R E 0x1000 size == 0x2000 shdr_end == 0x778 == 1080 + 13 * 64 high_offset == 0x12fe else if (size >= shdr_end) - high_offset = shdr_end; + high_offset = size; But then 0x778 < 0x780 for "Section header string table index" so whole bfd_check_format() fails because section headers were not cleared here: /* If the segments visible in memory didn't include the section headers, then clear them from the file header. */ if (high_offset < shdr_end) bfd/ChangeLog 2014-09-18 Jan Kratochvil <jan.kratochvil@redhat.com> PR gdb/17407 * elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET. ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 5 +++++ bfd/elfcode.h | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-)
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, gdb-7.8-branch has been updated via 54fbc750b54271efb75ae11ce49f14c4234a9476 (commit) from 6e4257b081621e64f4974d0c2cc12cbc5e542307 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=54fbc750b54271efb75ae11ce49f14c4234a9476 commit 54fbc750b54271efb75ae11ce49f14c4234a9476 Author: Jan Kratochvil <jan.kratochvil@redhat.com> Date: Thu Sep 18 08:21:40 2014 +0200 Fix regression for Linux vDSO in GDB (PR gdb/17407). since 5979d6b69b20a8355ea94b75fad97415fce4788c https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=5979d6b69b20a8355ea94b75fad97415fce4788c vdso handling https://sourceware.org/ml/binutils/2014-03/msg00082.html https://sourceware.org/ml/binutils/2014-04/msg00003.html Message-ID: <A78C989F6D9628469189715575E55B230AA884EB@IRSMSX104.ger.corp.intel.com> I get on kernel-3.16.2-200.fc20.x86_64 https://koji.fedoraproject.org/koji/buildinfo?buildID=575860 attaching its vdso.bin.gz GDB (FSF HEAD 5e43d46791c4c66fd83947a12d4f716b561a9103) regression: reproducer: ./gdb -ex start ./gdb actual result / FAIL: Got object file from memory but can't read symbols: File truncated. expected result / PASS: <nothing> or / PASS: warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? That "warning: Could not load shared library..." is mostly harmless (it is a bug in GDB), in the FAIL case it is not printed just because bfd_check_format() fails there. It seems logical to me this way when the 'size' parameter has been already added. Alan Modra: I was wrongly thinking that the section headers were always last when I wrote that code. (They are now! If you relink that vdso with current binutils master you won't hit this problem, but that of course doesn't help existing kernels.) I do not see a regression for add-symbol-file-from-memory for libncurses.so.5 from the original thread above. Start of section headers: 1080 (bytes into file) Size of section headers: 64 (bytes) Number of section headers: 13 Section header string table index: 8 Section Headers: [Nr] Name Type Address Off Size ES Flg Lk Inf Al [ 8] .fake_shstrtab STRTAB 0000000000000780 000780 000076 00 A 0 0 32 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x0012fe 0x0012fe R E 0x1000 size == 0x2000 shdr_end == 0x778 == 1080 + 13 * 64 high_offset == 0x12fe else if (size >= shdr_end) - high_offset = shdr_end; + high_offset = size; But then 0x778 < 0x780 for "Section header string table index" so whole bfd_check_format() fails because section headers were not cleared here: /* If the segments visible in memory didn't include the section headers, then clear them from the file header. */ if (high_offset < shdr_end) bfd/ChangeLog 2014-09-18 Jan Kratochvil <jan.kratochvil@redhat.com> PR gdb/17407 * elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET. ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 5 +++++ bfd/elfcode.h | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-)
Checked in and for 7.8.
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The annotated tag, gdb-7.8.1-release has been created at 60cd8f8e7f38daf7d59e82b9fb3b8840a3a714c9 (tag) tagging 21de41c04a26bb04f2e827d35fd48c991fa991b1 (commit) replaces gdb-7.8-release tagged by Joel Brobecker on Wed Oct 29 12:47:08 2014 -0700 - Log ----------------------------------------------------------------- GDB 7.8.1 Release. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEABECAAYFAlRRRDwACgkQku2wS/8yXPNA3gCgmaBkksiuRbHoYAudWcZYwiJ4 upIAoI2vGr/6e6CNHxIinVYQ2IJCY/4V =wgXR -----END PGP SIGNATURE----- Doug Evans (3): Fix for PR 17247: Block SIGCHLD while initializing Guile. PR guile/17367 PR python/17364 Eli Zaretskii (1): Avoid compiler warnings about incomplete parameter types. GDB Administrator (92): Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Automatic date update in version.in Jan Kratochvil (4): Fix incorrect placement of two Intel gdb/NEWS items Fix 'gcore' with exited threads Fix crash on Python frame filters with unreadable arg Fix regression for Linux vDSO in GDB (PR gdb/17407). Joel Brobecker (5): Document the GDB 7.8 release in gdb/ChangeLog Bump GDB version number to 7.8.0.DATE-cvs. Add "frame.h" #include in gdbarch.h. state->dr_control_mirror == 0 failed assertion in gdbserver on Windows XP Set GDB version number to 7.8.1. Pedro Alves (9): testsuite: refactor spawn and wait for attach gdb/17347 - Regression: GDB stopped on run with attached process Aarch64: Make CPSR a 32-bit register again in the target description Make common code handle target_terminal_* idempotency PR gdb/17472: With annotations, input while executing in the foreground crashes readline/GDB PR gdb/17300: Input after "c -a" crashes readline/GDB PR gdb/17471: Repeating a background command makes it foreground PR python/17372 - Python hangs when displaying help() PR 17408 - assertion failure in switch_back_to_stepped_thread Siva Chandra (1): Fix xmethod Python so that it works with Python3. Yao Qi (2): Fix build/17104 Remove workaround to libbabeltrace 1.1.0 issue -----------------------------------------------------------------------
I was wrongly thinking that the section headers were always last when I wrote that code. (They are now! If you relink that vdso with current binutils master you won't hit this problem, but that of course doesn't help existing kernels.) https://hudsonvalleytree.com