projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git]
/
bfd
/
lynx-core.c
diff --git
a/bfd/lynx-core.c
b/bfd/lynx-core.c
index f3291ccde3482daf983bdb934aec73f19193594c..08d088386114195c4b41cedd340ddb46e50abfcf 100644
(file)
--- a/
bfd/lynx-core.c
+++ b/
bfd/lynx-core.c
@@
-1,5
+1,5
@@
/* BFD back end for Lynx core files
/* BFD back end for Lynx core files
- Copyright (C) 1993-20
18
Free Software Foundation, Inc.
+ Copyright (C) 1993-20
20
Free Software Foundation, Inc.
Written by Stu Grossman of Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
Written by Stu Grossman of Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
@@
-85,7
+85,7
@@
make_bfd_asection (bfd *abfd,
return asect;
}
return asect;
}
-const bfd_target *
+bfd_cleanup
lynx_core_file_p (bfd *abfd)
{
int secnum;
lynx_core_file_p (bfd *abfd)
{
int secnum;
@@
-94,7
+94,7
@@
lynx_core_file_p (bfd *abfd)
core_st_t *threadp;
int pagesize;
asection *newsect;
core_st_t *threadp;
int pagesize;
asection *newsect;
-
bfd_size_type
amt;
+
size_t
amt;
pagesize = getpagesize (); /* Serious cross-target issue here... This
really needs to come from a system-specific
pagesize = getpagesize (); /* Serious cross-target issue here... This
really needs to come from a system-specific
@@
-126,24
+126,13
@@
lynx_core_file_p (bfd *abfd)
tcontext_size = pss.threadcnt * sizeof (core_st_t);
tcontext_size = pss.threadcnt * sizeof (core_st_t);
- /* Allocate space for the thread contexts */
-
- threadp = (core_st_t *) bfd_alloc (abfd, tcontext_size);
- if (!threadp)
- goto fail;
-
/* Save thread contexts */
/* Save thread contexts */
-
- if (bfd_seek (abfd, (file_ptr) pagesize, SEEK_SET) != 0)
+ if (bfd_seek (abfd, pagesize, SEEK_SET) != 0)
+ goto fail;
+ threadp = (core_st_t *) _bfd_alloc_and_read (abfd, tcontext_size,
+ tcontext_size);
+ if (!threadp)
goto fail;
goto fail;
-
- if (bfd_bread ((void *) threadp, tcontext_size, abfd) != tcontext_size)
- {
- /* Probably too small to be a core file */
- if (bfd_get_error () != bfd_error_system_call)
- bfd_set_error (bfd_error_wrong_format);
- goto fail;
- }
core_signal (abfd) = threadp->currsig;
core_signal (abfd) = threadp->currsig;
@@
-202,7
+191,7
@@
lynx_core_file_p (bfd *abfd)
goto fail;
}
goto fail;
}
- return
abfd->xvec
;
+ return
_bfd_no_cleanup
;
fail:
bfd_release (abfd, core_hdr (abfd));
fail:
bfd_release (abfd, core_hdr (abfd));
This page took
0.023943 seconds
and
4
git commands to generate.