OLD | NEW |
1 /* BFD back end for Lynx core files | 1 /* BFD back end for Lynx core files |
2 Copyright 1993, 1994, 1995, 2001, 2002, 2004, 2005, 2006, 2007 | 2 Copyright 1993, 1994, 1995, 2001, 2002, 2004, 2005, 2006, 2007 |
3 Free Software Foundation, Inc. | 3 Free Software Foundation, Inc. |
4 Written by Stu Grossman of Cygnus Support. | 4 Written by Stu Grossman of Cygnus Support. |
5 | 5 |
6 This file is part of BFD, the Binary File Descriptor library. | 6 This file is part of BFD, the Binary File Descriptor library. |
7 | 7 |
8 This program is free software; you can redistribute it and/or modify | 8 This program is free software; you can redistribute it and/or modify |
9 it under the terms of the GNU General Public License as published by | 9 it under the terms of the GNU General Public License as published by |
10 the Free Software Foundation; either version 3 of the License, or | 10 the Free Software Foundation; either version 3 of the License, or |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 #define core_hdr(bfd) ((bfd)->tdata.lynx_core_data) | 51 #define core_hdr(bfd) ((bfd)->tdata.lynx_core_data) |
52 #define core_signal(bfd) (core_hdr(bfd)->sig) | 52 #define core_signal(bfd) (core_hdr(bfd)->sig) |
53 #define core_command(bfd) (core_hdr(bfd)->cmd) | 53 #define core_command(bfd) (core_hdr(bfd)->cmd) |
54 | 54 |
55 #define lynx_core_file_matches_executable_p generic_core_file_matches_executable
_p | 55 #define lynx_core_file_matches_executable_p generic_core_file_matches_executable
_p |
56 #define lynx_core_file_pid _bfd_nocore_core_file_pid | 56 #define lynx_core_file_pid _bfd_nocore_core_file_pid |
57 | 57 |
58 /* Handle Lynx core dump file. */ | 58 /* Handle Lynx core dump file. */ |
59 | 59 |
60 static asection * | 60 static asection * |
61 make_bfd_asection (abfd, name, flags, size, vma, filepos) | 61 make_bfd_asection (bfd *abfd, |
62 bfd *abfd; | 62 » » const char *name, |
63 const char *name; | 63 » » flagword flags, |
64 flagword flags; | 64 » » bfd_size_type size, |
65 bfd_size_type size; | 65 » » bfd_vma vma, |
66 bfd_vma vma; | 66 » » file_ptr filepos) |
67 file_ptr filepos; | |
68 { | 67 { |
69 asection *asect; | 68 asection *asect; |
70 char *newname; | 69 char *newname; |
71 | 70 |
72 newname = bfd_alloc (abfd, (bfd_size_type) strlen (name) + 1); | 71 newname = bfd_alloc (abfd, (bfd_size_type) strlen (name) + 1); |
73 if (!newname) | 72 if (!newname) |
74 return NULL; | 73 return NULL; |
75 | 74 |
76 strcpy (newname, name); | 75 strcpy (newname, name); |
77 | 76 |
78 asect = bfd_make_section_with_flags (abfd, newname, flags); | 77 asect = bfd_make_section_with_flags (abfd, newname, flags); |
79 if (!asect) | 78 if (!asect) |
80 return NULL; | 79 return NULL; |
81 | 80 |
82 asect->size = size; | 81 asect->size = size; |
83 asect->vma = vma; | 82 asect->vma = vma; |
84 asect->filepos = filepos; | 83 asect->filepos = filepos; |
85 asect->alignment_power = 2; | 84 asect->alignment_power = 2; |
86 | 85 |
87 return asect; | 86 return asect; |
88 } | 87 } |
89 | 88 |
90 const bfd_target * | 89 const bfd_target * |
91 lynx_core_file_p (abfd) | 90 lynx_core_file_p (bfd *abfd) |
92 bfd *abfd; | |
93 { | 91 { |
94 int secnum; | 92 int secnum; |
95 struct pssentry pss; | 93 struct pssentry pss; |
96 bfd_size_type tcontext_size; | 94 bfd_size_type tcontext_size; |
97 core_st_t *threadp; | 95 core_st_t *threadp; |
98 int pagesize; | 96 int pagesize; |
99 asection *newsect; | 97 asection *newsect; |
100 bfd_size_type amt; | 98 bfd_size_type amt; |
101 | 99 |
102 pagesize = getpagesize (); /* Serious cross-target issue here... This | 100 pagesize = getpagesize (); /* Serious cross-target issue here... This |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 return abfd->xvec; | 206 return abfd->xvec; |
209 | 207 |
210 fail: | 208 fail: |
211 bfd_release (abfd, core_hdr (abfd)); | 209 bfd_release (abfd, core_hdr (abfd)); |
212 core_hdr (abfd) = NULL; | 210 core_hdr (abfd) = NULL; |
213 bfd_section_list_clear (abfd); | 211 bfd_section_list_clear (abfd); |
214 return NULL; | 212 return NULL; |
215 } | 213 } |
216 | 214 |
217 char * | 215 char * |
218 lynx_core_file_failing_command (abfd) | 216 lynx_core_file_failing_command (bfd *abfd) |
219 bfd *abfd; | |
220 { | 217 { |
221 return core_command (abfd); | 218 return core_command (abfd); |
222 } | 219 } |
223 | 220 |
224 int | 221 int |
225 lynx_core_file_failing_signal (abfd) | 222 lynx_core_file_failing_signal (bfd *abfd) |
226 bfd *abfd; | |
227 { | 223 { |
228 return core_signal (abfd); | 224 return core_signal (abfd); |
229 } | 225 } |
230 | 226 |
231 #endif /* LYNX_CORE */ | 227 #endif /* LYNX_CORE */ |
OLD | NEW |