* corelow.c (core_xfer_partial): Fix coding standards violation.

Add support for TARGET_OBJECT_WCOOKIE.
This commit is contained in:
Mark Kettenis 2004-04-10 09:49:21 +00:00
parent a57e5a9583
commit 403e165601
2 changed files with 38 additions and 3 deletions

View File

@ -1,5 +1,8 @@
2004-04-10 Mark Kettenis <kettenis@gnu.org>
* corelow.c (core_xfer_partial): Fix coding standards violation.
Add support for TARGET_OBJECT_WCOOKIE.
* sparc-linux-tdep.c (sparc32_linux_init_abi): Don't set
deprecated_pc_in_sigtramp.
* sparc-sol2-tdep.c (sparc32_sol2_init_abi): Likewise.

View File

@ -552,9 +552,9 @@ core_xfer_partial (struct target_ops *ops, enum target_object object,
size -= offset;
if (size > len)
size = len;
if (size > 0 &&
! bfd_get_section_contents (core_bfd, section, readbuf,
(file_ptr) offset, size))
if (size > 0
&& !bfd_get_section_contents (core_bfd, section, readbuf,
(file_ptr) offset, size))
{
warning ("Couldn't read NT_AUXV note in core file.");
return -1;
@ -564,6 +564,38 @@ core_xfer_partial (struct target_ops *ops, enum target_object object,
}
return -1;
case TARGET_OBJECT_WCOOKIE:
if (readbuf)
{
/* When the StackGhost cookie is stored in core file, BFD
represents this with a fake section called ".wcookie". */
struct bfd_section *section;
bfd_size_type size;
char *contents;
section = bfd_get_section_by_name (core_bfd, ".wcookie");
if (section == NULL)
return -1;
size = bfd_section_size (core_bfd, section);
if (offset >= size)
return 0;
size -= offset;
if (size > len)
size = len;
if (size > 0
&& !bfd_get_section_contents (core_bfd, section, readbuf,
(file_ptr) offset, size))
{
warning ("Couldn't read StackGhost cookie in core file.");
return -1;
}
return size;
}
return -1;
default:
if (ops->beneath != NULL)
return ops->beneath->to_xfer_partial (ops->beneath, object, annex,