This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
gdb and binutils branch master updated. 5979d6b69b20a8355ea94b75fad97415fce4788c
- From: amodra at sourceware dot org
- To: binutils-cvs at sourceware dot org, gdb-cvs at sourceware dot org
- Date: 2 Apr 2014 01:38:41 -0000
- Subject: gdb and binutils branch master updated. 5979d6b69b20a8355ea94b75fad97415fce4788c
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 5979d6b69b20a8355ea94b75fad97415fce4788c (commit)
from cf2a3e990524cb794c75e0493169736dee6a660c (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=5979d6b69b20a8355ea94b75fad97415fce4788c
commit 5979d6b69b20a8355ea94b75fad97415fce4788c
Author: Alan Modra <amodra@gmail.com>
Date: Wed Apr 2 12:07:33 2014 +1030
Handle VDSO section headers past end of page
When a VDSO gets large enough that it doesn't entirely fit in one page,
but not so large that the part described by the program header exceeds
one page, then gdb/BFD doesn't read the section headers and symbol
table information. This patch cures that by passing the size of the
vdso to BFD, and fixes a number of other issues in the BFD code.
bfd/
* elfcode.h (bfd_from_remote_memory): Add "size" parameter.
Consolidate code handling possible section headers past end of
segment. Don't use p_align for page size guess, instead use
minpagesize. Take note of ld.so clearing section headers when
p_memsz > p_filesz. Handle file header specifying no section
headers. Handle zero p_align throughout. Default loadbase to
zero. Add comments. Rename contents_size to high_offset, and
make it a bfd_vma. Delete unnecessary bfd_set_error calls.
* bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe.
* elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>):
Likewise.
(_bfd_elf32_bfd_from_remote_memory): Likewise.
(_bfd_elf64_bfd_from_remote_memory): Likewise.
* elf.c (bfd_elf_bfd_from_remote_memory): Adjust.
* bfd-in2.h: Regnerate.
gdb/
* symfile-mem.c (symbol_file_add_from_memory): Add size parameter.
Pass to bfd_elf_bfd_from_remote_memory. Adjust all callers.
(struct symbol_file_add_from_memory_args): Add size field.
(find_vdso_size): New function.
(add_vsyscall_page): Attempt to find vdso size.
-----------------------------------------------------------------------
Summary of changes:
bfd/ChangeLog | 18 ++++++
bfd/bfd-in.h | 26 +++++----
bfd/bfd-in2.h | 26 +++++----
bfd/elf-bfd.h | 10 ++--
bfd/elf.c | 3 +-
bfd/elfcode.h | 153 ++++++++++++++++++++++++++++++++---------------------
gdb/ChangeLog | 8 +++
gdb/symfile-mem.c | 38 +++++++++++---
8 files changed, 184 insertions(+), 98 deletions(-)
hooks/post-receive
--
gdb and binutils