OLD | NEW |
1 /* BFD back-end for i386 a.out binaries under LynxOS. | 1 /* BFD back-end for i386 a.out binaries under LynxOS. |
2 Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2001, 2002, | 2 Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2001, 2002, |
3 2003, 2005, 2007, 2009, 2010 Free Software Foundation, Inc. | 3 2003, 2005, 2007, 2009, 2010, 2012 Free Software Foundation, Inc. |
4 | 4 |
5 This file is part of BFD, the Binary File Descriptor library. | 5 This file is part of BFD, the Binary File Descriptor library. |
6 | 6 |
7 This program is free software; you can redistribute it and/or modify | 7 This program is free software; you can redistribute it and/or modify |
8 it under the terms of the GNU General Public License as published by | 8 it under the terms of the GNU General Public License as published by |
9 the Free Software Foundation; either version 3 of the License, or | 9 the Free Software Foundation; either version 3 of the License, or |
10 (at your option) any later version. | 10 (at your option) any later version. |
11 | 11 |
12 This program is distributed in the hope that it will be useful, | 12 This program is distributed in the hope that it will be useful, |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 execp->a_syms = bfd_get_symcount (abfd) * EXTERNAL_NLIST_SIZE; \ | 45 execp->a_syms = bfd_get_symcount (abfd) * EXTERNAL_NLIST_SIZE; \ |
46 execp->a_entry = bfd_get_start_address (abfd); \ | 46 execp->a_entry = bfd_get_start_address (abfd); \ |
47 \ | 47 \ |
48 execp->a_trsize = ((obj_textsec (abfd)->reloc_count) * \ | 48 execp->a_trsize = ((obj_textsec (abfd)->reloc_count) * \ |
49 obj_reloc_entry_size (abfd)); \ | 49 obj_reloc_entry_size (abfd)); \ |
50 execp->a_drsize = ((obj_datasec (abfd)->reloc_count) * \ | 50 execp->a_drsize = ((obj_datasec (abfd)->reloc_count) * \ |
51 obj_reloc_entry_size (abfd)); \ | 51 obj_reloc_entry_size (abfd)); \ |
52 NAME(aout,swap_exec_header_out) (abfd, execp, &exec_bytes); \ | 52 NAME(aout,swap_exec_header_out) (abfd, execp, &exec_bytes); \ |
53 \ | 53 \ |
54 if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0 \ | 54 if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0 \ |
55 » || bfd_bwrite ((PTR) &exec_bytes, (bfd_size_type) EXEC_BYTES_SIZE, \ | 55 » || bfd_bwrite (&exec_bytes, (bfd_size_type) EXEC_BYTES_SIZE, \ |
56 abfd) != EXEC_BYTES_SIZE) \ | 56 abfd) != EXEC_BYTES_SIZE) \ |
57 return FALSE; \ | 57 return FALSE; \ |
58 /* Now write out reloc info, followed by syms and strings */ \ | 58 /* Now write out reloc info, followed by syms and strings */ \ |
59 \ | 59 \ |
60 if (bfd_get_symcount (abfd) != 0) \ | 60 if (bfd_get_symcount (abfd) != 0) \ |
61 { \ | 61 { \ |
62 if (bfd_seek (abfd, (file_ptr) (N_SYMOFF(*execp)), SEEK_SET) \ | 62 if (bfd_seek (abfd, (file_ptr) (N_SYMOFF(*execp)), SEEK_SET) \ |
63 != 0) \ | 63 != 0) \ |
64 return FALSE; \ | 64 return FALSE; \ |
65 \ | 65 \ |
(...skipping 11 matching lines...) Expand all Loading... |
77 \ | 77 \ |
78 if (!NAME(lynx,squirt_out_relocs) (abfd, obj_datasec (abfd))) \ | 78 if (!NAME(lynx,squirt_out_relocs) (abfd, obj_datasec (abfd))) \ |
79 return FALSE; \ | 79 return FALSE; \ |
80 } \ | 80 } \ |
81 } | 81 } |
82 #endif | 82 #endif |
83 | 83 |
84 #include "libaout.h" | 84 #include "libaout.h" |
85 #include "aout/aout64.h" | 85 #include "aout/aout64.h" |
86 | 86 |
87 void NAME (lynx,swap_std_reloc_out) | |
88 PARAMS ((bfd *, arelent *, struct reloc_std_external *)); | |
89 void NAME (lynx,swap_ext_reloc_out) | |
90 PARAMS ((bfd *, arelent *, struct reloc_ext_external *)); | |
91 void NAME (lynx,swap_ext_reloc_in) | |
92 PARAMS ((bfd *, struct reloc_ext_external *, arelent *, asymbol **, | |
93 bfd_size_type)); | |
94 void NAME (lynx,swap_std_reloc_in) | |
95 PARAMS ((bfd *, struct reloc_std_external *, arelent *, asymbol **, | |
96 bfd_size_type)); | |
97 bfd_boolean NAME (lynx,slurp_reloc_table) | |
98 PARAMS ((bfd *, sec_ptr, asymbol **)); | |
99 bfd_boolean NAME (lynx,squirt_out_relocs) | |
100 PARAMS ((bfd *, asection *)); | |
101 long NAME (lynx,canonicalize_reloc) | |
102 PARAMS ((bfd *, sec_ptr, arelent **, asymbol **)); | |
103 | 87 |
104 #ifdef LYNX_CORE | 88 #ifdef LYNX_CORE |
105 | 89 |
106 char *lynx_core_file_failing_command (); | 90 char *lynx_core_file_failing_command (); |
107 int lynx_core_file_failing_signal (); | 91 int lynx_core_file_failing_signal (); |
108 bfd_boolean lynx_core_file_matches_executable_p (); | 92 bfd_boolean lynx_core_file_matches_executable_p (); |
109 const bfd_target *lynx_core_file_p (); | 93 const bfd_target *lynx_core_file_p (); |
110 | 94 |
111 #define MY_core_file_failing_command lynx_core_file_failing_command | 95 #define MY_core_file_failing_command lynx_core_file_failing_command |
112 #define MY_core_file_failing_signal lynx_core_file_failing_signal | 96 #define MY_core_file_failing_signal lynx_core_file_failing_signal |
113 #define MY_core_file_matches_executable_p lynx_core_file_matches_executable_p | 97 #define MY_core_file_matches_executable_p lynx_core_file_matches_executable_p |
114 #define MY_core_file_p lynx_core_file_p | 98 #define MY_core_file_p lynx_core_file_p |
115 | 99 |
116 #endif /* LYNX_CORE */ | 100 #endif /* LYNX_CORE */ |
117 | 101 |
118 | 102 |
119 | 103 |
120 #define KEEPIT udata.i | 104 #define KEEPIT udata.i |
121 | 105 |
122 extern reloc_howto_type aout_32_ext_howto_table[]; | 106 extern reloc_howto_type aout_32_ext_howto_table[]; |
123 extern reloc_howto_type aout_32_std_howto_table[]; | 107 extern reloc_howto_type aout_32_std_howto_table[]; |
error: old chunk mismatch |
None
OLD | NEW |