Fix WRS bug where -Ttext 0x10000 left first program header invalid
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 Wed Feb 7 13:37:39 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2
3 * elf.c (make_mapping): Add an additional argument to suppress
4 making the first section include the program headers.
5 (map_sections_to_segments): If the user used -Ttext such that the
6 program headers are on a different page, do not set the flags
7 saying that this section includes the program headers.
8
9 Tue Feb 6 14:04:49 1996 J.T. Conklin <jtc@rtl.cygnus.com>
10
11 * configure.in (*-*-netbsd*): Set COREFILE to netbsd-core.c.
12 don't define TRAD_HEADER.
13 * configure: Rebuild.
14
15 * netbsd-core.c: New file, support for NetBSD core files.
16 * hosts/*nbsd.h: Removed.
17
18 Tue Feb 6 11:47:49 1996 Doug Evans <dje@charmed.cygnus.com>
19
20 * reloc.c (BFD_RELOC_SPARC_[567]): New reloc types.
21 (BFD_RELOC_SPARC_LO7 reloc type): Deleted.
22 * libbfd.h, bfd-in2.h: Regenerated.
23 * elf32-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Renamed from
24 bfd_elf32_bfd_reloc_type_lookup.
25 (reloc_type{,_names}): Deleted.
26 (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
27 Add sparc64 relocs.
28 (sparc_reloc_map): Add sparc64 relocs.
29 (sparc_elf_notsupported_reloc): New static function.
30 (sparc_elf_wdisp16_reloc): New static function.
31 (elf32_sparc_check_relocs): Handle R_SPARC_WDISP{16,19}.
32 (elf32_sparc_relocate_section): Likewise.
33 (bfd_elf32_bfd_reloc_type_lookup): Define.
34 * elf64-sparc.c (sparc64_elf_wdisp16_reloc): Deleted.
35 (reloc_type{,_names}): Deleted.
36 (elf_sparc_howto_table): Deleted.
37 (sparc_reloc_map): Deleted.
38 (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
39 (bfd_elf64_bfd_reloc_type_lookup): Change from function to #define.
40
41 Tue Feb 6 12:12:22 1996 Ian Lance Taylor <ian@cygnus.com>
42
43 * configure.host: Make SHLIB_CFLAGS include $(PICFLAG) on a
44 *-*-hpux* host.
45
46 * Makefile.in (program_transform_name): New variable.
47 (install): Transform library name before installing it.
48
49 Mon Feb 5 10:38:27 1996 Ian Lance Taylor <ian@cygnus.com>
50
51 * archures.c (bfd_mach_i960_hx): Define.
52 * bfd-in2.h: Rebuild.
53 * cpu-i960.c (scan_960_mach): Accept machine "hx".
54 (MATRIX): Expand entries for HX.
55 (arch_info_struct): Add i960:hx entry.
56 * bout.c (b_out_set_arch_mach): Handle bfd_mach_i960_hx.
57 * coffcode.h (coff_set_arch_mach_hook): Handle F_I960HX.
58 (coff_set_flags): Handle bfd_mach_i960_hx.
59
60 Support for building as a shared library, based on patches from
61 Alan Modra <alan@spri.levels.unisa.edu.au>:
62 * configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
63 New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
64 SHLIB_CFLAGS, COMMON_SHLIB, PICLIST, SHLINK.
65 * configure: Rebuild.
66 * configure.host: If --enable-shared, adjust shared library stuff
67 based on the host. If the host is SunOS, and the linker supports
68 -rpath, set HLDFLAGS to use it.
69 * Makefile.in (ALLLIBS): New variable.
70 (PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
71 (COMMON_SHLIB, SHLINK): New variables.
72 (.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
73 (STAGESTUFF): Remove variable.
74 (all): Depend upon $(ALLLIBS) and @PICLIST@ rather than
75 $(TARGETLIB).
76 (stamp-ofiles): New target, like old ofiles target, but build
77 using a temporary file and move-if-change, and touch stamp-ofiles
78 when done.
79 (ofiles): Just depend upon stamp-ofiles.
80 (stamp-piclist, piclist): New targets.
81 ($(SHLIB), $(SHLINK)): New targets.
82 (targets.o, archures.o): Build twice if PICFLAG is set.
83 (do_mostlyclean): Remove pic/*.o.
84 (do_clean): Remove stamp-ofiles, $(SHLIB), $(SHLINK), piclist, and
85 stamp-piclist.
86 (do_distclean): Remove pic and stamp-picdir.
87 (install): Install shared libraries.
88 ($(OFILES)): Depend upon stamp-picdir.
89 (stamp-picdir): New target.
90
91 * libcoff-in.h: Add comment reminding people that libcoff.h is a
92 generated file.
93 * libcoff.h: Rebuild.
94
95 * elflink.h (elf_adjust_dynamic_symbol): Don't try to get the
96 flavour of a section with no owner.
97
98 * elf32-mips.c (mips_elf_create_dynamic_sections): Clear
99 ELF_LINK_NON_ELF flag.
100 (mips_elf_create_got_section): Likewise.
101
102 * elf.c: Revert last change, since it breaks dynamic linking.
103 * elf-bfd.h (struct elf_backend_data): Remove want_hdr_in_seg
104 field.
105 * elf32-mips.c (elf_backend_want_hdr_in_seg): Don't define.
106 * elfxx-target.h (elf_backend_want_hdr_in_seg): Don't define.
107 (elfNN_bed): Don't initialize want_hdr_in_seg field.
108
109 Sun Feb 4 20:45:13 1996 Michael Meissner <meissner@tiktok.cygnus.com>
110
111 * elf.c (assign_file_positions_for_segments): If the backend does
112 not want the elf header or the program headers in the address
113 space, do not include them in the calculations.
114
115 * elf32-ppc.c (ppc_elf_additional_program_headers): New hook
116 function to determine if we need additional program headers.
117 (ppc_elf_modify_segment_map): Define as a NOP function for now.
118 (ppc_elf_create_linker_section): .sdata2 is a read-only section.
119
120 Sat Feb 3 23:00:03 1996 Ian Lance Taylor <ian@cygnus.com>
121
122 * coffcode.h: Move today's libcoff.h change into coffcode.h.
123
124 Sat Feb 3 15:43:44 1996 Fred Fish <fnf@cygnus.com>
125
126 * libcoff.h (bfd_coff_link_add_one_symbol): Combine macro args
127 back into one line. Some compilers (sunos 4.1.3 for example)
128 won't accept args split across more than one line.
129
130 Fri Feb 2 11:42:15 1996 Steve Chamberlain <sac@slash.cygnus.com>
131
132 * aclocal.m4 (BFD_BINARY_FOPEN): Understand cygwin32.
133 * configure: Regenerate.
134
135 Fri Feb 2 12:12:16 1996 Jeffrey A Law (law@cygnus.com)
136
137 * elf32-hppa.c (elf32_hppa_backend_symbol_table_processing): Don't
138 try to do arithmetic on a void *, cast it to a unsigned char * first.
139
140 Thu Feb 1 16:04:06 1996 Ian Lance Taylor <ian@cygnus.com>
141
142 * elf-bfd.h (ELF_LINK_NON_ELF): Define.
143 * elf.c (_bfd_elf_link_hash_newfunc): Set elf_link_hash_flags to
144 ELF_LINK_NON_ELF.
145 * elflink.h (elf_link_add_object_symbols): Reset ELF_LINK_NON_ELF
146 flag for a newly defined symbol.
147 (NAME(bfd_elf,record_link_assignment)): Likewise.
148 (elf_adjust_dynamic_symbol): If ELF_LINK_NON_ELF is set, try to
149 set the DEF or REF_REGULAR flags correctly.
150
151 * Makefile.in (bfd-in2.h): Make bfd.h, not protos, in docdir.
152 (libbfd.h, libcoff.h): Corresponding change.
153
154 * elf32-i386.c (elf_i386_check_relocs): Don't record a symbol with
155 a PLT32 reloc as dynamic.
156 (elf_i386_adjust_dynamic_symbol): If a symbol with a PLT32 reloc
157 is not referenced by a dynamic object, and we are not making a
158 shared object, then don't make a PLT entry. If we do make a PLT
159 entry, make sure the symbol has been recorded as dynamic.
160
161 Wed Jan 31 17:23:32 1996 Steve Chamberlain <sac@slash.cygnus.com>
162
163 * coff-i386.c (coff_i386_reloc_type_lookup): Add BFD_RELOC_32_PCREL.
164 * config.bfd (i[345]86-*-win32): Becomes i[345]86-*-cygwin32.
165 (powerpcle-*-cygwin32): New.
166 * peicode.h (add_data_entry): Get address from vma.
167
168 Wed Jan 31 16:23:57 1996 Michael Meissner <meissner@tiktok.cygnus.com>
169
170 * elflink.c (_bfd_elf_create_linker_section): If the symbol
171 attached to the section has already been created as an undefined
172 symbol, treat it as if it hasn't been created yet.
173
174 Wed Jan 31 16:16:53 1996 Ian Lance Taylor <ian@cygnus.com>
175
176 * elflink.h (elf_bfd_final_link): Don't output initial dummy
177 symbol or section symbols if stripping all symbols and this is not
178 a relocateable link. Don't output the symbol string table if
179 there are no symbols.
180 (elf_link_flush_output_syms): Don't do anything if there are no
181 symbols to flush.
182
183 Wed Jan 31 12:55:49 1996 Richard Henderson <rth@tamu.edu>
184
185 * coff-aux.c: New file.
186 * hosts/m68kaux.h: New file.
187 * config.bfd (m68*-apple-aux*): New target.
188 * configure.in (m68*-apple-aux*): New native host.
189 (m68kaux_coff_vec): New vector.
190 * configure: Rebuild.
191 * targets.c (m68kaux_coff_vec): Declare.
192 * coffcode.h (bfd_coff_backend_data): Add field
193 _bfd_coff_link_add_one_symbol.
194 (bfd_coff_link_add_one_symbol): Define.
195 (compare_arelent_ptr): New static function if TARG_AUX.
196 (coff_write_relocs): If TARG_AUX, sort the relocs.
197 (coff_write_object_contents): Set A/UX aouthdr magic number.
198 (coff_link_add_one_symbol): Define if not defined.
199 (bfd_coff_std_swap_table): Initialize new field.
200 * libcoff.h: Rebuild.
201 * cofflink.c (coff_link_add_symbols): Call
202 bfd_coff_link_add_one_symbol rather than
203 _bfd_generic_link_add_one_symbol.
204 * coff-m68k.c (COFF_PAGE_SIZE): Don't define if already defined.
205 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
206 * coff-mips.c (mips_ecoff_backend_data): Likewise.
207 * Makefile.in: Rebuild dependencies.
208 (BFD32_BACKENDS): Add coff-aux.o.
209 (BFD32_BACKENDS_CFILES): Add coff-aux.c.
210
211 Wed Jan 31 11:37:46 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
212
213 * elf32-m68k.c (elf_m68k_relocate_section): Fix R_68K_GOT*
214 relocation; ignore addend with R_68K_{GOT,PLT}*O relocation.
215
216 Tue Jan 30 12:09:04 1996 Ian Lance Taylor <ian@cygnus.com>
217
218 * Makefile.in (do_maintainer_clean): Remove $(srcdir)/bfd-in2.h,
219 $(srcdir)/libbfd.h and $(srcdir)/libcoff.h.
220 (maintainer-clean): Warn about deleting special files.
221 (bfd-in2.h, libbfd.h, libcoff.h): New targets.
222
223 * elf32-hppa.c (elf32_hppa_relocate_section): Handle indirect and
224 warning symbols correctly.
225 * elf32-i386.c (elf_i386_relocate_section): Likewise.
226 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
227 * elf32-mips.c (mips_elf_relocate_section): Likewise.
228 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
229 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
230 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
231
232 * syms.c (_bfd_stab_section_find_nearest_line): Add casts to avoid
233 warnings.
234
235 Mon Jan 29 14:27:24 1996 Kim Knuttila <krk@cygnus.com>
236
237 * libcoff-in.h: aligned newly exported names with bfd naming
238 conventions. Removed an erroneous define of POWERPC_LE_PE.
239 * libcoff.h: Rebuild.
240 * cofflink.c, coff-ppc.c: the above function name changes
241
242 Mon Jan 29 13:06:28 1996 Ian Lance Taylor <ian@cygnus.com>
243
244 From Basim Kadhim <kadhim@spock.cs.colorado.edu>:
245 * ecoff.c (struct extsym_info): Define.
246 (_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info
247 to ecoff_link_write_external.
248 (ecoff_link_write_external): Accept a struct extsym_info pointer.
249 Strip symbols when appropriate.
250
251 Based on patches from Ronald F. Guilmette <rfg@monkeys.com>:
252 * syms.c (BSF_OBJECT): Define.
253 (bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT.
254 * bfd-in2.h: Rebuild.
255 * elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an
256 STT_OBJECT symbol.
257 * elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT
258 is set.
259
260 * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, when
261 copying relocs into a shared object, treat a defined global symbol
262 as a local symbol.
263 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
264 * elf32-mips.c (mips_elf_relocate_section): Likewise.
265 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
266
267 * elflink.h (elf_link_add_object_symbols): Only set weakdef to a
268 real defined symbol, not to a weak defined symbol.
269
270 Mon Jan 29 11:34:36 1996 Kim Knuttila <krk@cygnus.com>
271
272 * cofflink.c: removed the POWERPC_LE_PE hack, promoted some types
273 and made a few static functions externs.
274
275 * coff-ppc.c (ppc_bfd_coff_final_link): new function, replaces the
276 POWERPC_LE_PE hack in cofflink.
277
278 * libcoff-in.h: promoted the following from cofflink.c to allow
279 _bfd_coff_final_link to be overridden - STRING_SIZE_SIZE,
280 coff_debug_merge_element, struct coff_debug_merge_type,
281 coff_debug_merge_hash_entry, coff_debug_merge_hash_table,
282 coff_debug_merge_hash_table_init, coff_debug_merge_hash_table_free,
283 coff_debug_merge_hash_lookup, coff_link_section_info,
284 coff_final_link_info, coff_debug_merge_hash_newfunc,
285 coff_write_global_sym, coff_link_input_bfd, coff_reloc_link_order.
286
287 * libcoff.h: re-gen'd
288
289 Fri Jan 26 18:33:35 1996 Ian Lance Taylor <ian@cygnus.com>
290
291 * syms.c: Include "bfdlink.h".
292 (struct stab_find_info): Define.
293 (_bfd_stab_section_find_nearest_line): New function.
294 * libbfd-in.h (_bfd_stab_section_find_nearest_line): Declare.
295 * libbfd.h: Rebuild.
296 * elf-bfd.h (struct elf_obj_tdata): Add line_info field.
297 * elf.c (_bfd_elf_find_nearest_line): Try calling
298 _bfd_stab_section_find_nearest_line before searching the ELF
299 symbol table. Find the closest STT_FUNC symbol, not the last one.
300 * libcoff-in.h (coff_data_type): Add line_info field.
301 * libcoff.h: Rebuild.
302 * coffgen.c (coff_find_nearest_line): Try calling
303 _bfd_stab_section_find_nearest_line before searching the COFF
304 symbol table.
305 * Makefile.in: Rebuild dependencies.
306
307 Fri Jan 26 16:11:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
308
309 * elf32-ppc.c (R_PPC_EMB_SDA21 relocations): Make relocation size
310 4 bytes, so we get the correct value when updating the register
311 field in little endian mode.
312
313 Thu Jan 25 12:14:16 1996 Ian Lance Taylor <ian@cygnus.com>
314
315 * libcoff-in.h (struct xcoff_tdata): Remove toc_section and
316 entry_section fields. Add sntoc and snentry fields.
317 * libcoff.h: Rebuild.
318 * coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry,
319 not toc_section and entry_section (the COFF file does not have any
320 sections at this point).
321 (coff_write_object_contents): Set o_snentry and o_sntoc from
322 snentry and sntoc rather than entry_section and toc_section.
323 * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and
324 snentry, not toc_section and entry_section.
325 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set
326 entry_section from hentry.
327 (xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set,
328 set snentyr.
329 (xcoff_link_input_bfd): Set sntoc, not toc_section.
330 (xcoff_write_global_symbol): Get toc_section from sntoc, rather
331 than using toc_section directly.
332
333 * archures.c: Add missing `.' in enum bfd_architecture.
334 * bfd-in2.h: Rebuild.
335
336 * config.bfd (i[345]86-*-sco*elf*): Use bfd_elf32_i386_vec. From
337 Robert Lipe <robertl@arnet.com>.
338
339 Thu Jan 25 12:08:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
340
341 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Add .rela.sdata{,2}
342 to sections we allocate. Use bfd_zalloc to allocate initialial
343 sections, not bfd_alloc.
344 (ppc_elf_check_relocs): Remove BFD_ASSERTs for !shared from
345 SDA{,2}I16 relocations.
346 (ppc_elf_add_symbol_hook): Use the value of -G nn to determine
347 whether to put something in .sbss or not.
348 (ppc_elf_relocate_section): Add support for more relocations. Add
349 in sec->output_offset where appropriate. Make error messages
350 include the symbol name.
351
352 * elflink.c (_bfd_elf_create_linker_section): Lookup symbol before
353 trying to add it to the symbol table, so _GLOBAL_OFFSET_TABLE_
354 doesn't get redefined messages if -shared.
355
356 * elflink.h (elf_create_pointer_linker_section) Only bump RELA
357 section if the rel_section field has been set up.
358
359 Wed Jan 24 20:40:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
360
361 * elf32-ppc.c (ppc_elf_relocate_section): Fix typo in eabi
362 relocations.
363
364 Wed Jan 24 10:38:34 1996 Doug Evans <dje@charmed.cygnus.com>
365
366 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking
367 of flags, only flags used are controlled by mach number. Bump up
368 output file mach number to highest of input file mach numbers.
369 (elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1.
370 (elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa.
371
372 * config.bfd (sparc64-*-{sysv4*,solaris2*}): Comment out
373 bfd_elf64_sparc_vec support.
374
375 Tue Jan 23 14:33:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
376
377 * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Don't complain if
378 the embedded bit is set on some objects and not on others. Just
379 or it together.
380 (ppc_elf_relocate_section): Implement R_PPC_EMB_{SDA21,RELSDA}
381 relocations.
382
383 Tue Jan 23 14:22:45 1996 Ian Lance Taylor <ian@cygnus.com>
384
385 * coffcode.h (coff_new_section_hook): Don't try to align the
386 .stabstr section.
387
388 * coffcode.h (coff_set_section_contents): Fix the handling of the
389 .lib section to work even if the entire section contents are
390 written at once. From Gvran Uddeborg <gvran@uddeborg.pp.se> and
391 Robert Lipe <robertl@arnet.com>.
392
393 Mon Jan 22 18:45:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
394
395 * elflink.h (elf_finish_pointer_linker_section): Don't allocate
396 memory here for contents.
397
398 * elf32-ppc.c (ppc_elf_relocate_section): Bump up _SDA_BASE_ and
399 _SDA2_BASE_ by 32768.
400 (ppc_elf_size_dynamic_sections): #if out PLT code which we haven't
401 started using. Allocate contents for .sdata and .sdata2 sections
402 also.
403 (ppc_elf_check_relocs): Use bfd_get_section_name in debug message,
404 rather than _name.
405 (ppc_elf_finish_dynamic_symbol): Remove code that attempted to
406 size _SDA{,2}_BASE_.
407 (ppc_elf_relocate_section): Change how sdata{,2} relocations are
408 done.
409
410 Mon Jan 22 08:52:04 1996 Doug Evans <dje@charmed.cygnus.com>
411
412 * elflink.h (elf_finish_pointer_linker_section): Fix typo.
413
414 * archures.c (bfd_mach_sparc_v9): Renamed from bfd_mach_sparc64.
415 (bfd_mach_sparc_{v8plus,v8plusa}): Define.
416 (bfd_mach_sparc_v9a): Define.
417 (bfd_mach_sparc_v9_p): Define.
418 * bfd-in2.h: Regenerated.
419 * aoutx.h (aout,machine_type): bfd_mach_sparc64 renamed to
420 bfd_mach_sparc_v9.
421 * elf64-sparc.c (sparc64_elf_object_p): Likewise.
422 * config.bfd (sparc64-*-sysv4*,sparc64-*-solaris2*): Set targ_defvec
423 to bfd_elf32_sparc_vec.
424 * cpu-sparc.c (arch_info_struct): Renamed from sparc_arch_info.
425 Add v8plus{,a} support.
426 Add v9a support.
427 (sparc_compatible): New function.
428 * elf32-sparc.h: #include "elf/sparc.h".
429 (elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p,
430 elf32_sparc_final_write_processing): New functions.
431 (bfd_elf32_bfd_merge_private_bfd_data, elf_backend_object_p,
432 elf_backend_final_write_processing): Define.
433
434 Mon Jan 22 11:21:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
435
436 * elf-bfd.h (struct elf_link_hash_entry): Add
437 linker_section_pointer field.
438 (enum elf_linker_section_enum): Enumeration for new way of
439 creating linker dynamic sections and symbols.
440 (elf_linker_section{,_pointers}): New structures for creating
441 dynamic sections and symbols.
442 (elf_obj_tdata): Add linker_section_pointers and linker_section
443 fields.
444 (elf_local_ptr_offsets,elf_linker_section): New accessor macros.
445 (_bfd_elf_create_linker_section): New declarations.
446 (_bfd_elf_find_pointer_linker_section): Ditto.
447 (bfd_elf{32,64}_{create,finish}_pointer_linker_section): Ditto.
448 (_bfd_elf_make_linker_section_rela): Ditto.
449
450 * elf.c (_bfd_elf_link_hash_newfunc): Initialize new fields.
451
452 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Delete.
453 (ppc_elf_create_linker_section): New function to create the
454 sections .got, .sdata, and .sdata2.
455 (ppc_elf_size_dynamic_sections): Zap .rela.{sdata,sdata2} if
456 needed.
457 (ppc_elf_check_relocs): Support more of the eabi relocations.
458 (ppc_elf_relocate_section): Ditto.
459 (ppc_elf_finish_dynamic_symbols): Adjust _SDA{,2}_BASE_ by 32768
460 if the .sdata{,2} + .sbss{,2} section size is > 32k.
461
462 * elflink.h (elf_create_pointer_linker_section): New function to
463 create initialized pointers in dynamic linker sections.
464 (elf_finish_pointer_linker_section): Actually intialize the
465 pointers created above.
466
467 * elfcode.h (bfd_elf{32,64}_create_pointer_linker_section): New
468 macros to provide both 32 and 64 bit versions of
469 elf_create_pointer_linker_section.
470 (bfd_elf{32,64}_finish_pointer_linker_section): New macros to
471 provide both 32 and 64 bit versions of
472 elf_finish_pointer_linker_section.
473
474 * elflink.c (_bfd_elf_create_linker_section): New function to
475 create a linker section.
476 (_bfd_elf_find_pointer_linker_section): Find a unique pointer to a
477 given address in the linker pointer offsets created for a given
478 symbol.
479 (_bfd_elf_make_linker_section_rela): Make a RELA section
480 corresponding to the generated linker section.
481
482 Sat Jan 20 08:36:10 1996 Doug Evans <dje@canuck.cygnus.com>
483
484 * elf32-sparc.c (ELF_MACHINE_ALT1): Define.
485
486 Thu Jan 18 18:25:34 1996 Kim Knuttila <krk@cygnus.com>
487
488 * coff-ppc.c (coff_ppc_relocate_section): changed TOCDEFN relocs.
489 (coff_ppc_relocate_section): Handle special values for gcc built dlls.
490 (dump_toc): fix diagnosing code to identify out-of-toc-bounds entries.
491 Also begin the toc at 4 as an eye catcher ('31313131' marks the first
492 toc entry in an objdump) for now.
493 (ppc_do_last, ppc_get_last): New function - needed to save processing
494 the toc owner to the end.
495 (ppc_coff_swap_sym_in_hook): Removed an incorrect hack for doing the
496 toc owner last.
497
498 * cofflink.c (_bfd_coff_final_link): Added a new hack to keep the
499 toc owner from being done till last. Must define POWERPC_LE_PC
500 to enable it.
501
502 * coffcode.h (coff_set_alignment_hook): alignment setting for .stab
503
504 * peicode.h (coff_swap_scnhdr_out): set section flags for stab/str
505 to INFO.
506 (coff_swap_aouthdr_out): Removed a non-working hack for computing the
507 SizeOfImage for PowerPC. Ignore the size of the .junk section.
508
509 Thu Jan 18 17:42:12 1996 Ian Lance Taylor <ian@cygnus.com>
510
511 * elfcore.h: Include <signal.h> before <sys/procfs.h>.
512
513 Wed Jan 17 12:40:14 1996 Ian Lance Taylor <ian@cygnus.com>
514
515 * cpu-powerpc.c (arch_info_struct): Change last entry to not point
516 back to first.
517 (bfd_powerpc_arch): Point at first entry in arch_info_struct.
518
519 Tue Jan 16 15:10:49 1996 Ian Lance Taylor <ian@cygnus.com>
520
521 * elf.c (assign_file_positions_for_segments): Don't increment file
522 offset for a segment which contains no loadable sections.
523
524 Mon Jan 15 17:46:27 1996 Michael Meissner <meissner@tiktok.cygnus.com>
525
526 * reloc.c: Add new PowerPC relocations.
527 * {bfd-in2,libbfd}.h: Regenerate.
528
529 * elf32-ppc.c (ppc_elf_howto_raw): Add more PPC relocations.
530 (ppc_elf_reloc_type_lookup): Lookup new relocations.
531
532 Mon Jan 15 14:29:44 1996 Ian Lance Taylor <ian@cygnus.com>
533
534 * aoutx.h (howto_table_ext): Fix RELOC_BASE10 and RELOC_BASE22
535 entries.
536
537 * sunos.c (sunos_scan_ext_relocs): Don't fail assert if
538 info->shared.
539
540 * coffgen.c (coff_find_nearest_line): Don't try to cache
541 information in sections that are not owned by a BFD. From Richard
542 Henderson <richard@atheist.tamu.edu>.
543
544 * elf32-mips.c: Numerous changes to dynamic linking code, mostly
545 from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
546 * elflink.h (elf_link_output_extsym): Remove special check for
547 _rld_new_interface.
548
549 * ecoffswap.h: Add prototypes for static functions.
550
551 Sun Jan 14 21:36:08 1996 Michael Meissner <meissner@tiktok.cygnus.com>
552
553 * elf32-ppc.c (ppc_elf_{unsupported,std}_reloc): Remove functions.
554 (ppc_elf_howto_raw): Remove ppc_elf_{unsupported,std}_reloc
555 references.
556 (ppc_elf_relocate_section): No longer allow .sdata/.sbss sections
557 to satisfy a TOC16 relocation. Rewrite unsupported relocation
558 support. Begin support for R_PPC_SDA{2,}REL.
559
560 Sat Jan 13 09:36:52 1996 Michael Meissner <meissner@tiktok.cygnus.com>
561
562 * elf32-ppc.c (ppc_elf_create_dynamic_sections): New function to
563 create the .got and .got.neg sections.
564 (ppc_elf_size_dynamic_sections): Call it.
565 (ppc_elf_check_relocs): Call it.
566 (ppc_elf_size_dynamic_sections): Support .got.neg, just like .got.
567 (ppc_elf_check_relocs): Add error messages for relocations we
568 don't yet support. Do not include R_PPC_SDAREL16 like a GOT
569 relocation.
570
571 Fri Jan 12 15:27:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
572
573 * elf32-ppc.c (ppc_elf_fake_sections): Define, and handle the new
574 section flags for V.4 and eabi.
575
576 Fri Jan 12 13:59:16 1996 Ian Lance Taylor <ian@cygnus.com>
577
578 * elf.c (assign_file_positions_for_segments): If a segment
579 contains no sections, don't mark it as readable.
580
581 * elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare.
582 * elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare.
583
584 * elf.c (_bfd_elf_print_private_bfd_data): Dump contents of
585 dynamic section, if there is one.
586 * elf-bfd.h (struct elf_size_info): Add swap_dyn_in field.
587 (bfd_elf32_swap_dyn_in): Change type of second parameter to PTR.
588 (bfd_elf64_swap_dyn_in): Likewise.
589 * elfcode.h (elf_swap_dyn_in): Change type of second parameter to
590 PTR.
591 (NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field.
592
593 * elf32-i386.c (elf_i386_size_dynamic_sections): Don't create a
594 DT_TEXTREL entry because of .rel.plt. From Martin Pirker
595 <pirker@eiunix.tuwien.ac.at>.
596
597 Thu Jan 11 17:06:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
598
599 * section.c (SEC_{EXCLUDE,SORT_ENTRIES}): New section flags for
600 PowerPC V.4 and eabi.
601 * bfd-in2.h: Regenerate.
602 * libfd.h: Regenerate.
603
604 * elfxx-target.h (TARGET_{BIG,LITTLE}_SYM): Add new flags.
605
606 * elf32-ppc.c (ppc_elf_section_from_shdr): Support SHT_ORDERED
607 section type and SHF_EXCLUDE section flag, turning them into the
608 appropriate bfd section flag.
609
610 Thu Jan 11 11:23:30 1996 Ian Lance Taylor <ian@cygnus.com>
611
612 * xcofflink.c (xcoff_link_add_symbols): Create the special
613 sections if we see a DYNAMIC object, in case that is the only
614 XCOFF input object we see.
615
616 * elf32-mips.c: Extensive changes for a start at dynamic linking
617 support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
618
619 * elf-bfd.h (struct elf_backend_data): Add type_change_ok field.
620 (struct elf_backend_data): Remove
621 elf_backend_create_program_headers field. Add
622 elf_backend_additional_program_headers and
623 elf_backend_modify_segment_map fields.
624 * elfxx-target.h (elf_backend_type_change_ok): Define if not
625 defined.
626 (elf_backend_additional_program_headers): Likewise.
627 (elf_backend_modify_segment_map): Likewise.
628 (elf_backend_create_program_headers): Don't define.
629 (elfNN_bed): Change to account for field changes.
630 * elf.c (assign_file_positions_for_segments): Call new
631 modify_segment_map backend function. Don't call old
632 create_program_headers backend function.
633 (get_program_header_size): Call additional_program_headers rather
634 than create_program_headers.
635 * elflink.h (elf_link_add_object_symbols): Initialize
636 type_change_ok from new backend field.
637 (elf_link_output_extsym): Don't warn if _rld_new_interface is
638 defined.
639 (elf_reloc_link_order): Treat a reloc against a defined symbol as
640 a reloc against the appropriate section.
641
642 * elf-bfd.h (struct bfd_elf_section_data): Add tdata field.
643 (struct elf_obj_tdata): Rename ppc_flags_init field to flags_init.
644 (elf_flags_init): Rename from elf_ppc_flags_init.
645 * elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not
646 elf_ppc_flags_init.
647 (ppc_elf_copy_private_bfd_data): Likewise.
648 (ppc_elf_merge_private_bfd_data): Likewise.
649
650 * elf32-m68k.c (howto_table): Change src_mask to 0 for all
651 relocation entries.
652
653 Tue Jan 9 15:22:53 1996 David Mosberger-Tang <davidm@azstarnet.com>
654
655 * coff-alpha.c (alpha_relocate_section): During final link, allow
656 output .lita section to be bigger than 64k by adjusting gp value
657 on a per-input section basis.
658 * libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning
659 field.
660 (struct ecoff_section_tdata): Add gp field.
661
662 Tue Jan 9 12:00:36 1996 Ian Lance Taylor <ian@cygnus.com>
663
664 Handle Alpha ECOFF changes in OSF/1 3.2.
665 * libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos
666 field.
667 * coff-alpha.c: Include "aout/ar.h".
668 (alpha_ecoff_get_relocated_section_contents): Don't require an
669 ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1
670 3.2 doesn't generate one.
671 (alpha_relocate_section): Likewise.
672 (alpha_ecoff_slurp_armap): Define.
673 (alpha_ecoff_slurp_extended_name_table): Define.
674 (alpha_ecoff_construct_extended_name_table): Define.
675 (alpha_ecoff_truncate_arname): Define.
676 (alpha_ecoff_write_armap): Define.
677 (alpha_ecoff_generic_stat_arch_elt): Define.
678 (alpha_ecoff_update_armap_timestamp): Define.
679 (ARFZMAG): Define.
680 (alpha_ecoff_read_ar_hdr): New static function.
681 (alpha_ecoff_get_elt_at_filepos): New static function.
682 (alpha_ecoff_openr_next_archived_file): New static function.
683 (alpha_ecoff_get_elt_at_index): New static function.
684 (alpha_ecoff_backend_data): Initialize get_elt_at_filepos field.
685 (ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from
686 _bfd_ecoff to alpha_ecoff.
687 * ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos
688 field from backend structure, rather than always calling
689 _bfd_get_elt_at_filepos.
690 * coff-mips.c (mips_ecoff_backend_data): Initialize
691 get_elt_at_filepos field.
692 * archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied
693 from _bfd_generic_read_ar_hdr with minor changes.
694 (_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag.
695 * libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare.
696 * libbfd.h: Rebuild.
697
698 * bfd-in.h (BFD_IN_MEMORY): Define.
699 * libbfd-in.h (struct bfd_in_memory): Define.
700 * libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag.
701 (bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file.
702 (bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set.
703 (bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag.
704 * bfd.c (struct _bfd): Change iostream field from char * to PTR.
705 (bfd_get_size): Handle BFD_IN_MEMORY flag.
706 * cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files.
707 (bfd_open_file): Cast to PTR, not char *, when setting iostream.
708 (bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set.
709 * opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting
710 iostream.
711 (bfd_openstreamr): Likewise.
712 * aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if
713 BFD_IN_MEMORY is not set.
714 * riscix.c (riscix_some_aout_object_p): Likewise.
715 * bfd-in2.h, libbfd.h: Rebuild.
716
717 * targets.c (bfd_target): Add _bfd_get_elt_at_index field.
718 (BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index.
719 (bfd_get_elt_at_index): Define.
720 * archive.c (_bfd_generic_get_elt_at_index): Rename from
721 bfd_get_elt_at_index. Change index parameter from int to
722 symindex.
723 * libbfd-in.h (_bfd_generic_get_elt_at_index): Declare.
724 (_bfd_noarchive_get_elt_at_index): Define.
725 (_bfd_archive_bsd_get_elt_at_index): Define.
726 (_bfd_archive_coff_get_elt_at_index): Define.
727 * bfd-in2.h, libbfd.h: Rebuild.
728 * aout-target.h (MY_get_elt_at_index): Define if not defined.
729 * coff-rs6000.c (xcoff_get_elt_at_index): Define.
730 * ieee.c (ieee_get_elt_at_index): Define.
731 * libecoff.h (_bfd_ecoff_get_elt_at_index): Define.
732 * oasys.c (oasys_get_elt_at_index): Define.
733 * som.c (som_get_elt_at_index): Define.
734
735 * ecoff.c (_bfd_ecoff_find_nearest_line): Don't restrict line
736 numbers to the .text section.
737
738 Mon Jan 8 17:00:57 1996 Ian Lance Taylor <ian@cygnus.com>
739
740 * ieee.c (ieee_write_debug_part): Change return type to boolean.
741 If there is a SEC_DEBUGGING section, get the contents of the debug
742 information part from it.
743 (ieee_set_section_contents): Store the contents of a SEC_DEBUGGING
744 section in memory.
745 (ieee_write_object_contents): Check ieee_write_debug_part return.
746
747 Thu Jan 4 17:12:37 1996 Fred Fish <fnf@cygnus.com>
748
749 * config.bfd (i[345]86-*-freebsd*): Add target.
750 * configure.in (i386freebsd_vec): Add vec.
751 * configure: Regenerate.
752 * Makefile.in (BFD32_BACKENDS): Add i386freebsd.o.
753 (BFD32_BACKENDS_CFILES): Add i386freebsd.c.
754 Rebuild dependencies..
755 * freebsd.h: New file.
756 * i386freebsd.c: New file.
757 * targets.c (i386freebsd_vec): Declare.
758 (bfd_target_vector): Add i386freebsd_vec.
759 * i386linux.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
760 * i386netbsd.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
761
762 Thu Jan 4 16:27:46 1996 Ian Lance Taylor <ian@cygnus.com>
763
764 * ieee.c (ieee_slurp_debug): New static function.
765 (ieee_object_p): Call it.
766 (ieee_slurp_section_data): Skip debugging sections.
767 (ieee_get_reloc_upper_bound): Likewise.
768 (ieee_get_section_contents): Likewise.
769 (ieee_canonicalize_reloc): Likewise.
770 (ieee_write_section_part): Likewise.
771 (ieee_write_debug_part): Likewise.
772 (ieee_write_data_part): Likewise.
773 (init_for_output): Likewise.
774
775 Wed Jan 3 19:42:47 1996 Michael Meissner <meissner@wogglebug.tiac.net>
776
777 * elf32-ppc.c (ppc_elf_relocate_section): Make @GOT relocations
778 work.
779 (ppc_elf_howto_raw): Just use bfd_elf_generic_reloc for all howto
780 relocs, since ppc_elf_relocate_section handles the linker case.
781 (ppc_elf_{addr16_ha,got16,toc16,brtaken}_reloc): Delete, no longer
782 used.
783 (ppc_elf_{addr16_ha,got16,toc16,brtaken}_inner): Merge these into
784 ppc_elf_relocate_section since that is now the only caller.
785 (ppc_elf_relocate_section): Ditto.
786
787 Wed Jan 3 15:11:30 1996 Ian Lance Taylor <ian@cygnus.com>
788
789 * coffcode.h (coff_write_object_contents): If we don't know the
790 section of the entry point for an XCOFF executable, always set the
791 entry address to -1.
792
793 Tue Jan 2 14:17:15 1996 Michael Meissner <meissner@tiktok.cygnus.com>
794
795 * elf.c (bfd_section_from_shdr): Add support for note sections.
796
797 Tue Jan 2 13:10:25 1996 Ian Lance Taylor <ian@cygnus.com>
798
799 * bfd-in.h (struct _symbol_info): Add stab_type field.
800 * bfd-in2.h: Rebuild.
801 * aoutx.h (NAME(aout,get_symbol_info)): Set stab_type.
802
803 * elf32-ppc.c: Remove trailing newline from calls to
804 _bfd_error_handler.
805 (ppc_elf_merge_private_bfd_data): Only warn about endianness
806 difference if target endianness is known.
807
808 Thu Dec 21 12:43:49 1995 Michael Meissner <meissner@tiktok.cygnus.com>
809
810 * elf32-ppc.c (ppc_elf_howto_raw): Add a phony reloc to handle the
811 old style TOC16 references without using R_PPC_GOT.
812 (ppc_reloc_type): Ditto.
813 (ppc_elf_reloc_type_lookup): Add support for TOC16.
814 (ppc_elf_toc16_inner): Renamed from ppc_elf_got16_inner.
815 (ppc_elf_toc16_reloc): Renamed from ppc_elf_toc16_reloc.
816 (ppc_elf_got16_{inner,reloc}): Stubs for real GOT support.
817 (ppc_elf_check_relocs): New function for GOT/PLT support that is
818 work in progress.
819 (ppc_elf_adjust_dynamic_symbol): Ditto.
820 (ppc_elf_adjust_dynindx): Ditto.
821 (ppc_elf_size_dynamic_sections): Ditto.
822 (ppc_elf_finish_dynamic_symbol): Ditto.
823 (ppc_elf_finish_dynamic_sections): Ditto.
824 (ELF_DYNAMIC_INTERPRETER): Define.
825
826 Wed Dec 20 19:14:18 1995 Ken Raeburn <raeburn@cygnus.com>
827
828 * elf.c (copy_private_bfd_data): When attaching sections to
829 segments ignore sections that won't be allocated. Patch from
830 Andreas Schwab.
831
832 Tue Dec 19 20:01:43 1995 Ken Raeburn <raeburn@cygnus.com>
833
834 * config.bfd: Match on m68k-cbm-* only if OS doesn't match
835 anything else.
836
837 Tue Dec 19 16:38:59 1995 Ian Lance Taylor <ian@cygnus.com>
838
839 * coff-i960.c (CALC_ADDEND): Define.
840 (coff_i960_relocate_section): Add the input section VMA to the
841 addend for PC relative relocs.
842
843 Sun Dec 17 20:11:55 1995 Kim Knuttila <krk@cygnus.com>
844
845 * peicode.h (pe_print_pdata): Must test the entire entry for zero
846 to correctly terminate.
847
848 Fri Dec 15 12:05:57 1995 Ian Lance Taylor <ian@cygnus.com>
849
850 * targets.c (enum bfd_endian): Define.
851 (bfd_target): Rename byteorder_big_p to byteorder, and change it
852 from boolean to enum bfd_endian. Change header_byteorder_big_p
853 correspondingly.
854 * bfd-in.h (bfd_big_endian, bfd_little_endian): New macros.
855 (bfd_header_big_endian, bfd_header_little_endian): New macros.
856 * bfd-in2.h: Rebuild.
857 * All targets: Change initialization of byteorder and
858 header_byteorder to use enum bfd_endian values rather than
859 booleans.
860 * All files: Change all references to byteorder_big_p and
861 header_byteorder_big_p to use new bfd_*_endian macros.
862
863 * coffgen.c (make_a_section_from_file): Set lma to s_paddr, not
864 s_vaddr.
865 * coffcode.h (coff_write_object_contents): Set s_paddr to lma, not
866 vma.
867 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
868
869 Fri Dec 15 07:32:09 1995 steve chamberlain <sac@slash.cygnus.com>
870
871 * pe[i]-i386.c (TARGET_UNDERSCORE): Define to '_'.
872
873 Thu Dec 14 13:45:37 1995 Ian Lance Taylor <ian@cygnus.com>
874
875 * ieee.c: Lots of minor cleanups. Make many functions return
876 errors rather than calling abort. Also:
877 (ieee_write_twobyte): Remove; change callers to call existing
878 ieee_write_2bytes function.
879 (ieee_write_expression): Don't output the section twice when
880 outputting a local symbol. Don't emit an extraneous zero if there
881 is only one term.
882 (ieee_slurp_sections): Set the lma as well as the vma.
883 (ieee_archive_p): Use bfd_alloc_grow rather than an obstack.
884
885 * ihex.c (ihex_set_arch_mach): Don't accept any architecture, just
886 a recognized one or bfd_arch_unknown.
887 (ihex_get_symtab_upper_bound): Define as bfd_0l, to permit objcopy
888 to succeed.
889 (ihex_get_symtab): Likewise.
890
891 Wed Dec 13 15:44:06 1995 Ian Lance Taylor <ian@cygnus.com>
892
893 * aoutx.h: Include <ctype.h>.
894 (struct aout_link_includes_table): Define.
895 (struct aout_link_includes_totals): Define.
896 (struct aout_link_includes_entry): Define.
897 (aout_link_includes_lookup): Define macro.
898 (struct aout_final_link_info): Add includes field.
899 (aout_link_includes_newfunc): New static function.
900 (NAME(aout,final_link)): Initialize includes hash table.
901 (aout_link_write_symbols): Eliminate duplicate N_BINCL entries.
902
903 Wed Dec 13 10:52:14 1995 Stan Shebs <shebs@andros.cygnus.com>
904
905 * mpw-config.in: Match on mips-*-* instead of mips-idt-ecoff.
906
907 Wed Dec 13 11:07:45 1995 Kim Knuttila <krk@cygnus.com>
908
909 * coff-ppc.c (coff_ppc_relocate_section): removed debugging code.
910
911 Tue Dec 12 17:42:06 1995 Kim Knuttila <krk@cygnus.com>
912
913 * peicode.h (pe_print_reloc): New function to dump the .reloc section.
914 (pe_print_private_bfd_data): call pe_print_reloc.
915 * coffcode.h (coff_set_alignment_hook): .reloc section alignment.
916 * coff-ppc.c (in_reloc_p): Added missing non-eligible relocs. Spiffed
917 up some debugging as well.
918
919 Tue Dec 12 11:34:23 1995 Ian Lance Taylor <ian@cygnus.com>
920
921 * config.bfd: Handle sparc-*-elf*. From Ronald F. Guilmette
922 <rfg@monkeys.com>.
923
924 Fri Dec 8 17:47:07 1995 Ian Lance Taylor <ian@cygnus.com>
925
926 * elflink.h (elf_link_add_object_symbols): Set section_count to 0
927 when setting sections to NULL.
928
929 Wed Dec 6 17:05:37 1995 Ian Lance Taylor <ian@cygnus.com>
930
931 * xcofflink.c (struct xcoff_loader_info): Add export_defineds
932 field.
933 (bfd_xcoff_size_dynamic_sections): Add export_defineds parameter.
934 (xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT
935 for all symbols.
936 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
937 * bfd-in2.h: Rebuild.
938
939 Mon Dec 4 16:40:47 1995 Kim Knuttila <krk@cygnus.com>
940
941 * coffcode.h (coff_set_alignment_hook): Removed some debugging printf's
942
943 Mon Dec 4 11:25:39 1995 Ian Lance Taylor <ian@cygnus.com>
944
945 * ihex.c (ihex_scan): Handle record types 4 and 5.
946 (ihex_object_p): Permit types 4 and 5.
947 (ihex_set_section_contents): Remove check for out of range
948 addresses.
949 (ihex_write_object_contents): Generate types 4 and 5.
950
951 * elflink.h (elf_link_output_extsym): Just ignore warning and
952 indirect references to symbols which don't really exist.
953
954 Sun Dec 3 19:00:27 1995 Kim Knuttila <krk@cygnus.com>
955
956 * peicode.h (pe_print_idata): Minor format fixes
957 (pe_print_edata): New function. Under private printing, this formats
958 the edata section of a PE file.
959 (pe_print_private_bfd_data): Added call to pe_print_edata.
960
961 Sun Dec 3 16:46:54 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
962
963 * aout-arm.c (MY_swap_std_reloc_out): Use KEEPIT to get the symbol
964 index, don't call stoi.
965
966 Fri Dec 1 14:46:51 1995 Ian Lance Taylor <ian@cygnus.com>
967
968 * srec.c (srec_scan): Set lma as well as vma.
969
970 * ihex.c: New file; support for Intel Hex format.
971 * targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour.
972 (ihex_vec): Declare.
973 (bfd_target_vector): Always include ihex_vec.
974 * bfd.c (struct _bfd): Add ihex_data field to tdata union.
975 * Makefile.in: Rebuild dependencies.
976 (BFD_LIBS): Add ihex.o
977 (BFD_LIBS_CFILES): Add ihex.c.
978 * bfd-in2.h: Rebuild.
979
980 * elf.c (assign_file_positions_for_segments): Sort the sections in
981 each segment.
982 (get_program_header_size): Return the right size if segment_map is
983 not NULL.
984 (copy_private_bfd_data): Don't bother to sort the sections.
985
986 * bfd.c (bfd_record_phdr): New function.
987 * bfd-in.h (bfd_record_phdr): Declare.
988 * bfd_in2.h: Rebuild.
989
990 * elf32-sparc.c (elf32_sparc_relocate_section): Remove bogus
991 BFD_ASSERT.
992
993 * libbfd.c (bfd_malloc, bfd_realloc): New functions.
994 (bfd_zmalloc): Return PTR, not char *. Take size_t, not
995 bfd_size_type.
996 * libbfd-in.h (bfd_malloc, bfd_realloc): Declare.
997 (bfd_zmalloc): Change declaration.
998 * libbfd.h: Rebuild.
999 * Many files: Use bfd_malloc and bfd_realloc rather than malloc
1000 and realloc. Don't set bfd_error_no_memory if they fail.
1001
1002 Thu Nov 30 19:32:26 1995 Kim Knuttila <krk@cygnus.com>
1003
1004 * coff-ppc.c: Added macros to tidy up toc cell treatment. Numerous
1005 uses as well. Added a new howto to deal with TOCREL16 relocs that
1006 are TOCDEFN as well.
1007 (coff_ppc_relocate_section): Expanded treatment of ADDR32NB relocs
1008 to handle RVA relocs from dlltool.
1009 (ppc_coff_rtype2howto): TOCDEFN reloc addition.
1010 (coff_ppc_rtype_to_howto): TOCDEFN reloc addition.
1011 (ppc_coff_reloc_type_lookup): TOCDEFN reloc addition.
1012
1013 * coffcode.h (coff_set_alignment_hook): check idata$X sections
1014 to get the right section alignment.
1015
1016 Thu Nov 30 16:48:18 1995 Ian Lance Taylor <ian@cygnus.com>
1017
1018 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
1019 p_paddr if p_paddr is zero.
1020 (make_mapping): Set includes_filehdr and includes_phdrs for first
1021 PT_LOAD segment.
1022 (map_sections_to_segments): Set includes_phdrs for PT_PHDR
1023 segment.
1024 (assign_file_positions_for_segments): Handle includes_filehdr and
1025 includes_phdrs. Remove special handling of PT_PHDR and first
1026 PT_LOAD segments.
1027 (copy_private_bfd_data): Set includes_filehdr and includes_phdr
1028 when appropriate. Remove special handling of PT_PHDR segment.
1029 Use a more complex condition for when a section is included in a
1030 segment to handle Solaris linker oddities.
1031
1032 Thu Nov 30 11:17:33 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
1033
1034 * coff-m88k.c (howto_table): Reformatted for easier reading;
1035 special_function now points to new function m88k_special_reloc.
1036 (howto_hvrt16): Function previously used for handling HVRT16 relocs
1037 removed.
1038 (rtype2howto): Do not add reloc's r_offset to the addend, this will
1039 be done correctly by m88k_special_reloc.
1040 (reloc_processing): New function to be used by RELOC_PROCESSING.
1041 (RELOC_PROCESSING): Define to call reloc_processing.
1042
1043 Wed Nov 29 12:42:36 1995 Ian Lance Taylor <ian@cygnus.com>
1044
1045 * peicode.h (pe_print_idata): Call malloc rather than xmalloc.
1046 (pe_print_pdata): Likewise.
1047
1048 * opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if
1049 obstack_alloc fails.
1050 (bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish
1051 fails.
1052 * libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails.
1053 * Many files: don't set bfd_error_no_memory if one of the above
1054 routines fails.
1055
1056 * elf.c (assign_file_positions_for_segments): Don't adjust p_paddr
1057 if p_paddr_valid is set.
1058 (copy_private_bfd_data): New static function.
1059 (_bfd_elf_copy_private_section_data): Call copy_private_bfd_data.
1060
1061 * elf.c (assign_file_positions_for_segments): Fix case where extra
1062 program headers were allocated.
1063
1064 * elf.c (_bfd_elf_print_private_bfd_data): New function.
1065 * elf-bfd.h (_bfd_elf_print_private_bfd_data): Declare.
1066 * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define to
1067 _bfd_elf_print_private_bfd_data.
1068
1069 * coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
1070 r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
1071 Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
1072 (alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
1073 RELOC_SECTION_LITA for ALPHA_R_IGNORE.
1074 (alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
1075 RELOC_SECTION_ABS to RELOC_SECTION_NONE.
1076
1077 Tue Nov 28 16:59:50 1995 Ian Lance Taylor <ian@cygnus.com>
1078
1079 * elf-bfd.h (struct elf_obj_tdata): Add segment_map field.
1080 * elf.c (make_mapping): New static function.
1081 (map_sections_to_segments): New static function.
1082 (elf_sort_sections): New static function.
1083 (assign_file_positions_for_segments): New static function.
1084 (map_program_segments): Remove.
1085 (get_program_header_size): Remove sorted_hdrs, count, and
1086 maxpagesize parameters. Simplify.
1087 (assign_file_positions_except_relocs): When generating an
1088 executable, use assign_file_positions_for_segments.
1089 (elf_sort_hdrs): Remove.
1090 (_bfd_elf_sizeof_headers): Remove eliminated parameters from call
1091 to get_program_header_size.
1092
1093 Mon Nov 27 12:27:46 1995 Ian Lance Taylor <ian@cygnus.com>
1094
1095 * hp300hpux.c (MY(callback)): Set lma as well as vma.
1096
1097 * configure, config.in: Regenerate with autoconf 2.7.
1098
1099 * elf32-i386.c (elf_backend_plt_readonly): Set correctly, to 1.
1100 * elf32-sparc.c (elf_backend_plt_readonly): Set correctly, to 0.
1101
1102 Wed Nov 22 12:02:09 1995 Ian Lance Taylor <ian@cygnus.com>
1103
1104 * ecoff.c (_bfd_ecoff_new_section_hook): Handle .rconst section.
1105 (ecoff_sec_to_styp_flags): Likewise.
1106 (_bfd_ecoff_styp_to_sec_flags): Handle STYP_RCONST.
1107 (ecoff_set_symbol_info): Handle scRConst.
1108 (ecoff_slurp_reloc_table): Handle RELOC_SECTION_RCONST.
1109 (ecoff_compute_section_file_positions): Handle .rconst section.
1110 (_bfd_ecoff_write_object_contents): Likewise.
1111 (ecoff_link_check_archive_element): Handle scRConst.
1112 (ecoff_link_add_externals): Likewise.
1113 (ecoff_link_write_external): Handle .rconst section.
1114 (ecoff_reloc_link_order): Likewise.
1115 * ecofflink.c (bfd_ecoff_debug_accumulate): Handle scRConst.
1116 * coff-alpha.c (alpha_convert_external_reloc): Handle .rconst
1117 section.
1118 (alpha_relocate_section): Handle RELOC_SECTION_RCONST.
1119
1120 * sunos.c (sunos_scan_dynamic_symbol): Only set written if the
1121 DEF_DYNAMIC flag is set.
1122
1123 Tue Nov 21 13:25:29 1995 Ken Raeburn <raeburn@cygnus.com>
1124
1125 * host-aout.c: If TRAD_HEADER is defined, include it.
1126
1127 Tue Nov 21 13:03:57 1995 Ian Lance Taylor <ian@cygnus.com>
1128
1129 * aclocal.m4 (AC_PROG_CC): Remove local definition.
1130 (BFD_BINARY_FOPEN): Require AC_CANONICAL_SYSTEM.
1131 (BFD_NEED_DECLARATION): New function.
1132 * configure.in: Use BFD_NEED_DECLARATION.
1133 * acconfig.h: Put NEED_DECLARATION_* in @TOP@ section.
1134 * configure, config.in: Rebuild with autoconf 2.6.
1135
1136 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Clear
1137 special_sections before returning when called with a non XCOFF
1138 BFD.
1139
1140 * coffgen.c (coff_renumber_symbols): Sort common symbols with
1141 global symbols.
1142
1143 * coffcode.h (coff_compute_section_file_positions): Only pad the
1144 previous section to force file alignment when creating an
1145 executable.
1146
1147 Mon Nov 20 14:54:09 1995 Ian Lance Taylor <ian@cygnus.com>
1148
1149 * coffcode.h (coff_compute_section_file_positions): If
1150 RS6000COFF_C, set up the .debug section.
1151
1152 * xcofflink.c (xcoff_link_input_bfd): Adjust the TOC anchor value
1153 if it is not large enough to accomodate the entire TOC area with
1154 signed 16 bit offsets.
1155 (xcoff_write_global_symbol): Handle negative TOC offsets in global
1156 linkage code.
1157 (_bfd_ppc_xcoff_relocate_section): Adjust relocations against a
1158 TOC anchor to use the TOC value used in the output file.
1159
1160 Sat Nov 18 18:01:41 1995 Ian Lance Taylor <ian@cygnus.com>
1161
1162 * coffgen.c (_bfd_coff_get_external_symbols): Cast malloc return.
1163 (_bfd_coff_read_string_table): Likewise.
1164
1165 Sat Nov 18 19:43:04 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
1166
1167 * pe-arm.c: Fix typos.
1168 * coff-arm.c: Likewise.
1169
1170 Fri Nov 17 16:22:04 1995 Kim Knuttila <krk@cygnus.com>
1171
1172 * coff-ppc.c (list_ele): Added "cat"egory member.
1173 (record_toc): New category parameter (priv or pub).
1174 (ppc_record_toc_entry): Check to see if toc bounds exceeded.
1175 (ppc_process_before_allocation): Removed embrionic data-in-toc from
1176 the mainline. It addes extra toc cells in error.
1177 (ppc_coff_swap_sym_in_hook): Added some documentation.
1178 (dump_toc): Can now diagnose "virtual toc" chicanery.
1179
1180 Fri Nov 17 10:41:25 1995 Philippe De Muyter <phdm@info.ucl.ac.be>
1181
1182 * elf-bfd.h (struct elf_link_hash_table): Change type of
1183 dynsymcount and bucketcount fields from size_t to bfd_size_type.
1184
1185 Fri Nov 17 10:02:58 1995 Ian Lance Taylor <ian@cygnus.com>
1186
1187 * coffcode.h (coff_pointerize_aux_hook): I960 version: don't
1188 pointerize C_LEAFSTAT or C_LEAFEXT entries.
1189
1190 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only create
1191 DT_INIT and DT_FINI entries if the _init or _fini symbol is
1192 defined or mentioned in a regular file.
1193
1194 Thu Nov 16 15:16:42 1995 Kim Knuttila <krk@cygnus.com>
1195
1196 * coff-ppc.c (ppc_record_data_in_toc_entry): new function
1197 (coff_ppc_relocate_section): Handle TOCDEFN attribute
1198 (coff_ppc_relocate_section): Correct REL24 handling
1199 (ppc_process_before_allocation): Correct TOCDEFN handling
1200
1201 * peicode.h (dir_names): Added name descriptions
1202
1203 Thu Nov 16 03:38:03 1995 Ken Raeburn <raeburn@cygnus.com>
1204
1205 * VERSION: Updated to cygnus-2.6.
1206
1207 Wed Nov 15 19:30:07 1995 Ken Raeburn <raeburn@cygnus.com>
1208
1209 * targets.c (m68k4knetbsd_vec): Declare.
1210
1211 Wed Nov 15 18:05:52 1995 Ian Lance Taylor <ian@cygnus.com>
1212
1213 * targets.c (bfd_target): Change type of second argument to
1214 _bfd_print_private_bfd_data from void * to PTR.
1215 * libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast
1216 using PTR rather than void *.
1217 * bfd-in2, libbfd.h: Rebuild.
1218 * peicode.h (pe_print_private_bfd_data): Change vfile from void *
1219 to PTR.
1220 * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as
1221 _bfd_generic_bfd_print_private_bfd_data rather than casting
1222 bfd_true.
1223
1224 Wed Nov 15 04:09:14 1995 Ken Raeburn <raeburn@cygnus.com>
1225
1226 * Makefile.in (.dep1): Fix stupid typo in last change. Remove any
1227 "DO NOT DELETE" lines or blank lines that mkdep writes on some
1228 systems.
1229 (BFD_LIBS_CFILES, ALL_MACHINES_CFILES, BFD32_BACKENDS_CFILES,
1230 BFD64_BACKENDS_CFILES): New variables.
1231 (CFILES): Use them.
1232
1233 Tue Nov 14 11:52:23 1995 Ian Lance Taylor <ian@cygnus.com>
1234
1235 * peicode.h (coff_swap_aouthdr_out): For PPC PE, start isize at 0,
1236 not at the file position of the first section.
1237 * coffcode.h (coff_compute_section_file_positions): Avoid using
1238 unportable #elif.
1239 (coff_write_object_contents): When generating a PPC PE executable
1240 with no symbols, round up the file size to a COFF_PAGE_SIZE
1241 boundary.
1242 * cofflink.c (_bfd_coff_final_link): If there are no symbols,
1243 don't write out a string table.
1244
1245 * elf.c (bfd_section_from_shdr): When using a different section
1246 header, pass the new one to _bfd_elf_make_section_from_shdr.
1247 (elf_fake_sections): Don't set sh_info and sh_entsize fields.
1248 (elf_map_symbols): Add section VMA to symbol value when comparing
1249 against 0.
1250 (_bfd_elf_compute_section_file_positions): Only build symbol table
1251 if there are some symbols. Set file offset of symtab and strtab
1252 sections.
1253 (assign_file_positions_except_relocs): Remove dosyms parameter.
1254 Change all callers. Never set file offset of symtab and strtab
1255 sections.
1256 (_bfd_elf_copy_private_section_data): New function.
1257 (MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define.
1258 (_bfd_elf_copy_private_symbol_data): New function.
1259 (swap_out_syms): Check for special mapping of st_shndx created by
1260 copy_private_symbol_data.
1261 * elfxx-target.h: Use new copy routines.
1262 * elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare.
1263 (_bfd_elf_copy_private_section_data): Declare.
1264
1265 * config.bfd (sh-*-*): Set targ_defvec to shcoff_vec.
1266
1267 * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE, handle
1268 C_NT_WEAK.
1269
1270 * coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not
1271 _bfd_dummy_target, matching the recent change to archive
1272 recognition.
1273
1274 Mon Nov 13 13:24:38 1995 Ian Lance Taylor <ian@cygnus.com>
1275
1276 * libbfd.c (bfd_get_file_window): Use casts to avoid doing
1277 arithmetic on PTR types.
1278
1279 * aout-target.h (MY(callback)): Set the lma of the sections.
1280
1281 * ecoff.c (ecoff_reloc_link_order): Turn a reloc against a defined
1282 symbol into a reloc against the section.
1283
1284 Mon Nov 13 07:31:35 1995 Kim Knuttila <krk@cygnus.com>
1285
1286 * coff-ppc.c (ppc_coff_link_hash_entry): added support for inline
1287 glue for the relocs: IMGLUE and IFGLUE.
1288 (record_toc): new function - tracks toc contents
1289 (ppc_mark_symbol_as_glue): new function - supports the IMGLUE reloc
1290 (coff_ppc_relocate_section): Added support and fixes for IMGLUE/IFGLUE
1291 (ppc_coff_rtype2howto): removed invalid IMGLUE hack
1292 (coff_ppc_rtype_to_howto): removed invalid IMGLUE hack
1293 (ppc_record_toc_entry): Removed a debug define (duh)
1294
1295 * peicode.h (coff_swap_scnhdr_out): Fixed invalid strcmp for ".reldata"
1296 (pe_print_idata): New function - formats the idata section data
1297 (pe_print_pdata): New function - formats the pdata section data
1298 (pe_print_private_bfd_data): calls to above
1299
1300 Sun Nov 12 12:23:24 1995 Stan Shebs <shebs@andros.cygnus.com>
1301
1302 * Makefile.in (bfd_libs_here, etc): Provide empty definitions.
1303 * coff-rs6000.c (rs6000coff_vec): Add conditional defines
1304 TARGET_SYM and TARGET_NAME for vector and BFD name.
1305 * coff-pmac.c (pmac_xcoff_vec): Remove.
1306 (TARGET_SYM, TARGET_NAME): Define.
1307 * coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the
1308 machine to 0, not all PowerMacs are 601s.
1309
1310 Fri Nov 10 12:10:14 1995 Ian Lance Taylor <ian@cygnus.com>
1311
1312 * elfcode.h (elf_object_p): Read in any program headers.
1313 * elf.c (_bfd_elf_make_section_from_shdr): Adjust section lma
1314 based on the program headers, if any.
1315 (elf_fake_sections): Set sh_addr from the vma, not the lma.
1316 (map_program_segments): Set p_paddr of program headers based on
1317 the lma.
1318
1319 Thu Nov 9 13:01:31 1995 Ian Lance Taylor <ian@cygnus.com>
1320
1321 * archive.c (bfd_generic_archive_p): Preserve tdata in case of
1322 failure.
1323
1324 * aoutx.h (NAME(aout,final_link)): Report a reasonable error when
1325 trying to do a relocateable link with a non-a.out object file.
1326
1327 * archive.c (bfd_generic_archive_p): Check the first object file
1328 in an archive even if target_defaulted is set. If the object file
1329 has the wrong xvec, reject it.
1330
1331 * aoutx.h (NAME(aout,set_section_contents)): If a section can not
1332 be represented, report the name via _bfd_error_handler.
1333 (translate_to_native_sym_flags): Likewise.
1334 * elf32-mips.c (mips_elf_final_link): Likewise.
1335 * oasys.c (oasys_write_sections): Likewise.
1336
1337 * coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version
1338 which checks for STYP_OVRFLO sections.
1339 (coff_compute_section_file_positions): If RS6000COFF_C, handle
1340 reloc and lineno count overflows.
1341 (coff_write_object_contents): Call coff_count_linenumbers before
1342 coff_compute_section_file_positions. If RS6000COFF_C, handle
1343 reloc and lineno count overflows.
1344 * xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and
1345 relocs before dealing with .pad sections. Count overflow section
1346 headers when handling .pad sections.
1347
1348 * coffcode.h (coff_write_object_contents): Set a.out vstamp to 1
1349 if RS6000COFF_C.
1350
1351 * xcofflink.c (XCOFF_DESCRIPTOR): Define.
1352 (struct xcoff_link_hash_table): Add descriptor_section and
1353 special_sections fields.
1354 (_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields.
1355 (xcoff_link_add_symbols): Set linkage section alignment. Create
1356 descriptor section. Check for magic symbol names (_text, etc.),
1357 and record them in special_sections if found. Set
1358 XCOFF_DESCRIPTOR flag for a function descriptor, and set its
1359 descriptor field to point back to the function code symbol.
1360 (xcoff_sweep): Always mark the special descriptor_section.
1361 (bfd_xcoff_export_symbol): Check whether the symbol might be a
1362 function descriptor, and mark it if it is.
1363 (bfd_xcoff_size_dynamic_sections): Add new special_sections
1364 parameter, and fill it in. Allocate space for the descriptor
1365 section.
1366 (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining
1367 global linkage code. If an undefined function descriptor is
1368 exported, arrange to define it. Warn about any other undefined
1369 exported symbol.
1370 (_bfd_xcoff_bfd_final_link): Write out the descriptor section.
1371 (xcoff_write_global_symbol): Create a function descriptor when
1372 necessary.
1373 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
1374 * bfd-in2.h: Rebuild.
1375
1376 Thu Nov 9 08:40:23 1995 Kim Knuttila <krk@cygnus.com>
1377
1378 * coff-ppc.c (ppc_coff_link_hash_entry): new types for hashing
1379 (ppc_coff_link_hash_table): new types for hashing
1380 (ppc_coff_link_hash_newfunc): hash entry constructor
1381 (ppc_coff_link_hash_table_init): hash table initializer
1382 (ppc_coff_link_hash_table_create): hash table constructor
1383 (ppc_record_toc_entry): changed references to hash table
1384 (coff_ppc_relocate_section): changed references to hash table
1385
1386 * libcoff-in.h (coff_link_hash_entry): removed toc_offset
1387 * libcoff.h: Rebuild
1388
1389 * cofflink.c (_bfd_coff_link_hash_newfunc): removed toc_offset init
1390 (coff_link_add_symbols): removed toc_offset init
1391
1392 Thu Nov 9 04:00:38 1995 Ken Raeburn <raeburn@cygnus.com>
1393
1394 * Makefile.in (.dep1): Make sure the file mkdep is to write exists
1395 first.
1396
1397 * configure.in: Added new option --with[out]-mmap. Set USE_MMAP
1398 if it is given and mmep is available.
1399 * acconfig.h: Undef USE_MMAP.
1400 * configure, config.in: Regenerated.
1401 * aoutx.h: If USE_MMAP is not defined, do all symbol and string
1402 table handling the old way.
1403 (aout_get_external_symbols): Don't complain if last byte of string
1404 table is nonzero.
1405 * libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h.
1406 (bfd_free_window) [! USE_MMAP]: Don't define.
1407 (bfd_get_file_window,
1408 _bfd_generic_get_section_contents_in_window) [! USE_MMAP]: Abort.
1409
1410 Wed Nov 8 20:03:44 1995 Eric Freudenthal <freudenthal@nyu.edu>
1411
1412 * coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than
1413 0xffff0000.
1414
1415 Wed Nov 8 11:31:11 1995 Ian Lance Taylor <ian@cygnus.com>
1416
1417 * coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be
1418 compatible with AMD generated COFF files. Try to support both AMD
1419 and GNU formats simultaneously.
1420 (coff_a29k_relocate_section): Likewise.
1421
1422 * libbfd.c (bfd_get_file_window): Change writable parameter from
1423 int to boolean; update all callers. Pass MAP_SHARED if not
1424 writable--it's required on Solaris. Cast fprintf argument to
1425 avoid warning.
1426 * bfd-in.h (bfd_get_file_window): Update declaration.
1427 * bfd-in2.h: Rebuild.
1428 * aoutx.h: Update calls to bfd_get_file_window.
1429
1430 * xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
1431 Change all uses.
1432 (xcoff_swap_ldhdr_in): New static function.
1433 (xcoff_swap_ldsym_in): New static function.
1434 (xcoff_find_reloc): Handle the case of a single reloc correctly.
1435 (xcoff_link_add_symbols): If we just created a descriptor, pass it
1436 to _bfd_generic_link_add_one_symbol, to save a hash lookup.
1437 Handle XTY_ER/XMC_XO symbols correctly.
1438 (xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols
1439 rather than normal symbol table.
1440 (bfd_xcoff_import_symbol): It's not an error if the symbol is
1441 already defined with the same absolute value.
1442 (xcoff_mark): When considering called symbols, check whether the
1443 descriptor is from a dynamic object, rather than the symbol
1444 itself.
1445 (xcoff_build_ldsyms): Likewise.
1446
1447 * libbfd.c (bfd_get_file_window): Change return type to boolean.
1448 Cast realloc and malloc return values. If malloc or realloc fail,
1449 set bfd_error_no_memory.
1450 * bfd-in.h (bfd_get_file_window): Change type to boolean.
1451 * bfd-in2.h: Rebuild.
1452
1453 Tue Nov 7 11:53:48 1995 Kim Knuttila <krk@cygnus.com>
1454
1455 * coff-ppc.c (ppc_record_toc_entry): new function.
1456 (in_reloc_p): changed return value.
1457 (coff_ppc_relocate_section): much rework.
1458 (ppc_allocate_toc_section): new function.
1459 (ppc_process_before_allocation): new function.
1460 (ppc_coff_swap_sym_in_hook): new function.
1461
1462 * cofflink.c (_bfd_coff_link_hash_newfunc): initialize toc_offset.
1463 (coff_link_add_symbols): initialize toc_offset.
1464
1465 * peicode.h (coff_swap_sym_in): Added coff_swap_sym_in_hook
1466 (coff_swap_aouthdr_out): Added more sections to the data
1467 dictionary for the pe file header. Also changed linker version
1468 number on the ppc side.
1469 (dir_names): small improvements to the dictionary printing.
1470 (pe_mkobject_hook): save the file level flags.
1471
1472 * libcoff-in.h (coff_link_hash_entry): added toc_offset field
1473 (pe_tdata): added real_flags field
1474 (coff_tdata): added local_toc_sym_map and access macro
1475
1476 * libcoff.h (coff_link_hash_entry): added toc_offset field
1477 (pe_tdata): added real_flags field
1478 (coff_tdata): added local_toc_sym_map and access macro
1479
1480 * coffcode.h (coff_set_alignment_hook): added hook for PE.
1481 (coff_mkobject): init for local_toc_sym_map
1482 (coff_write_object_contents): set the internal_a.magic to
1483 IMAGE_NT_OPTIONAL_HDR_MAGIC which appears to be what other
1484 ppc compilers use.
1485
1486 Tue Nov 7 13:48:58 1995 Ian Lance Taylor <ian@cygnus.com>
1487
1488 * ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs
1489 entries until both the line number address and the function name
1490 address are too large.
1491
1492 * configure.in: Call AC_CHECK_PROG to find and cache AR.
1493 * configure: Rebuilt.
1494
1495 * aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it
1496 is defined in the environment.
1497
1498 Tue Nov 7 10:57:24 1995 Jeffrey A Law (law@cygnus.com)
1499
1500 * som.c (som_get_section_contents_in_window): Define to use
1501 generic version.
1502
1503 Mon Nov 6 17:13:15 1995 Harry Dolan <dolan@ssd.intel.com>
1504
1505 * coff-i860.c: New file, based on coff-i386.c.
1506 * cpu-i860.c: New file, based on cpu-i386.c.
1507 * hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
1508 * config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
1509 targets, using i860coff_vec.
1510 * configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
1511 trad-core.o and hosts/i860mach3.h.
1512 (i860coff_vec): Use coff-i860.o and cofflink.o.
1513 * configure: Rebuild.
1514 * Makefile.in: Rebuild dependencies.
1515 (ALL_MACHINES): Add cpu-i860.o.
1516 (BFD32_BACKENDS): Add coff-i860.o.
1517 (CFILES): Add cpu-i860.c and coff-i860.c.
1518 * targets.c (i860coff_vec): Declare.
1519 (bfd_target_vector): Add &i860coff_vec.
1520 * archures.c (bfd_i860_arch): Declare.
1521 (bfd_archures_list): Add &bfd_i860_arch.
1522 * coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
1523 (coff_set_flags): Handle bfd_arch_i860.
1524 (coff_write_object_contents): Handle I860 a.out magic number.
1525
1526 Mon Nov 6 14:34:07 1995 Ian Lance Taylor <ian@cygnus.com>
1527
1528 * xcofflink.c (xcoff_link_add_symbols): Set the alignment power of
1529 the created .tc section to 2.
1530 (xcoff_mark): Don't keep a .loader reloc for a call to an
1531 undefined symbol when creating a shared library.
1532 (xcoff_build_ldsyms): When creating a shared library, generate
1533 global linkage code for a call to an undefined symbol.
1534
1535 Sun Nov 5 21:44:13 1995 Ken Raeburn <raeburn@cygnus.com>
1536
1537 * Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES,
1538 BFD32_BACKENDS, BFD64_BACKENDS.
1539 (.dep1): Put mkdep output in a separate file.
1540 Rebuilt dependencies.
1541
1542 * ecoff.c (_bfd_ecoff_slurp_armap): Cast _bfd_read_ar_hdr return
1543 value.
1544
1545 Permit use of mmap when available:
1546
1547 * configure.in: Check for mmap, madvise, mprotect.
1548 * config.in, configure: Regenerated.
1549
1550 * libbfd.c (struct _bfd_window_internal): Define type.
1551 (bfd_init_window, bfd_free_window, bfd_get_file_window): New
1552 functions.
1553 (ok_to_map): New static variable for debugging.
1554 (_bfd_generic_get_section_contents_in_window): New function.
1555 * bfd-in.h (bfd_window_internal): Declare type.
1556 (bfd_window): Define type.
1557 (bfd_init_window, bfd_free_window, bfd_get_file_window): Declare.
1558 * libbfd-in.h (_bfd_generic_get_section_contents_in_window):
1559 Declare.
1560
1561 * libaout.h (struct aoutdata): Add two window fields.
1562 (obj_aout_sym_window, obj_aout_string_window): New macros.
1563 * aoutx.h (some_aout_object_p): Initialize windows.
1564 (aout_get_external_symbols): Get symbol data and strings in
1565 windows instead of explicitly allocated buffers.
1566 (slurp_symbol_table): Free window instead of memory.
1567 (bfd_free_cached_info): Release windows instead of freeing storage
1568 directly.
1569 (aout_link_free_symbols): Ditto.
1570
1571 * targets.c (bfd_target): Add new field for
1572 get_section_contents_in_window.
1573 (BFD_JUMP_TABLE_GENERIC): Updated.
1574 * aout-adobe.c, aout-target.h, binary.c, bout.c, coff-alpha.c,
1575 coff-mips.c, elfxx-target.h, i386msdos.c, i386os9k.c, ieee.c,
1576 libcoff-in.h, oasys.c, srec.c, tekhex.c, versados.c: Added new
1577 macros for get_section_contents_in_window field.
1578
1579 Sat Nov 4 12:23:26 1995 Fred Fish <fnf@cygnus.com>
1580
1581 * core.c: Renamed to corefile.c
1582 * makefile.dos (OBJS): Change core.o to corefile.o
1583 * Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c
1584
1585 start-sanitize-gm
1586 Sat Nov 4 10:16:54 1995 Stu Grossman (grossman@cygnus.com)
1587
1588 * config.bfd (mips*-*-magic*): Add bfd_elf32_bigmips_vec to
1589 targ_selvecs to allow debugging under Irix-5 native.
1590
1591 end-sanitize-gm
1592 Fri Nov 3 15:54:59 1995 Ian Lance Taylor <ian@cygnus.com>
1593
1594 * xcofflink.c (xcoff_link_add_symbols): Rename local variable sub
1595 to o. Clobber and restore the list of new csects around the call
1596 to _bfd_generic_link_add_one_symbol, in case it wants to report a
1597 linker error and the linker wants to read the symbol table. Reset
1598 the line number count of a real section even if it has no relocs.
1599 (_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag.
1600
1601 * coffgen.c (_bfd_coff_read_string_table): Warn if the string size
1602 is too small.
1603
1604 Thu Nov 2 23:16:39 1995 Ian Lance Taylor <ian@cygnus.com>
1605
1606 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about
1607 an undefined symbol in a shared link.
1608
1609 * linker.c (_bfd_generic_link_add_one_symbol): Correct type of
1610 oldtype from bfd_link_order_type to bfd_link_hash_type. From
1611 phdm@info.ucl.ac.be (Philippe De Muyter).
1612
1613 Wed Nov 1 14:26:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
1614
1615 * coff-m88k.c (rtype2howto): New static function.
1616 (RTYPE2HOWTO): Use it rather than a macro definition.
1617
1618 * coffcode.h (coff_write_object_contents): set internal_a.magic
1619 to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS).
1620
1621 * configure.in: m68*-motorola-sysv* does not use ptrace-core.o;
1622 define TRAD_HEADER to new file hosts/delta68.h.
1623 m88*-motorola-sysv*, however, does use ptrace-core.o.
1624 * hosts/delta68.h: New file.
1625
1626 * ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to
1627 bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc.
1628
1629 Wed Nov 1 13:51:54 1995 Ken Raeburn <raeburn@cygnus.com>
1630
1631 * i386linux.c (MY(vec)): Declare before use.
1632
1633 Wed Nov 1 11:45:07 1995 Ian Lance Taylor <ian@cygnus.com>
1634
1635 * reloc16.c (bfd_coff_reloc16_get_relocated_section_contents):
1636 Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases.
1637
1638 * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
1639 BFD is not of the right type.
1640 (bfd_elf_get_needed_list): Likewise.
1641 * i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
1642 * sunos.c (bfd_sunos_get_needed_list): Likewise.
1643 * xcofflink.c (XCOFF_XVECP): Define.
1644 (bfd_xcoff_link_record_set): Don't do anything if the BFD is not
1645 of the right type.
1646 (bfd_xcoff_import_symbol): Likewise.
1647 (bfd_xcoff_export_symbol): Likewise.
1648 (bfd_xcoff_link_count_reloc): Likewise.
1649 (bfd_xcoff_record_link_assignment): Likewise.
1650 (bfd_xcoff_size_dynamic_sections): Likewise.
1651
1652 * sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
1653 table index against the number of symbols for a base relative
1654 reloc.
1655
1656 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
1657 static function.
1658 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
1659 full_aouthdr flag here...
1660 (_bfd_xcoff_bfd_final_link): ...not here.
1661
1662 Tue Oct 31 12:52:02 1995 Fred Fish <fnf@cygnus.com>
1663
1664 * libelf.h: Rename to elf-bfd.h to avoid conflict with
1665 systems that have a system <libelf.h>.
1666 * Makefile.in: Globally replace libelf.h with elf-bfd.h.
1667 * bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c,
1668 elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c,
1669 elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c,
1670 elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c,
1671 elfxx-target.h: Include elf-bfd.h rather than libelf.h.
1672 * elfxx-target.h: Change libelf.h reference to elf-bfd.h.
1673
1674 Tue Oct 31 15:30:07 1995 David Mosberger-Tang <davidm@azstarnet.com>
1675
1676 * ecoff.c (ecoff_set_symbol_info): Add new parameter weak. If
1677 set, set BSF_WEAK in symbol. Change all callers.
1678 (ecoff_get_extr): Set weakext based on BSF_WEAK.
1679 (ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to
1680 _bfd_generic_link_add_one_symbol.
1681 (ecoff_indirect_link_order): Check that the section tdata relocs
1682 are not NULL before using them.
1683
1684 * configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
1685 define TRAD_HEADER as hosts/alphalinux.h.
1686 * configure: Rebuild.
1687 * hosts/alphalinux.h: New file.
1688 * trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
1689 not int.
1690
1691 Tue Oct 31 12:34:11 1995 Ian Lance Taylor <ian@cygnus.com>
1692
1693 * coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and
1694 C_ECOMM storage classes.
1695
1696 * xcofflink.c (xcoff_mark_symbol): New static function, broken out
1697 of xcoff_mark.
1698 (xcoff_mark): Call xcoff_mark_symbol.
1699 (bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
1700 (bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
1701 doing it by hand.
1702 (xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
1703
1704 Mon Oct 30 14:53:48 1995 Ian Lance Taylor <ian@cygnus.com>
1705
1706 * xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
1707 field.
1708 (xcoff_find_reloc): New static function.
1709 (xcoff_link_add_symbols): Use it.
1710 (_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
1711 (xcoff_link_input_bfd): Handle C_BINCL and C_EINCL. Don't
1712 relocate the value of C_DECL.
1713
1714 * elf.c (elf_fake_sections): Remove bogus BFD_ASSERT.
1715
1716 Sat Oct 28 01:25:34 1995 steve chamberlain <sac@slash.cygnus.com>
1717
1718 * cofflink.c (_bfd_coff_generic_relocate_section): Make
1719 callback decide what goes in .relocs.
1720 * pe[i]-i386.c (TARGET_UNDERSCORE): Define.
1721 * peicode.h (pe_mkobject_hook): Only copy aouthdr if
1722 there is one.
1723
1724 Sat Oct 28 01:51:02 1995 Ian Lance Taylor <ian@cygnus.com>
1725
1726 * xcofflink.c (xcoff_link_add_symbols): Handle csects in the
1727 absolute section.
1728
1729 Fri Oct 27 18:14:39 1995 Ian Lance Taylor <ian@cygnus.com>
1730
1731 * xcofflink.c: More improvements, mostly to fix handling of
1732 constructors and a few other special cases.
1733 * coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
1734 zero, reverting yesterday's change.
1735 * bfd-in.h (bfd_xcoff_link_record_set): Declare.
1736 (bfd_xcoff_link_count_reloc): Declare.
1737 (bfd_xcoff_record_link_assignment): Declare.
1738 * bfd-in2.h: Rebuild.
1739
1740 Fri Oct 27 14:42:15 1995 Niklas Hallqvist <niklas@appli.se>
1741
1742 * PORTING, aout-arm.c, aout-encap.c, aout-rce.c, aout-target.h,
1743 aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c
1744 i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c,
1745 i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c,
1746 ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c:
1747 Change PAGE_SIZE to TARGET_PAGE_SIZE.
1748
1749 * m68knetbsd.c: Ditto as well as add support for the m68k4k object
1750 format.
1751
1752 * netbsd.h: Double ditto (incl. m68k4k support). NetBSD's text
1753 segments includes the a.out header. See to that the magic number
1754 *always* is big-endian.
1755
1756 * config.bfd: Add m68*-hp*-netbsd* case. Cross-pollinate m68k and
1757 m68k4k NetBSD configurations.
1758
1759 * configure.in, configure: Separate i386 & mips NetBSD
1760 configurations from other BSD ones. Don't assume DEC is the only
1761 thing NetBSD/mips run on. Add {m68k,ns32k,sparc}-*-netbsd*
1762 configurations. Add support for m68k4k NetBSD object format.
1763
1764 * libaout.h: Added M_68K4K_NETBSD magic.
1765
1766 * m68k4knetbsd.c: New file.
1767
1768 * hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P.
1769
1770 * hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to
1771 <machine/endian.h>.
1772
1773 * hosts/mipsnbsd.h: New file.
1774
1775 start-sanitize-gm
1776 Fri Oct 27 09:41:51 1995 Stu Grossman (grossman@cygnus.com)
1777
1778 * config.bfd: Add config stuff for mips*-*-magic* to set
1779 targ_defvec to ecoff_big_vec.
1780
1781 end-sanitize-gm
1782 Thu Oct 26 14:16:47 1995 Ian Lance Taylor <ian@cygnus.com>
1783
1784 * xcofflink.c: Numerous changes to get closer to a working XCOFF
1785 linker.
1786 * libcoff-in.h (struct xcoff_tdata): Add full_aouthdr,
1787 toc_section, and entry_section fields.
1788 (struct xcoff_section_tdata): Remove ldrel_count field.
1789 * libcoff.h: Rebuild.
1790 * coffcode.h (coff_mkobject_hook): Initialize new xcoff_data
1791 fields.
1792 (coff_compute_section_file_positions): If RS6000COFF_C, generate
1793 full a.out header if full_aouthdr is set in xcoff_data.
1794 (coff_write_object_contents): Likewise. Set o_snentry and o_sntoc
1795 based on sections stored in xcoff_data.
1796 * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data
1797 fields.
1798 (xcoff_reloc_type_lookup): Handle BFD_RELOC_CTOR.
1799 (rs6000coff_vec): Set symbol_leading_char to '.'.
1800 * coffgen.c (coff_get_symbol_info): If fix_value is set, fix the
1801 value stored in ret rather than returning a pointer value.
1802
1803 Wed Oct 25 23:10:39 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1804
1805 * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Remove MAC
1806 format for now.
1807
1808 Wed Oct 25 16:19:27 1995 Jeffrey A Law (law@cygnus.com)
1809
1810 * som.c (som_slurp_string_table): Allocate the strings with malloc
1811 since they're free'd by free_cached_info.
1812 (som_slurp_symbol_table): Similarly for the symbol table.
1813
1814 Wed Oct 25 14:59:22 1995 Per Bothner <bothner@kalessin.cygnus.com>
1815
1816 * Makefile.in (diststuff): Don't make headers.
1817
1818 Wed Oct 25 11:32:54 1995 Ian Lance Taylor <ian@cygnus.com>
1819
1820 * Makefile.in: Rebuild dependencies.
1821
1822 * sunos.c (bfd_sunos_record_link_assignment): Don't do anything if
1823 output_bfd is not SunOS.
1824 (bfd_sunos_size_dynamic_sections): Likewise. Don't scan relocs of
1825 non-SunOS input files.
1826
1827 * xcofflink.c: Extensive changes to support linking shared objects
1828 and generating a .loader section.
1829 * libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
1830 (struct xcoff_section_tdata): Add lineno_count, first_symndx,
1831 last_symndx, and ldrel_count fields.
1832 * libcoff.h: Rebuild.
1833 * coff-rs6000.c (xcoff_howto_table): Correct reloc names.
1834 * coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
1835 is set.
1836 * bfd-in.h (bfd_xcoff_import_symbol): Declare.
1837 (bfd_xcoff_export_symbol): Declare.
1838 (bfd_xcoff_size_dynamic_sections): Declare.
1839 * bfd-in2.h: Rebuild.
1840
1841 Tue Oct 24 17:44:20 1995 Stan Shebs <shebs@andros.cygnus.com>
1842
1843 * configure.in: Add xcofflink.o to pmac_xcoff_vec.
1844 * configure: Rebuild.
1845 * mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
1846 * coff-pmac.c: Include coff-rs6000.c instead of duplicating its
1847 contents.
1848 (pmac_xcoff_vec): Update to use new xcoff support.
1849 * coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
1850 (xcoff_write_armap): Declare buf as unsigned char.
1851 * xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.
1852
1853 * mpw-make.sed: Generalize subdir_do edit.
1854
1855 Tue Oct 24 10:25:01 1995 Jeffrey A Law (law@cygnus.com)
1856
1857 * hppabsd-core.c (make_bfd_asection): Initialize asect->filepos
1858 correctly. Don't initialize asect->vma.
1859
1860 Fri Oct 20 13:23:48 1995 Ken Raeburn <raeburn@cygnus.com>
1861
1862 * opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use
1863 something a little less than the page size.
1864
1865 Thu Oct 19 13:06:09 1995 Ian Lance Taylor <ian@cygnus.com>
1866
1867 * coff-i960.c (coff_i960_adjust_symndx): Clear *adjustedp.
1868
1869 Wed Oct 18 16:20:08 1995 steve chamberlain <sac@slash.cygnus.com>
1870
1871 * coff-i386.c (coff_i386_reloc_type_lookup): New.
1872 * coffcode.h (coff_write_object_contents): If .bss is before
1873 .data us that as data_start.
1874 * cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
1875 calc correct.
1876 * peicode.h (add_data_entry): Use _cooked_size of data directory.
1877 (coff_swap_outhdr_out): Hardwire in version number.
1878
1879 Wed Oct 18 16:50:54 1995 Ken Raeburn <raeburn@cygnus.com>
1880
1881 * sunos.c (sunos_add_dynamic_symbols): Rename local variables
1882 major and minor to *_vno, since the former are also macros in
1883 SunOS header files. Cast result of bfd_alloc to appropriate
1884 type.
1885
1886 * coffgen.c (coff_find_nearest_line): Cast used_by_bfd value
1887 before assigning to sec_data.
1888
1889 Wed Oct 18 13:25:17 1995 Ian Lance Taylor <ian@cygnus.com>
1890
1891 * ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is
1892 now relative to the section, not absolute.
1893 * ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
1894 get the file name when there is a N_SO directory name. When
1895 handling stabs, remember that section->vma was added to the
1896 offset.
1897
1898 Tue Oct 17 18:24:54 1995 Ian Lance Taylor <ian@cygnus.com>
1899
1900 * sunos.c (struct sunos_link_hash_table): Add needed field.
1901 (sunos_link_hash_table_create): Call bfd_release, not free.
1902 (sunos_link_hash_table_create): Initialize needed field.
1903 (sunos_add_dynamic_symbols): Record needed objects.
1904 (bfd_sunos_get_needed_list): New function.
1905 * bfd-in.h (bfd_sunos_get_needed_list): Declare.
1906 * bfd-in2.h: Rebuild.
1907
1908 Mon Oct 16 14:43:59 1995 steve chamberlain <sac@slash.cygnus.com>
1909
1910 * libcoff-in.h (pe_data_type.in_reloc_p): New.
1911
1912 Mon Oct 16 10:52:50 1995 Ian Lance Taylor <ian@cygnus.com>
1913
1914 * bfd-in.h (struct bfd_link_needed_list): Rename from
1915 bfd_elf_link_needed_list.
1916 * bfd-in2.h: Rebuild.
1917 * elf.c, elflink.h, libelf.h: Corresponding changes.
1918
1919 Add start at AIX linker support; no shared libraries yet.
1920 * xcofflink.c: New file.
1921 * configure.in (rs600coff_vec): Use xcofflink.o.
1922 * configure: Rebuild.
1923 * libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices
1924 fields.
1925 (struct xcoff_section_tdata): Define.
1926 (xcoff_section_data): Define macro.
1927 (_bfd_xcoff_bfd_link_hash_table_create): Declare.
1928 (_bfd_xcoff_bfd_link_add_symbols): Declare.
1929 (_bfd_xcoff_bfd_final_link): Declare.
1930 (_bfd_ppc_xcoff_relocate_section): Declare.
1931 * libcoff.h: Rebuild.
1932 * coff-rs6000.c: Clean up a bit.
1933 (xcoff_mkobject): Default modtype to 1L, not RE. Initialize
1934 cputype, csects, and debug_indices.
1935 (xcoff_copy_private_bfd_data): Copy cputype.
1936 (xcoff_howto_table): Rename from rs6000coff_howto_table.
1937 (xcoff_rtype2howto): Rename from rs6000coff_rtype2howto.
1938 (xcoff_reloc_type_lookup): Rename from
1939 rs6000coff_reloc_type_lookup.
1940 (coff_relocate_section): Define.
1941 (_bfd_xcoff_sizeof_headers): Define.
1942 (_bfd_xcoff_bfd_get_relocated_section_contents): Define.
1943 (_bfd_xcoff_bfd_relax_section): Define.
1944 (_bfd_xcoff_bfd_link_split_section): Define.
1945 (rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not
1946 coff.
1947 * coffcode.h (coff_compute_section_file_positions): If AIX,
1948 increment sofar by SMALL_AOUTSZ if not executable.
1949 (coff_write_object_contents): If AIX, always output an a.out
1950 header; if not executable, header size of SMALL_AOUTSZ.
1951 * hash.c (struct bfd_strtab_hash): Add xcoff field.
1952 (_bfd_stringtab_init): Initialize xcoff field.
1953 (_bfd_xcoff_stringtab_init): New function.
1954 (_bfd_stringtab_add): In XCOFF mode, leave two bytes for length.
1955 (_bfd_stringtab_emit): In XCOFF mode, write out length.
1956 * libbfd-in.h (_bfd_xcoff_stringtab_init): Declare.
1957 * libbfd.h: Rebuild.
1958 * Makefile.in: Rebuild dependencies.
1959 (BFD32_BACKENDS): Add xcofflink.o.
1960 (CFILES): Add xcofflink.c.
1961
1962 * elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not
1963 SEC_NO_FLAGS, for .acommon section. From Peter Schauer
1964 <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>.
1965
1966 Sat Oct 14 21:36:02 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1967
1968 * coff-ppc.c (in_reloc_p): Add, clone from coff-i386.c.
1969
1970 Fri Oct 13 17:48:43 1995 Ken Raeburn <raeburn@cygnus.com>
1971
1972 * acconfig.h (HAVE_SYS_PROCFS_H): Undef, with comment.
1973 * config.in: Regenerated.
1974
1975 * opncls.c (getpagesize) [!HAVE_GETPAGESIZE]: Define as 2048.
1976 (_bfd_chunksize): New variable.
1977 (_bfd_new_bfd): Set it to getpagesize() if negative, and use it
1978 for obstack chunk size.
1979 * configure.in: Check for getpagesize.
1980 * configure: Regenerated.
1981
1982 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1983
1984 * trad-core.c (rawptr): Make it a local variable of
1985 ptrace_unix_core_file_p.
1986
1987 Fri Oct 13 11:22:01 1995 steve chamberlain <sac@slash.cygnus.com>
1988
1989 * coff-arm.c (in_reloc_p): New.
1990 * coff-i386.c (in_reloc_p): New.
1991 * coffcode.h: Allways include peicode.h if COFF_WITH_PE.
1992 (coff_write_object_contents): Only set has_reloc_section
1993 if PE_IMAGE.
1994 * cofflink.c (_bfd_coff_generic_relocate_section): Call
1995 in_reloc_p to decide if reloc should be emitted.
1996 * libcoff.h (pe_data_type.in_reloc_p): New.
1997 * peicode.h (pe_mkobject): Initialize in_reloc_p.
1998
1999 Wed Oct 11 00:49:29 1995 Ian Lance Taylor <ian@cygnus.com>
2000
2001 * cofflink.c (_bfd_coff_internal_syment_name): Move to coffgen.c.
2002 (_bfd_coff_read_internal_relocs): Likewise.
2003 * coffgen.c (_bfd_coff_internal_syment_name): Copy from coffgen.c.
2004 (_bfd_coff_read_internal_relocs): Likewise.
2005
2006 * elflink.h (elf_link_add_object_symbols): Correct conditions
2007 under which type and size change warnings are issued.
2008
2009 Tue Oct 10 18:32:46 1995 Ian Lance Taylor <ian@cygnus.com>
2010
2011 * coffgen.c (coff_count_linenumbers): Don't count line numbers for
2012 a symbol which is not in a real section.
2013 (coff_write_native_symbol): Corresponding change.
2014
2015 * cofflink.c (_bfd_coff_link_hash_newfunc): Rename from
2016 coff_link_hash_newfunc and make non-static.
2017 (_bfd_coff_link_hash_table_init): New function, broken out of
2018 _bfd_coff_link_hash_table_create.
2019 (_bfd_coff_link_hash_table_create): Use it.
2020 (process_embedded_commands): Make static.
2021 * libcoff-in.h ((_bfd_coff_link_hash_newfunc): Declare.
2022 (_bfd_coff_link_hash_table_init): Declare.
2023 * libcoff.h: Rebuild.
2024
2025 * coffcode.h (coff_mkobject_hook): If RS6000COFF_C, set cputype
2026 field in XCOFF tdata.
2027 (coff_set_arch_mach_hook): Check ifdef RS6000COFF_C, not ifdef
2028 U802ROMAGIC, for clarity. Try to set arch and machine correctly
2029 based on cputype stored in a.out header, or in n_type of initial
2030 .file symbol.
2031 (coff_write_object_contents): Set cputype correctly in a.out
2032 header.
2033 (coff_slurp_symbol_table): Add casts to file_ptr to avoid
2034 warnings.
2035 * coffswap.h (coff_swap_aouthdr_in): Swap in cputype field.
2036 (coff_swap_aouthdr_out): Swap out cputype field. Don't clear
2037 old resv1 field.
2038 * libcoff-in.h (struct xcoff_tdata): Add cputype field.
2039 * libcoff.h: Rebuild.
2040
2041 * cpu-rs6000.c (rs6000_compatible): New static function.
2042 (bfd_rs6000_arch): Use it.
2043 * cpu-powerpc.c (powerpc_compatible): New static function.
2044 (arch_info_struct): Define various flavours of PowerPC.
2045 (bfd_powerpc_arch): Use powerpc_compatible. Point at
2046 arch_info_struct.
2047
2048 Tue Oct 10 10:50:46 1995 Fred Fish <fnf@cygnus.com>
2049
2050 * Makefile.in (FLAGS_TO_PASS): Remove BISON.
2051
2052 Tue Oct 10 01:28:29 1995 Ian Lance Taylor <ian@cygnus.com>
2053
2054 * elflink.h (elf_link_add_object_symbols): Don't warn about
2055 changing the size or type if the old definition was weak.
2056
2057 Mon Oct 9 11:24:08 1995 Ian Lance Taylor <ian@cygnus.com>
2058
2059 * coffcode.h (combined_entry_type): Add fix_line field.
2060 (coff_slurp_line_table): Warn if we try to set the lineno field of
2061 a symbol twice.
2062 (coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and
2063 C_EINCL by setting fix_line. Fix C_BSTAT symbol value.
2064 * coffgen.c (coff_mangle_symbols): Handle fix_line.
2065 (coff_write_symbol): Only use N_DEBUG if the symbol is in the
2066 absolute section.
2067 (coff_print_symbol): Print fix_value symbols in a useful fashion.
2068 * libcoff.h: Rebuild.
2069
2070 * libcoff-in.h (struct xcoff_tdata): Define.
2071 (xcoff_data): Define.
2072 * bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
2073 * bfd-in2.h, libcoff.h: Rebuild.
2074 * coff-rs6000.c (xcoff_mkobject): New static function.
2075 (coff_mkobject): Define.
2076 (xcoff_copy_private_bfd_data): New static function.
2077 (coff_bfd_copy_private_bfd_data): Define.
2078 (rs6000coff_howto_table): Change R_TOC complain_on_overflow from
2079 signed to bitfield.
2080 (rs6000coff_vec): Add DYNAMIC to object_flags.
2081 * coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
2082 .loader sections specially.
2083 (coff_new_section_hook): If RS6000COFF_C, get the .text and .data
2084 section alignment from the XCOFF tdata information.
2085 (coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
2086 F_SHROBJ, and copy the extra a.out header information into the
2087 XCOFF tdata structure.
2088 (coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
2089 F_DYNLOAD and the extra a.out header information.
2090 (coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
2091 C_HIDEXT symbol with attached csect information.
2092 * coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
2093 in the o_maxdata field.
2094 (coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
2095 * coffgen.c (coff_renumber_symbols): Don't move any symbol to the
2096 end if BSF_NOT_AT_END is set.
2097
2098 * targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
2099 _bfd_read_ar_hdr_fn.
2100 * libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
2101 * bfd-in2.h, libbfd.h: Rebuild.
2102 * archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr
2103 return value.
2104 (do_slurp_bsd_armap, do_slurp_coff_armap): Likewise.
2105 (bfd_slurp_bsd_armap_f2): Likewise.
2106 (_bfd_slurp_extended_name_table): Likewise.
2107
2108 Fri Oct 6 16:18:35 1995 Ken Raeburn <raeburn@cygnus.com>
2109
2110 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2111
2112 * archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS
2113 when the symbol table is empty.
2114
2115 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve
2116 space for section symbols, since we don't output them either.
2117 (elf_m68k_adjust_dynindx): Removed.
2118
2119 * ptrace-core.c (rawptr): Make it a local variable of
2120 ptrace_unix_core_file_p.
2121
2122 Fri Oct 6 12:24:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2123
2124 * coff-rs6000.c (xcoff_write_archive_contents): Return false, not
2125 NULL.
2126
2127 * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and
2128 Mac object file formats.
2129
2130 Fri Oct 6 12:04:02 1995 Ian Lance Taylor <ian@cygnus.com>
2131
2132 * coffgen.c (coff_fix_symbol_name): Don't try to set up file
2133 auxent if there isn't one.
2134 (coff_write_symbols): If there is no file auxent, use SYMNMLEN
2135 rather than FILNMLEN as the maximum name length.
2136
2137 * coffcode.h (bfd_coff_backend_data): Add new field
2138 _bfd_coff_print_aux.
2139 (bfd_coff_print_aux): New static function.
2140 (coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the
2141 scnlen field of an XTY_LD csect aux entry.
2142 (coff_print_aux): New static function.
2143 (coff_slurp_symbol_table): Don't pointerize scnlen field; now done
2144 in coff_pointerize_aux_hook.
2145 (bfd_coff_std_swap_table): Initialize new field.
2146 * coffgen.c (coff_print_symbol): Call bfd_coff_print_aux.
2147 * libcoff.h: Rebuild.
2148 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
2149 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2150
2151 * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG
2152 if there are symbols, for native AIX ld compatibility.
2153
2154 * coffcode.h (bfd_coff_backend_data): Add new field
2155 _bfd_coff_pointerize_aux_hook.
2156 (coff_pointerize_aux_hook): Define as a function if RS6000COFF_C
2157 or I960, and as 0 otherwise.
2158 (bfd_coff_std_swap_table): Initialize new field.
2159 * libcoff.h: Rebuild.
2160 * coffgen.c (coff_pointerize_aux): Change parameters to take
2161 symbol pointer instead of type and class, and to take aux index.
2162 Call _bfd_coff_pointerize_aux_hook if it is defined.
2163 (coff_get_normalized_symtab): Always call coff_pointerize_aux.
2164 * coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields.
2165 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2166
2167 * coff-rs6000.c: Add full support for AIX archives. Rewrite old
2168 read-only/host-only support.
2169
2170 * coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be
2171 BSF_LOCAL.
2172 (OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if
2173 RS6000COFF_C.
2174
2175 * targets.c (bfd_target): Add _bfd_read_ar_hdr field. Modify
2176 BFD_JUMP_TABLE_ARCHIVE accordingly.
2177 * libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
2178 (_bfd_compute_and_write_armap): Declare.
2179 (_bfd_generic_read_ar_hdr): Declare.
2180 (_bfd_read_ar_hdr): Define.
2181 (_bfd_noarchive_read_ar_hdr): Define.
2182 (_bfd_archive_bsd_read_ar_hdr): Define.
2183 (_bfd_archive_coff_read_ar_hdr): Define.
2184 * archive.c: Change all callers of _bfd_snarf_ar_hdr to call
2185 _bfd_read_ar_hdr instead.
2186 (_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
2187 (_bfd_compute_and_write_armap): Rename from
2188 compute_and_write_armap. Make non-static. Change all callers.
2189 * ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
2190 than _bfd_snarf_ar_hdr.
2191 * aout-target.h (MY_read_ar_hdr): Define if not defined.
2192 * ieee.c (ieee_read_ar_hdr): Define.
2193 * libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
2194 * oasys.c (oasys_read_ar_hdr): Define.
2195 * som.c (som_read_ar_hdr): Define.
2196 * bfd-in2.h, libbfd.h: Rebuild.
2197
2198 Thu Oct 5 14:04:07 1995 steve chamberlain <sac@slash.cygnus.com>
2199
2200 * peicode.c (coff_swap_filehdr_in): If symptr is
2201 zero, there aren't any symbols, even if nsyms is set.
2202
2203 Thu Oct 5 11:45:02 1995 Ian Lance Taylor <ian@cygnus.com>
2204
2205 * libecoff.h (struct ecoff_backend_data): Add adjust_headers
2206 field.
2207 * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
2208 sections, and set styp correctly for them: .got, .hash, .dynamic,
2209 .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
2210 (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
2211 types.
2212 (ecoff_sort_hdrs): New static function.
2213 (ecoff_compute_section_file_positions): Return boolean, not void.
2214 Sort the sections by VMA before looking through them. Put the
2215 first non SEC_ALLOC section on a new page. Put every SEC_ALLOC
2216 section on an appropriate boundary within the page.
2217 (ecoff_compute_reloc_file_positions): Check return value of
2218 ecoff_compute_section_file_positions.
2219 (_bfd_ecoff_set_section_contents): Likewise.
2220 (_bfd_ecoff_write_object_contents): Check for various Alpha
2221 section types when incrementing text_size and data_size. Call
2222 adjust_headers backend function if it exists.
2223 * coff-alpha.c (alpha_adjust_headers): New static function.
2224 (alpha_ecoff_backend_data): Initialize adjust_headers field.
2225 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2226
2227 * hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6.
2228
2229 Wed Oct 4 18:15:02 1995 Jeff Law (law@hurl.cygnus.com)
2230
2231 * rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead
2232 of ALTERNATE_AIX_CORE_FORMAT.
2233 * configure.in (aix4): No longer need CORE_FLAGS.
2234 * configure: Updated.
2235
2236 Wed Oct 4 15:36:36 1995 Ken Raeburn <raeburn@cygnus.com>
2237
2238 NS32k changes from Ian Dall:
2239 * aoutx.h (MY_final_link_relocate, MY_relocate_contents): New
2240 macros.
2241 (aout_link_input_section_std, aout_link_input_section_ext,
2242 aout_link_reloc_link_order): Call them instead of _bfd_*
2243 versions.
2244 * aout-target.h (MY_exec_header_not_counted): New macro, defaults
2245 to zero.
2246 (backend_data): Use it instead of hardcoded zero.
2247
2248 * aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
2249 (MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
2250
2251 * ns32knetbsd.c: Include bfd.h.
2252 (MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
2253 (MY_bfd_reloc_type_lookup): Declare function too.
2254 * pc532-mach.c (set_sizes): Don't declare.
2255 (MY_text_includes_header, MY_exec_header_not_counted): Define.
2256 (backend_data, MY_backend_data): Don't define.
2257
2258 * config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
2259 ns32k-*-lites* like ns32k-*-netbsd*.
2260
2261 * hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to
2262 compile on lites.
2263
2264 Wed Oct 4 14:15:52 1995 Ian Lance Taylor <ian@cygnus.com>
2265
2266 * coffcode.h (coff_write_object_contents): Restore setting
2267 f_timdat to 0, deleted on August 22.
2268
2269 Tue Oct 3 16:28:32 1995 steve chamberlain <sac@slash.cygnus.com>
2270
2271 * coffcode.h (coff_bfd_copy_private_symbol_data,
2272 coff_bfd_copy_private_section_data,
2273 coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
2274 * peicode.h (coff_bfd_copy_private_bfd_data): New
2275 (pe_bfd_copy_private_bfd_data): New.
2276 (coff_swap_scnhdr_in): Swap bss size into the right place.
2277 (pe_print_private_bfd_data): Add some newlines.
2278
2279 Tue Oct 3 11:53:04 1995 Jeff Law (law@hurl.cygnus.com)
2280
2281 * som.c (setup_sections): Don't die if a space has no subspaces.
2282
2283 Mon Oct 2 14:08:55 1995 Ian Lance Taylor <ian@cygnus.com>
2284
2285 * elflink.h (elf_link_add_object_symbols): Don't let a weak
2286 dynamic symbol override a common symbol. Don't change the size or
2287 type if they have been set and the new symbol is not a definition.
2288 Warn if the size or type changes.
2289
2290 Sun Oct 1 01:34:41 1995 Jeff Law (law@hurl.cygnus.com)
2291
2292 * som.c (som_begin_writing): Don't write the symbol table or
2293 symbol strings.
2294 (som_finish_writing): Write them here. Place them after the
2295 subspace data, but before the relocs.
2296
2297 Fri Sep 29 11:01:55 1995 Ian Lance Taylor <ian@cygnus.com>
2298
2299 * sunos.c (sunos_add_one_symbol): Just pass false, not
2300 info->shared_library, to sunos_create_dynamic_sections.
2301 (sunos_scan_ext_relocs): Don't warn about a reloc in the .text
2302 section.
2303 (sunos_check_dynamic_reloc): Remove .text section assertion.
2304
2305 Thu Sep 28 18:48:47 1995 Stan Shebs <shebs@andros.cygnus.com>
2306
2307 * config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*.
2308 * configure, configure.in: Add pmac_xcoff_vec case.
2309 * Makefile.in (BFD32_BACKENDS): Add coff-pmac.o.
2310 * coff-pmac.c: New file, PowerMac XCOFF support.
2311 * coffcode.h (coff_set_arch_mach_hook): Add PowerMac case.
2312 * targets.c (pmac_xcoff_vec): Declare.
2313
2314 * mpw-config.in: Various changes to be compatible with the
2315 autoconf-based configury.
2316 * mpw-make.sed: New file, sed commands to translate Unix
2317 makefile into MPW syntax.
2318 * mpw-make.in: Remove.
2319 * hosts/mpw.h: Remove.
2320 * bfd-in.h, bfd-in2.h: If MPW, include the file that defines
2321 true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED.
2322
2323 Thu Sep 28 17:06:23 1995 steve chamberlain <sac@slash.cygnus.com>
2324
2325 * binary.c (binary_get_symtab): Return an empty string on error.
2326 * opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB.
2327
2328 Thu Sep 28 15:30:44 1995 Kim Knuttila <krk@nellie>
2329
2330 * coff-ppc.c: Reformatted according to gnu conventions
2331 Removed irrelevant "if 0" code
2332
2333 Thu Sep 28 11:19:53 1995 Ian Lance Taylor <ian@cygnus.com>
2334
2335 * hp300hpux.c (convert_sym_type): Treat secondary symbols as weak
2336 symbols rather than as indirect symbols.
2337 (MY(slurp_symbol_table)): Don't do anything special about
2338 secondary symbols.
2339
2340 * coffcode.h (coff_new_section_hook): Make sure that the alignment
2341 of .ctors and .dtors sections is no larger than 2.
2342
2343 * sunos.c (sunos_add_one_symbol): Don't change
2344 bfd_link_hash_common to bfd_link_hash_new, since it may be on the
2345 undef list.
2346 (bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the
2347 dynamic symbols when creating a shared library.
2348 (sunos_scan_ext_relocs): Handle relocs correctly when creating a
2349 shared library.
2350 (sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as
2351 written even if it is not defined in a regular object.
2352 (sunos_write_dynamic_symbol): Use plt_offset for the address of
2353 the jump table reloc. Add an assertion. Use RELOC_JMP_SLOT
2354 rather than the constant 22.
2355 (sunos_check_dynamic_reloc): Handle creating a shared library.
2356 (sunos_finish_dynamic_link): Set the first entry in the GOT to
2357 zero when creating a shared library.
2358 * aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC,
2359 write it out at the start of the symbol table.
2360
2361 * Makefile.in (BFD32_BACKENDS): Add coff-arm.o.
2362
2363 Thu Sep 28 00:58:05 1995 Doug Evans <dje@deneb.cygnus.com>
2364
2365 * config.bfd: Add arm-*-coff.
2366 * configure.in, configure: Add armcoff_{little,big}_vec.
2367 * targets.c (armcoff_{little,big}_vec): Declare.
2368 (bfd_target_vector): Add armcoff_{little,big}_vec.
2369 * coff-arm.c (armcoff_{little,big}_vec): Always define.
2370
2371 Wed Sep 27 10:37:14 1995 Ian Lance Taylor <ian@cygnus.com>
2372
2373 * targets.c (bfd_find_target): Remove debugging code.
2374
2375 Wed Sep 27 07:23:39 1995 Kim Knuttila <krk@nellie>
2376
2377 * coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE
2378 support on powerpc.
2379 * Makefile.in: added *-ppc files
2380 * coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to
2381 allow pe based .o's to be shared with other tools on ppc/NT
2382 * config.bfd: added powerpc[le]-[pe|winnt] config support
2383 * configure, configure.in: added bfd_powerpc[le]_pe[i]_vec
2384 * peicode.h: Added more section flags for PE on ppc
2385 Added coff_swap_filehdr_out to allow peicode.h to be
2386 used for non-image PE files on ppc.
2387 Check for image, or not, before copying pe_opthdr
2388 * targets.c: Added new bfd's
2389 * targets.c: Removed two inactive bfds that shouldn't have made it this
2390 far.
2391
2392 Tue Sep 26 14:06:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2393
2394 * elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use
2395 explicit values to initialize all relocs. Change all users.
2396 (ppc_elf_brtaken_inner): New function to handle branch predicition
2397 relocs.
2398 (ppc_elf_brtaken_reloc): Ditto.
2399 (ppc_elf_howto_raw): Use new functions. Make sure all unsupported
2400 relocs use ppc_elf_unsupported_reloc.
2401 (ppc_elf_merge_private_bfd_data): Keep track of whether an error
2402 needs to be reported.
2403 (ppc_elf_relocate_section): Support branch prediction relocs.
2404
2405 Tue Sep 26 12:48:05 1995 Ian Lance Taylor <ian@cygnus.com>
2406
2407 * bfd.c (bfd_assert): Remove \n from string passed to
2408 _bfd_error_handler.
2409
2410 * coff-i386.c: (TWO_DATA_SECS): Don't define.
2411 * coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook.
2412 (bfd_coff_make_section_hook): Don't define.
2413 (coff_make_section_hook): Remove.
2414 (sec_to_styp_flags): Remove TWO_DATA_SECS case.
2415 (styp_to_sec_flags): Likewise.
2416 (coff_write_object_contents): Likewise.
2417 (bfd_coff_std_swap_table): Don't initialize make_section_hook
2418 field.
2419 * libcoff.h: Rebuild.
2420 * coffgen.c (make_a_section_from_file): Just call
2421 bfd_make_section_anyway, not bfd_make_section or
2422 bfd_coff_make_section_hook.
2423 * ecoff.c (_bfd_ecoff_make_section_hook): Remove.
2424 * libecoff.h (_bfd_ecoff_make_section_hook): Don't declare.
2425 * coff-alpha.c (alpha_ecoff_backend_data): Don't initialize
2426 make_section_hook field.
2427 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2428
2429 * aoutx.h (translate_from_native_sym_flags): Don't try to stuff
2430 pointers into value field for warning and indirect symbols; just
2431 leave the value field alone.
2432 * linker.c (generic_link_add_symbol_list): Use next symbol for
2433 warning and indirect symbols, rather than looking in symbol value.
2434 * ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
2435 parameter. Change all callers. Remove support for indirect
2436 symbols; it didn't work anyhow.
2437 (_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
2438 * syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
2439 * bfd-in2.h: Rebuild.
2440
2441 Mon Sep 25 16:04:09 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2442
2443 * elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs,
2444 go back to telling the tools this reloc operates on 32 bits.
2445
2446 Mon Sep 25 11:48:02 1995 Ian Lance Taylor <ian@cygnus.com>
2447
2448 * aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler
2449 rather than a direct fprintf.
2450 * archive.c (_bfd_write_archive_contents): Likewise.
2451 * coffcode.h (coff_slurp_symbol_table): Likewise.
2452 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise.
2453 (ppc_elf_unsupported_reloc): Likewise.
2454 (ppc_elf_relocate_section): Likewise.
2455 * i386linux.c (linux_tally_symbols): Likewise.
2456 (linux_finish_dynamic_link): Likewise.
2457 * osf-core.c (osf_core_core_file_p): Likewise.
2458 * rs6000-core.c (rs6000coff_get_section_contents): Likewise.
2459 * som.c (som_sizeof_headers): Likewise.
2460 * srec.c (srec_bad_byte): Likewise.
2461 * bfd.c (bfd_assert): Likewise. Also change file to be const.
2462 * libbfd-in.h (bfd_assert): Declare first parameter const.
2463 * libbfd.h: Rebuild.
2464 * coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning
2465 bfd_reloc_overflow is enough.
2466 * coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort.
2467 * coff-h8500.c (rtype2howto): Likewise.
2468 * coff-z8k.c (rtype2howto): Likewise.
2469 * coffcode.h (dummy_reloc16_extra_cases): Likewise.
2470 * elf.c (_bfd_elf_get_lineno): Likewise.
2471 (_bfd_elf_no_info_to_howto): Likewise.
2472 (_bfd_elf_no_info_to_howto_rel): Likewise.
2473 * hp300hpux.c (convert_sym_type): Likewise.
2474 (MY(swap_std_reloc_in)): Likewise.
2475 * elf.c (bfd_section_from_shdr): Remove #if 0 sections.
2476
2477 * libaout.h (struct aoutdata): Add line_buf field.
2478 * aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
2479 and filename_buffer. Instead, use a malloc buffer stored in the
2480 new line_buf field. Remove length restrictions.
2481
2482 * coffgen.c (string_size): Remove static variable.
2483 (debug_string_size, debug_string_section): Likewise.
2484 (coff_fix_symbol_name): Add string_size_p, debug_string_section_p,
2485 and debug_string_size_p parameters. Use them instead of the
2486 global variables. Change all callers.
2487 (coff_write_symbol): Likewise.
2488 (coff_write_alien_symbol, coff_write_native_symbol): Likewise.
2489 (coff_write_symbols): Add local variables to replace removed
2490 global variables.
2491
2492 * libcoff-in.h (struct coff_section_tdata): Add offset, i,
2493 function, and line_base fields.
2494 * libcoff.h: Rebuild.
2495 * coffgen.c (coff_find_nearest_line): Use section tdata to cache
2496 information, rather than using static variables.
2497
2498 * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
2499 file. From Peter DeWolf <pld@amt.tay1.dec.com>.
2500
2501 * init.c (initialized): Remove static variable.
2502 (bfd_init): Don't bother setting initialized.
2503 (bfd_check_init): Remove.
2504 * opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
2505 * libbfd.h: Rebuild.
2506
2507 Sat Sep 23 01:22:23 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2508
2509 * rs6000-core.c (rs6000coff_core_p): Don't check the core file
2510 size for full core dumps. Copy core file header to private data.
2511 (rs6000coff_core_file_failing_command,
2512 rs6000coff_core_file_failing_signal): New functions to extract
2513 the file name and terminating signal from the core file.
2514 * coff-rs6000.c: Use them.
2515
2516 Fri Sep 22 17:44:47 1995 Ian Lance Taylor <ian@cygnus.com>
2517
2518 Change arch info to be const, initialized at compile time.
2519 * archures.c: Reindent many functions. Change CONST to const.
2520 (bfd_arch_info_type): Make arch_name const. Remove disassemble;
2521 nothing set it anyhow. Make next const.
2522 (bfd_arch_info_list): Remove.
2523 (bfd_archures_list): Rename from archures_init_table. Change from
2524 a table of function pointers to a table of bfd_arch_info_type
2525 structure addresses.
2526 (bfd_scan_arch): Rewrite accordingly. Return a const pointer.
2527 (bfd_lookup_arch): Likewise.
2528 (bfd_set_arch_info): Rewrite accordingly. Change argument to be a
2529 const pointer.
2530 (bfd_default_arch_struct): Make const.
2531 (bfd_arch_init, bfd_arch_linkin): Remove.
2532 (bfd_get_arch_info): Return a const pointer.
2533 * init.c (bfd_init): Don't call bfd_arch_init.
2534 * bfd.c (struct _bfd): Make arch_info const.
2535 * bfd-in2.h: Rebuild.
2536 * libbfd.h: Rebuild.
2537 * configure.in: Put & before everything in $selarchs.
2538 * configure: Rebuild.
2539 * cpu-*.c: Change bfd_*_arch from a function which calls
2540 bfd_arch_linkin to a const structure.
2541 * ieee.c (ieee_object_p): Make arch const.
2542
2543 Fri Sep 22 16:23:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2544
2545 * reloc.c (bfd_reloc_code_type): Add relocations to support all of
2546 PowerPC V.4.
2547 * bfd-in2.h: Regenerate.
2548 * libbfd.h: Regenerate.
2549
2550 * elf32-ppc.c (reloc_type): Update names to match current draft.
2551 (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
2552 relative. Update names to current V.4 draft.
2553 (ppc_elf_reloc_type_lookup): Add support for more relocations.
2554 (ppc_elf_relocate_section): Rename relocations to match draft.
2555
2556 Thu Sep 21 21:53:18 1995 Michael Meissner <meissner@cygnus.com>
2557
2558 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
2559 compiled with -mrelocatable-lib to be linked with either normal
2560 modules or -mrelocatable modules.
2561
2562 Wed Sep 20 12:03:26 1995 Ian Lance Taylor <ian@cygnus.com>
2563
2564 * coffcode.h (coff_write_object_contents): Clear the vstamp field
2565 in the a.out header.
2566
2567 * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
2568 a reloc against a local symbol, even if it's not a section.
2569
2570 Tue Sep 19 17:02:26 1995 Ian Lance Taylor <ian@cygnus.com>
2571
2572 * targets.c (bfd_target): Remove unused align_power_min field.
2573 * bfd-in2.h: Rebuild.
2574 * All backends: Remove initialization of align_power_min.
2575
2576 Tue Sep 19 14:02:21 1995 steve chamberlain <sac@slash.cygnus.com>
2577
2578 * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
2579
2580 Mon Sep 18 14:35:01 1995 Arne H. Juul <arnej@pvv.unit.no>
2581
2582 * config.bfd (mips-dec-netbsd*): New target.
2583 * configure.host (mips-dec-netbsd*): New host.
2584 * configure.in (mips-dec-netbsd*): New native.
2585 * configure: Rebuild.
2586
2587 Fri Sep 15 10:24:36 1995 Ian Lance Taylor <ian@cygnus.com>
2588
2589 Make the COFF backend linker merge common types:
2590 * cofflink.c (struct coff_debug_merge_element): Define.
2591 (struct coff_debug_merge_type): Define.
2592 (struct coff_debug_merge_hash_entry): Define.
2593 (struct coff_debug_merge_hash_table): Define.
2594 (coff_debug_merge_hash_table_init): Define.
2595 (coff_debug_merge_hash_table_free): Define.
2596 (coff_debug_merge_hash_lookup): Define.
2597 (struct coff_final_link_info): Add debug_merge field.
2598 (coff_debug_merge_hash_newfunc): New static function.
2599 (_bfd_coff_final_link): Allocate and free debug_merge table.
2600 (coff_link_input_bfd): Merge identical enum, struct and union
2601 types.
2602
2603 Thu Sep 14 14:53:58 1995 Ian Lance Taylor <ian@cygnus.com>
2604
2605 Convert i960 COFF to use COFF backend linker.
2606 * coff-i960.c (coff_i960_relocate): Use a coff_section_data
2607 structure to store the symbol being used.
2608 (coff_i960_start_final_link): New static function.
2609 (coff_i960_relocate_section): New static function.
2610 (coff_i960_adjust_symndx): New static function.
2611 (coff_start_final_link): Define.
2612 (coff_relocate_section): Define.
2613 (coff_adjust_symndx): Define.
2614 * coffcode.h (bfd_coff_backend_data): Add new callback function
2615 _bfd_coff_start_final_link.
2616 (bfd_coff_start_final_link): Define.
2617 (coff_start_final_link): Define if not defined.
2618 (bfd_coff_std_swap_table): Add coff_start_final_link.
2619 * cofflink.c (_bfd_coff_internal_syment_name): Make globally
2620 visible.
2621 (_bfd_coff_final_link): Call bfd_coff_start_final_link if the
2622 function callback is not NULL.
2623 * libcoff-in.h (struct coff_section_tdata): Add tdata field.
2624 (_bfd_coff_internal_syment_name): Declare.
2625 * libcoff.h: Rebuild.
2626 * configure.in (icoff_big_vec): Add cofflink.o.
2627 (icoff_little_vec): Likewise.
2628 * configure: Rebuild.
2629
2630 Wed Sep 13 17:38:23 1995 Fred Fish <fnf@rtl.cygnus.com>
2631
2632 * Makefile.in (clean-info): Remove extraneous tab from line
2633 following action.
2634
2635 Wed Sep 13 13:27:53 1995 Ian Lance Taylor <ian@cygnus.com>
2636
2637 * cofflink.c (coff_link_input_bfd): Fail if a section with no
2638 contents has relocs.
2639
2640 Thu Sep 12 12:45:34 1995 steve chamberlain <sac@slash.cygnus.com>
2641
2642 * coffcode.h (coff_compute_section_file_positions): Keep the
2643 raw size safe.
2644 (coff_write_object_contents): Remember if it's a relocatable
2645 file.
2646 * libcoff-in.h (pe_data_type): New member 'has_reloc_section'
2647 * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
2648 if relocatable file. Swap out saved raw size.
2649
2650 Tue Sep 12 12:14:33 1995 Ian Lance Taylor <ian@cygnus.com>
2651
2652 * Makefile.in (do_maintainer_clean): Rename from do_realclean.
2653 (maintainer-clean): Rename from realclean, passing
2654 maintainer-clean down to subdirectories, but leave realclean as a
2655 synonym.
2656
2657 * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
2658 warning callback.
2659
2660 * dep-in.sed: Remove config.h from generated dependencies.
2661
2662 * sunos.c (sunos_slurp_dynamic_symtab): New static function,
2663 broken out of sunos_canonicalize_dynamic_symtab.
2664 (sunos_canonicalize_dynamic_symtab): Call new function
2665 sunos_slurp_dynamic_symtab.
2666 (sunos_add_dynamic_symbols): Add three new parameters. Return the
2667 dynamic symbol table to the caller.
2668 * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
2669 callback to override the symbols being read.
2670 * libaout.h (struct aout_backend_data): Add three new parameters
2671 to add_dynamic_symbols callback.
2672
2673 Extensive minor changes to avoid various gcc warnings. Also:
2674 * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
2675 * archures.c (bfd_arch_info_type): Change mach field from long to
2676 unsigned long.
2677 (bfd_lookup_arch): Change machine parameter from long to unsigned
2678 long.
2679
2680 Mon Sep 11 10:55:47 1995 Ian Lance Taylor <ian@cygnus.com>
2681
2682 * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
2683 a symbol with a non-zero plt_offset.
2684
2685 Fri Sep 8 11:47:24 1995 Ian Lance Taylor <ian@cygnus.com>
2686
2687 * elfcode.h (align_file_position): Remove; not used.
2688
2689 * configure.in: Only check for <sys/procfs.h> on a native system,
2690 and make sure it defines prstatus_t.
2691 * configure: Rebuild.
2692
2693 Thu Sep 7 12:48:01 1995 Ian Lance Taylor <ian@cygnus.com>
2694
2695 * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
2696
2697 * config.in: Rename from config.h.in.
2698 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
2699 Check for config.h:config.in when creating stamp-h.
2700 * configure: Rebuild.
2701 * Makefile.in (stamp-h): Depend upon config.in rather than
2702 config.h.in. Set CONFIG_HEADERS to config.h:config.in when
2703 calling config.status.
2704
2705 * Makefile.in (do_distclean): Remove config.h and stamp-h.
2706 (Makefile): Just rebuild Makefile.
2707 (config.h, stamp-h): New targets.
2708 * configure.in: Create stamp-h when rebuilding config.h.
2709 * configure: Rebuild.
2710
2711 Wed Sep 6 15:00:33 1995 Ian Lance Taylor <ian@cygnus.com>
2712
2713 * configure.in: Call AC_CONFIG_HEADER. Substitute
2714 HOST_64BIT_LONG. Check that various header files exist. Check
2715 that fcntl exists. Call BFD_BINARY_FOPEN. Check whether malloc
2716 and/or free need to be declared. Don't make a link to sysdep.h.
2717 Define TRAD_HEADER for various hosts.
2718 * configure: Rebuild.
2719 * configure.host: Don't set my_host. Add definitions taken from
2720 host header files for various entries. Remove entries which now
2721 do nothing.
2722 * acconfig.h: New file.
2723 * config.h.in: New file, built by autoheader.
2724 * sysdep.h: New file.
2725 * Makefile.in (do_distclean): Don't remove sysdep.h.
2726 (RECONFIG): Remove.
2727 (LOCAL_H_DEPS): New variable.
2728 ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
2729 $(RECONFIG).
2730 ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
2731 ($(OPTIONAL_BACKENDS)): Likewise.
2732 (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
2733 looking through sysdep.h.
2734 * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
2735 (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
2736 (fprintf_vma, sprintf_vma): Likewise.
2737 (int64_type, uint64_type): Don't define.
2738 * bfd-in2.h: Rebuild.
2739 * archures.c, bfd.c, srec.c: Include <ctype.h>.
2740 * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
2741 * lynx-core.c: Include stuff from old hosts/lynx.h.
2742 * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
2743 rather than NO_FCNTL.
2744 * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
2745 rather than NATIVE_HPPAHPUX_COMPILER.
2746 * trad-core.c: Don't include <errno.h>. Include TRAD_HEADER if it
2747 is defined.
2748 * hosts/*.h: Remove all header files which merely include,
2749 declare, and define things. Leave header files which define
2750 information needed by trad-core.c.
2751
2752 * aclocal.m4 (BFD_BINARY_FOPEN): Define.
2753 (BFD_CC_FOR_BUILD): Define.
2754 * configure.in: Use BFD_CC_FOR_BUILD.
2755 * configure: Rebuild.
2756
2757 Tue Sep 5 19:35:28 1995 Ian Lance Taylor <ian@cygnus.com>
2758
2759 * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
2760 * configure: Rebuild.
2761
2762 * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
2763 a global symbol.
2764
2765 Tue Sep 5 12:48:26 1995 Jason Molenda (crash@phydeaux.cygnus.com)
2766
2767 * config.bfd: i386pe_ve -> i386pe_vec.
2768
2769 Mon Sep 4 14:02:43 1995 Ian Lance Taylor <ian@cygnus.com>
2770
2771 * configure.host: Incorporate host Makefile fragments by setting
2772 shell variables.
2773 * configure.in: Call AC_PROG_CC. Substitute CFLAGS, HDEFINES and
2774 AR. Call AC_PROG_INSTALL. Substitute CC_FOR_BUILD, choosing a
2775 value based on whether the code is being compiled by a cross
2776 compiler. Don't substitute host_makefile_frag or frags.
2777 * aclocal.m4: New file to define local AC_PROG_CC.
2778 * configure: Rebuild.
2779 * Makefile.in (INSTALL): Set to @INSTALL@.
2780 (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
2781 (INSTALL_DATA): Set to @INSTALL_DATA@.
2782 (AR): Set to @AR@.
2783 (CC): Define as @CC@.
2784 (CFLAGS): Set to @CFLAGS@.
2785 (CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
2786 (@host_makefile_frag@): Remove.
2787 (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@. Move $(CFLAGS)
2788 after other options.
2789 (config.status): Remove dependency upon @frags@.
2790 * config/*.mh, config/README: Remove.
2791
2792 * config.bfd: Rewrite to incorporate the contents of the Makefile
2793 fragments by setting shell variables, rather than merely returning
2794 the name of a Makefile fragment.
2795 * configure.in: Use shell variables set by config.bfd rather than
2796 looking at the target Makefile fragment files. Don't substitute
2797 target_makefile_frag. Do substitute TDEFINES.
2798 * configure: Rebuild.
2799 * Makefile.in (@target_makefile_frag@): Remove.
2800 (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
2801 * config/*.mt: Remove.
2802
2803 Mon Sep 4 03:13:28 1995 Ken Raeburn <raeburn@cygnus.com>
2804
2805 * configure.in: Put changequote lines around "i[345]86" patterns
2806 section of core file support.
2807
2808 Sun Sep 3 11:31:58 1995 Jeff Law (law@snake.cs.utah.edu)
2809
2810 * som.c (som_bfd_print_private_bfd_data): Define to use the
2811 generic version.
2812
2813 Fri Sep 1 17:08:40 1995 steve chamberlain <sac@slash.cygnus.com>
2814
2815 * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
2816 entry, text_start and data_start.
2817
2818 Fri Sep 1 18:06:28 1995 Ian Lance Taylor <ian@cygnus.com>
2819
2820 * Makefile.in (OFILES): Remove $(TDEPFILES).
2821 * config/apollo.mt (TDEPFILES): Remove.
2822 * config/README: Update.
2823
2824 * configure.in: For a native configuration, set COREFILE and
2825 COREFLAG based on the canonical host name.
2826 * configure: Rebuild.
2827 * Makefile.in: Rebuild dependencies.
2828 (ALL_CFLAGS): Add @COREFLAG@.
2829 (OFILES): Replace $(HDEPFILES) with @COREFILE@.
2830 * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
2831 support routines. Check LYNX_CORE rather than HOST_LYNX.
2832 * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
2833 * i386lynx.c: Likewise.
2834 * m68klynx.c: Likewise.
2835 * sparclynx.c: Likewise.
2836 * rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
2837 * *-core.c: Comment changes.
2838 * config/decstation.mh (HDEPFILES): Remove.
2839 (HDEFINES): Remove -DTRAD_CORE.
2840 * config/irix3.mh (RANLIB): Remove.
2841 * config/irix4.mh (HDEPFILES, RANLIB): Remove.
2842 (HDEFINES): Remove -DIRIX_CORE.
2843 * config/riscos.mh (RANLIB, HDEPFILES): Remove.
2844 (HDEFINES): Remove -DTRAD_CORE.
2845 * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
2846 * config/ultra3.mh (RANLIB): Remove.
2847 * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
2848 * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
2849 * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
2850 * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
2851 * config/hppahpux.mh, config/hppaosf.mh: Remove.
2852 * config/i386aix.mh, config/i386bsd.mh: Remove.
2853 * config/i386linux.mh, config/i386mach3.mh: Remove.
2854 * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
2855 * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
2856 * config/mipsmach3.mh, config/news-mips.mh: Remove.
2857 * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
2858 * config/rs600.mh, config/rs6000lynx.mh: Remove.
2859 * config/solaris2.mh, config/stratus.mh: Remove.
2860 * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
2861 * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
2862
2863 Fri Sep 1 15:18:50 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
2864
2865 * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
2866 DT_FINI entry if the appropriate symbol is not in the hash table.
2867
2868 * libelf.h (struct elf_backend_data): Add create_program_headers
2869 and want_hdr_in_seg fields.
2870 * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
2871 defined.
2872 (elf_backend_create_program_headers): Likewise.
2873 (elfNN_bed): Initialize create_program_headers and
2874 want_hdr_in_seg.
2875 * elf.c (get_program_header_size): Call create_program_headers
2876 backend routine.
2877 (map_program_segments): Check want_hdr_in_seg backend field. Call
2878 create_program_headers backend routine.
2879
2880 * elf.c (assign_file_positions_except_relocs): Align non allocated
2881 sections when creating an executable.
2882
2883 * elfcode.h (elf_swap_phdr_in): Make non static.
2884 (elf_swap_phdr_out): Make non static.
2885 * libelf.h (bfd_elf32_swap_phdr_in): Declare.
2886 (bfd_elf32_swap_phdr_out): Declare.
2887 (bfd_elf64_swap_phdr_in): Declare.
2888 (bfd_elf64_swap_phdr_out): Declare.
2889
2890 * ecofflink.c (ecoff_collect_shuffle): New static function.
2891 (_bfd_ecoff_get_accumulated_pdr): New function.
2892 (_bfd_ecoff_get_accumulated_sym): New function.
2893 (_bfd_ecoff_get_accumulated_ss): New function.
2894 * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
2895 (_bfd_ecoff_get_accumulated_sym): Declare.
2896 (_bfd_ecoff_get_accumulated_ss): Declare.
2897 * libbfd.h: Rebuild.
2898
2899 Fri Sep 1 13:20:25 1995 Ian Lance Taylor <ian@cygnus.com>
2900
2901 * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
2902
2903 * elflink.h (elf_link_add_object_symbols): Handle indirect and
2904 warning symbols. If any section is named .gnu.warning.XXX, treat
2905 the contents as a warning to be issued if the symbol XXX is
2906 referenced.
2907 (elf_link_output_extsym): For an indirect or warning symbol, just
2908 output the symbol it points to.
2909
2910 * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
2911 if bfd_hash_allocate fails, since it will already be set.
2912 (generic_link_hash_newfunc): Likewise.
2913 (archive_hash_newfunc): Likewise.
2914 (hash_entry_bfd): New static function.
2915 (_bfd_generic_link_add_one_symbol): Pass new arguments to warning
2916 callback. Allocate a new warning using the hash table newfunc.
2917 Use bfd_hash_replace to update the entry in the hash table, rather
2918 than assuming we can copy the fields with structure assignment.
2919
2920 * hash.c (bfd_hash_replace): New function.
2921 * bfd-in.h (bfd_hash_replace): Declare.
2922 * bfd-in2.h: Rebuild.
2923
2924 Fri Sep 1 08:12:50 1995 James G. Smith <jsmith@beauty.cygnus.com>
2925
2926 * config.bfd: Add mips*vr4300-*-elf* target.
2927 * config/mipsbvr4300.mt: Added.
2928
2929 See file ChangeLog.2
2930
2931 \f
2932 Local Variables:
2933 mode: indented-text
2934 left-margin: 8
2935 fill-column: 74
2936 version-control: never
2937 End:
This page took 0.086645 seconds and 5 git commands to generate.