* libcoff-in.h (struct coff_section_tdata): Add offset, i,
[binutils-gdb.git] / bfd / ChangeLog
1 Mon Sep 25 11:48:02 1995 Ian Lance Taylor <ian@cygnus.com>
2
3 * libcoff-in.h (struct coff_section_tdata): Add offset, i,
4 function, and line_base fields.
5 * libcoff.h: Rebuild.
6 * coffgen.c (coff_find_nearest_line): Use section tdata to cache
7 information, rather than using static variables.
8
9 * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
10 file. From Peter DeWolf <pld@amt.tay1.dec.com>.
11
12 * init.c (initialized): Remove static variable.
13 (bfd_init): Don't bother setting initialized.
14 (bfd_check_init): Remove.
15 * opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
16 * libbfd.h: Rebuild.
17
18 Sat Sep 23 01:22:23 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
19
20 * rs6000-core.c (rs6000coff_core_p): Don't check the core file
21 size for full core dumps. Copy core file header to private data.
22 (rs6000coff_core_file_failing_command,
23 rs6000coff_core_file_failing_signal): New functions to extract
24 the file name and terminating signal from the core file.
25 * coff-rs6000.c: Use them.
26
27 Fri Sep 22 17:44:47 1995 Ian Lance Taylor <ian@cygnus.com>
28
29 Change arch info to be const, initialized at compile time.
30 * archures.c: Reindent many functions. Change CONST to const.
31 (bfd_arch_info_type): Make arch_name const. Remove disassemble;
32 nothing set it anyhow. Make next const.
33 (bfd_arch_info_list): Remove.
34 (bfd_archures_list): Rename from archures_init_table. Change from
35 a table of function pointers to a table of bfd_arch_info_type
36 structure addresses.
37 (bfd_scan_arch): Rewrite accordingly. Return a const pointer.
38 (bfd_lookup_arch): Likewise.
39 (bfd_set_arch_info): Rewrite accordingly. Change argument to be a
40 const pointer.
41 (bfd_default_arch_struct): Make const.
42 (bfd_arch_init, bfd_arch_linkin): Remove.
43 (bfd_get_arch_info): Return a const pointer.
44 * init.c (bfd_init): Don't call bfd_arch_init.
45 * bfd.c (struct _bfd): Make arch_info const.
46 * bfd-in2.h: Rebuild.
47 * libbfd.h: Rebuild.
48 * configure.in: Put & before everything in $selarchs.
49 * configure: Rebuild.
50 * cpu-*.c: Change bfd_*_arch from a function which calls
51 bfd_arch_linkin to a const structure.
52 * ieee.c (ieee_object_p): Make arch const.
53
54 Fri Sep 22 16:23:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
55
56 * reloc.c (bfd_reloc_code_type): Add relocations to support all of
57 PowerPC V.4.
58 * bfd-in2.h: Regenerate.
59 * libbfd.h: Regenerate.
60
61 * elf32-ppc.c (reloc_type): Update names to match current draft.
62 (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
63 relative. Update names to current V.4 draft.
64 (ppc_elf_reloc_type_lookup): Add support for more relocations.
65 (ppc_elf_relocate_section): Rename relocations to match draft.
66
67 Thu Sep 21 21:53:18 1995 Michael Meissner <meissner@cygnus.com>
68
69 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
70 compiled with -mrelocatable-lib to be linked with either normal
71 modules or -mrelocatable modules.
72
73 Wed Sep 20 12:03:26 1995 Ian Lance Taylor <ian@cygnus.com>
74
75 * coffcode.h (coff_write_object_contents): Clear the vstamp field
76 in the a.out header.
77
78 * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
79 a reloc against a local symbol, even if it's not a section.
80
81 Tue Sep 19 17:02:26 1995 Ian Lance Taylor <ian@cygnus.com>
82
83 * targets.c (bfd_target): Remove unused align_power_min field.
84 * bfd-in2.h: Rebuild.
85 * All backends: Remove initialization of align_power_min.
86
87 Tue Sep 19 14:02:21 1995 steve chamberlain <sac@slash.cygnus.com>
88
89 * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
90
91 Mon Sep 18 14:35:01 1995 Arne H. Juul <arnej@pvv.unit.no>
92
93 * config.bfd (mips-dec-netbsd*): New target.
94 * configure.host (mips-dec-netbsd*): New host.
95 * configure.in (mips-dec-netbsd*): New native.
96 * configure: Rebuild.
97
98 Fri Sep 15 10:24:36 1995 Ian Lance Taylor <ian@cygnus.com>
99
100 Make the COFF backend linker merge common types:
101 * cofflink.c (struct coff_debug_merge_element): Define.
102 (struct coff_debug_merge_type): Define.
103 (struct coff_debug_merge_hash_entry): Define.
104 (struct coff_debug_merge_hash_table): Define.
105 (coff_debug_merge_hash_table_init): Define.
106 (coff_debug_merge_hash_table_free): Define.
107 (coff_debug_merge_hash_lookup): Define.
108 (struct coff_final_link_info): Add debug_merge field.
109 (coff_debug_merge_hash_newfunc): New static function.
110 (_bfd_coff_final_link): Allocate and free debug_merge table.
111 (coff_link_input_bfd): Merge identical enum, struct and union
112 types.
113
114 Thu Sep 14 14:53:58 1995 Ian Lance Taylor <ian@cygnus.com>
115
116 Convert i960 COFF to use COFF backend linker.
117 * coff-i960.c (coff_i960_relocate): Use a coff_section_data
118 structure to store the symbol being used.
119 (coff_i960_start_final_link): New static function.
120 (coff_i960_relocate_section): New static function.
121 (coff_i960_adjust_symndx): New static function.
122 (coff_start_final_link): Define.
123 (coff_relocate_section): Define.
124 (coff_adjust_symndx): Define.
125 * coffcode.h (bfd_coff_backend_data): Add new callback function
126 _bfd_coff_start_final_link.
127 (bfd_coff_start_final_link): Define.
128 (coff_start_final_link): Define if not defined.
129 (bfd_coff_std_swap_table): Add coff_start_final_link.
130 * cofflink.c (_bfd_coff_internal_syment_name): Make globally
131 visible.
132 (_bfd_coff_final_link): Call bfd_coff_start_final_link if the
133 function callback is not NULL.
134 * libcoff-in.h (struct coff_section_tdata): Add tdata field.
135 (_bfd_coff_internal_syment_name): Declare.
136 * libcoff.h: Rebuild.
137 * configure.in (icoff_big_vec): Add cofflink.o.
138 (icoff_little_vec): Likewise.
139 * configure: Rebuild.
140
141 Wed Sep 13 17:38:23 1995 Fred Fish <fnf@rtl.cygnus.com>
142
143 * Makefile.in (clean-info): Remove extraneous tab from line
144 following action.
145
146 Wed Sep 13 13:27:53 1995 Ian Lance Taylor <ian@cygnus.com>
147
148 * cofflink.c (coff_link_input_bfd): Fail if a section with no
149 contents has relocs.
150
151 Thu Sep 12 12:45:34 1995 steve chamberlain <sac@slash.cygnus.com>
152
153 * coffcode.h (coff_compute_section_file_positions): Keep the
154 raw size safe.
155 (coff_write_object_contents): Remember if it's a relocatable
156 file.
157 * libcoff-in.h (pe_data_type): New member 'has_reloc_section'
158 * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
159 if relocatable file. Swap out saved raw size.
160
161 Tue Sep 12 12:14:33 1995 Ian Lance Taylor <ian@cygnus.com>
162
163 * Makefile.in (do_maintainer_clean): Rename from do_realclean.
164 (maintainer-clean): Rename from realclean, passing
165 maintainer-clean down to subdirectories, but leave realclean as a
166 synonym.
167
168 * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
169 warning callback.
170
171 * dep-in.sed: Remove config.h from generated dependencies.
172
173 * sunos.c (sunos_slurp_dynamic_symtab): New static function,
174 broken out of sunos_canonicalize_dynamic_symtab.
175 (sunos_canonicalize_dynamic_symtab): Call new function
176 sunos_slurp_dynamic_symtab.
177 (sunos_add_dynamic_symbols): Add three new parameters. Return the
178 dynamic symbol table to the caller.
179 * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
180 callback to override the symbols being read.
181 * libaout.h (struct aout_backend_data): Add three new parameters
182 to add_dynamic_symbols callback.
183
184 Extensive minor changes to avoid various gcc warnings. Also:
185 * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
186 * archures.c (bfd_arch_info_type): Change mach field from long to
187 unsigned long.
188 (bfd_lookup_arch): Change machine parameter from long to unsigned
189 long.
190
191 Mon Sep 11 10:55:47 1995 Ian Lance Taylor <ian@cygnus.com>
192
193 * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
194 a symbol with a non-zero plt_offset.
195
196 Fri Sep 8 11:47:24 1995 Ian Lance Taylor <ian@cygnus.com>
197
198 * elfcode.h (align_file_position): Remove; not used.
199
200 * configure.in: Only check for <sys/procfs.h> on a native system,
201 and make sure it defines prstatus_t.
202 * configure: Rebuild.
203
204 Thu Sep 7 12:48:01 1995 Ian Lance Taylor <ian@cygnus.com>
205
206 * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
207
208 * config.in: Rename from config.h.in.
209 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
210 Check for config.h:config.in when creating stamp-h.
211 * configure: Rebuild.
212 * Makefile.in (stamp-h): Depend upon config.in rather than
213 config.h.in. Set CONFIG_HEADERS to config.h:config.in when
214 calling config.status.
215
216 * Makefile.in (do_distclean): Remove config.h and stamp-h.
217 (Makefile): Just rebuild Makefile.
218 (config.h, stamp-h): New targets.
219 * configure.in: Create stamp-h when rebuilding config.h.
220 * configure: Rebuild.
221
222 Wed Sep 6 15:00:33 1995 Ian Lance Taylor <ian@cygnus.com>
223
224 * configure.in: Call AC_CONFIG_HEADER. Substitute
225 HOST_64BIT_LONG. Check that various header files exist. Check
226 that fcntl exists. Call BFD_BINARY_FOPEN. Check whether malloc
227 and/or free need to be declared. Don't make a link to sysdep.h.
228 Define TRAD_HEADER for various hosts.
229 * configure: Rebuild.
230 * configure.host: Don't set my_host. Add definitions taken from
231 host header files for various entries. Remove entries which now
232 do nothing.
233 * acconfig.h: New file.
234 * config.h.in: New file, built by autoheader.
235 * sysdep.h: New file.
236 * Makefile.in (do_distclean): Don't remove sysdep.h.
237 (RECONFIG): Remove.
238 (LOCAL_H_DEPS): New variable.
239 ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
240 $(RECONFIG).
241 ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
242 ($(OPTIONAL_BACKENDS)): Likewise.
243 (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
244 looking through sysdep.h.
245 * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
246 (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
247 (fprintf_vma, sprintf_vma): Likewise.
248 (int64_type, uint64_type): Don't define.
249 * bfd-in2.h: Rebuild.
250 * archures.c, bfd.c, srec.c: Include <ctype.h>.
251 * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
252 * lynx-core.c: Include stuff from old hosts/lynx.h.
253 * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
254 rather than NO_FCNTL.
255 * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
256 rather than NATIVE_HPPAHPUX_COMPILER.
257 * trad-core.c: Don't include <errno.h>. Include TRAD_HEADER if it
258 is defined.
259 * hosts/*.h: Remove all header files which merely include,
260 declare, and define things. Leave header files which define
261 information needed by trad-core.c.
262
263 * aclocal.m4 (BFD_BINARY_FOPEN): Define.
264 (BFD_CC_FOR_BUILD): Define.
265 * configure.in: Use BFD_CC_FOR_BUILD.
266 * configure: Rebuild.
267
268 Tue Sep 5 19:35:28 1995 Ian Lance Taylor <ian@cygnus.com>
269
270 * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
271 * configure: Rebuild.
272
273 * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
274 a global symbol.
275
276 Tue Sep 5 12:48:26 1995 Jason Molenda (crash@phydeaux.cygnus.com)
277
278 * config.bfd: i386pe_ve -> i386pe_vec.
279
280 Mon Sep 4 14:02:43 1995 Ian Lance Taylor <ian@cygnus.com>
281
282 * configure.host: Incorporate host Makefile fragments by setting
283 shell variables.
284 * configure.in: Call AC_PROG_CC. Substitute CFLAGS, HDEFINES and
285 AR. Call AC_PROG_INSTALL. Substitute CC_FOR_BUILD, choosing a
286 value based on whether the code is being compiled by a cross
287 compiler. Don't substitute host_makefile_frag or frags.
288 * aclocal.m4: New file to define local AC_PROG_CC.
289 * configure: Rebuild.
290 * Makefile.in (INSTALL): Set to @INSTALL@.
291 (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
292 (INSTALL_DATA): Set to @INSTALL_DATA@.
293 (AR): Set to @AR@.
294 (CC): Define as @CC@.
295 (CFLAGS): Set to @CFLAGS@.
296 (CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
297 (@host_makefile_frag@): Remove.
298 (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@. Move $(CFLAGS)
299 after other options.
300 (config.status): Remove dependency upon @frags@.
301 * config/*.mh, config/README: Remove.
302
303 * config.bfd: Rewrite to incorporate the contents of the Makefile
304 fragments by setting shell variables, rather than merely returning
305 the name of a Makefile fragment.
306 * configure.in: Use shell variables set by config.bfd rather than
307 looking at the target Makefile fragment files. Don't substitute
308 target_makefile_frag. Do substitute TDEFINES.
309 * configure: Rebuild.
310 * Makefile.in (@target_makefile_frag@): Remove.
311 (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
312 * config/*.mt: Remove.
313
314 Mon Sep 4 03:13:28 1995 Ken Raeburn <raeburn@cygnus.com>
315
316 * configure.in: Put changequote lines around "i[345]86" patterns
317 section of core file support.
318
319 Sun Sep 3 11:31:58 1995 Jeff Law (law@snake.cs.utah.edu)
320
321 * som.c (som_bfd_print_private_bfd_data): Define to use the
322 generic version.
323
324 Fri Sep 1 17:08:40 1995 steve chamberlain <sac@slash.cygnus.com>
325
326 * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
327 entry, text_start and data_start.
328
329 Fri Sep 1 18:06:28 1995 Ian Lance Taylor <ian@cygnus.com>
330
331 * Makefile.in (OFILES): Remove $(TDEPFILES).
332 * config/apollo.mt (TDEPFILES): Remove.
333 * config/README: Update.
334
335 * configure.in: For a native configuration, set COREFILE and
336 COREFLAG based on the canonical host name.
337 * configure: Rebuild.
338 * Makefile.in: Rebuild dependencies.
339 (ALL_CFLAGS): Add @COREFLAG@.
340 (OFILES): Replace $(HDEPFILES) with @COREFILE@.
341 * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
342 support routines. Check LYNX_CORE rather than HOST_LYNX.
343 * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
344 * i386lynx.c: Likewise.
345 * m68klynx.c: Likewise.
346 * sparclynx.c: Likewise.
347 * rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
348 * *-core.c: Comment changes.
349 * config/decstation.mh (HDEPFILES): Remove.
350 (HDEFINES): Remove -DTRAD_CORE.
351 * config/irix3.mh (RANLIB): Remove.
352 * config/irix4.mh (HDEPFILES, RANLIB): Remove.
353 (HDEFINES): Remove -DIRIX_CORE.
354 * config/riscos.mh (RANLIB, HDEPFILES): Remove.
355 (HDEFINES): Remove -DTRAD_CORE.
356 * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
357 * config/ultra3.mh (RANLIB): Remove.
358 * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
359 * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
360 * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
361 * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
362 * config/hppahpux.mh, config/hppaosf.mh: Remove.
363 * config/i386aix.mh, config/i386bsd.mh: Remove.
364 * config/i386linux.mh, config/i386mach3.mh: Remove.
365 * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
366 * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
367 * config/mipsmach3.mh, config/news-mips.mh: Remove.
368 * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
369 * config/rs600.mh, config/rs6000lynx.mh: Remove.
370 * config/solaris2.mh, config/stratus.mh: Remove.
371 * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
372 * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
373
374 Fri Sep 1 15:18:50 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
375
376 * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
377 DT_FINI entry if the appropriate symbol is not in the hash table.
378
379 * libelf.h (struct elf_backend_data): Add create_program_headers
380 and want_hdr_in_seg fields.
381 * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
382 defined.
383 (elf_backend_create_program_headers): Likewise.
384 (elfNN_bed): Initialize create_program_headers and
385 want_hdr_in_seg.
386 * elf.c (get_program_header_size): Call create_program_headers
387 backend routine.
388 (map_program_segments): Check want_hdr_in_seg backend field. Call
389 create_program_headers backend routine.
390
391 * elf.c (assign_file_positions_except_relocs): Align non allocated
392 sections when creating an executable.
393
394 * elfcode.h (elf_swap_phdr_in): Make non static.
395 (elf_swap_phdr_out): Make non static.
396 * libelf.h (bfd_elf32_swap_phdr_in): Declare.
397 (bfd_elf32_swap_phdr_out): Declare.
398 (bfd_elf64_swap_phdr_in): Declare.
399 (bfd_elf64_swap_phdr_out): Declare.
400
401 * ecofflink.c (ecoff_collect_shuffle): New static function.
402 (_bfd_ecoff_get_accumulated_pdr): New function.
403 (_bfd_ecoff_get_accumulated_sym): New function.
404 (_bfd_ecoff_get_accumulated_ss): New function.
405 * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
406 (_bfd_ecoff_get_accumulated_sym): Declare.
407 (_bfd_ecoff_get_accumulated_ss): Declare.
408 * libbfd.h: Rebuild.
409
410 Fri Sep 1 13:20:25 1995 Ian Lance Taylor <ian@cygnus.com>
411
412 * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
413
414 * elflink.h (elf_link_add_object_symbols): Handle indirect and
415 warning symbols. If any section is named .gnu.warning.XXX, treat
416 the contents as a warning to be issued if the symbol XXX is
417 referenced.
418 (elf_link_output_extsym): For an indirect or warning symbol, just
419 output the symbol it points to.
420
421 * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
422 if bfd_hash_allocate fails, since it will already be set.
423 (generic_link_hash_newfunc): Likewise.
424 (archive_hash_newfunc): Likewise.
425 (hash_entry_bfd): New static function.
426 (_bfd_generic_link_add_one_symbol): Pass new arguments to warning
427 callback. Allocate a new warning using the hash table newfunc.
428 Use bfd_hash_replace to update the entry in the hash table, rather
429 than assuming we can copy the fields with structure assignment.
430
431 * hash.c (bfd_hash_replace): New function.
432 * bfd-in.h (bfd_hash_replace): Declare.
433 * bfd-in2.h: Rebuild.
434
435 Fri Sep 1 08:12:50 1995 James G. Smith <jsmith@beauty.cygnus.com>
436
437 * config.bfd: Add mips*vr4300-*-elf* target.
438 * config/mipsbvr4300.mt: Added.
439
440 See file ChangeLog.2
441
442 \f
443 Local Variables:
444 mode: indented-text
445 left-margin: 8
446 fill-column: 74
447 version-control: never
448 End: