Add access, sigaltstack, sigaction emulations
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
421a2956
MH
1start-sanitize-d10v
2Tue Oct 29 12:53:46 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
3
4 * elf32-d10v.c (elf_d10v_howto_table): Don't complain on
5 overflows for R_D10V_16 and R_D10V_18.
6
7end-sanitize-d10v
061cc10b
ILT
8Tue Oct 29 13:23:53 1996 Ian Lance Taylor <ian@cygnus.com>
9
10 * ieee.c (ieee_write_section_part): Use LMA rather than VMA.
11 (do_with_relocs): Likewise.
12 (do_as_repeat): Likewise.
13 (copy_expression): Likewise.
14
15Fri Oct 25 16:56:40 1996 Ian Lance Taylor <ian@cygnus.com>
16
17 * ieee.c (ieee_write_external_part): Correctly record whether
18 there is an external part.
19
20start-sanitize-v850
21Thu Oct 24 14:32:52 1996 Jeffrey A Law (law@cygnus.com)
22
23 * elf32-v850.c (elf32_v850_bfd_final_link_relocate): Correctly
24 handle tda offsets for sld.w and sst.w instructions.
25 Fix alignment check in sld.w and sst.w tda reloc handling.
26
27end-sanitize-v850
27c7e907
SG
28Thu Oct 24 09:08:47 1996 Stu Grossman (grossman@critters.cygnus.com)
29
30 * aclocal.m4, configure: Set USE_BINARY_FOPEN for *-*-windows.
31
90ffe48b
JL
32start-sanitize-v850
33Wed Oct 23 00:53:16 1996 Jeffrey A Law (law@cygnus.com)
34
35 * elf32-v850.c: Add comments about assumptions about
36 char, short & long sizes.
37 (elf32_v850_bfd_final_link_relocate): Fix sign extension
38 problems for several relocs.
39
40 * elf32-v850.c (elf32_v850_howto_table): Fix typo in
41 R_V850_SDA_OFFSET entry.
42
c0e8bfc0 43end-sanitize-v850
84be2a8f
ILT
44Wed Oct 23 00:20:34 1996 Ian Lance Taylor <ian@cygnus.com>
45
46 * xcofflink.c (bfd_xcoff_import_symbol): Don't allocate ldsym.
47 Store import file index in ldindx.
48 (xcoff_build_ldsyms): Assume that ldsym was not previously
49 allocated. For an imported symbol, copy ldindx into l_ifile.
50
725b96f5
JL
51start-sanitize-v850
52Tue Oct 22 19:20:38 1996 Jeffrey A Law (law@cygnus.com)
53
c322f1b5 54 * elf32-v850.c (elf_v850_howto_table): Fix ordering of
90ffe48b
JL
55 R_V850_ZDA_OFFSET and R_V850_TDA_OFFSET. Fix various
56 fields in R_V850_TDA_OFFSET.
c322f1b5 57 (elf32_v850_bfd_final_link_relocate): Tweak pc-relative
90ffe48b 58 relocs to work more like other relocs. Handle R_V850_TDA_OFFSET
c322f1b5
JL
59 relocations.
60
725b96f5
JL
61 * elf32-v850.c: Include bfdlink.h.
62 (bfd_elf32_v850_reloc): Return an error if we get a reloc
63 we can't handle.
64 (elf32_v850_bfd_final_link_relocate): New function.
65 (v850_elf_relocation_section): Likewise.
66 (elf_backend_relocate_section): Define.
67
68end-sanitize-v850
40c0ea5a
ILT
69Tue Oct 22 17:22:43 1996 Ian Lance Taylor <ian@cygnus.com>
70
71 * binary.c (binary_set_section_contents): Ignore sections which
72 don't have SEC_LOAD and SEC_ALLOC set.
73
9c52f4b2
JL
74Mon Oct 21 12:13:05 1996 Jeffrey A Law (law@cygnus.com)
75
76 * linker.c (_bfd_generic_final_link): Avoid losing static
77 symbols in the .bss section.
78
bd4dd3d0
ILT
79Mon Oct 21 10:54:58 1996 Ian Lance Taylor <ian@cygnus.com>
80
68553b63
ILT
81 * elf32-mips.c (elf_mips_howto_table): Describe R_MIPS_64.
82 (mips32_64bit_reloc): New static function.
83 (mips_reloc_map): Add entry for BFD_RELOC_64.
84 (mips_elf_relocate_section): Handle R_MIPS_64.
85
bd4dd3d0
ILT
86 * linker.c (default_indirect_link_order): Print an error message
87 when attempting to do a relocateable link with different object
88 file formats, rather than calling abort.
89
56910544
DE
90start-sanitize-m32r
91Thu Oct 17 10:43:29 1996 Doug Evans <dje@canuck.cygnus.com>
92
93 * reloc.c (m32r relocs): Rename them.
94 * bfd-in2.h, libbfd.h: Regenerated.
95 * elf32-m32r.c: Update.
96 (m32r_elf_10_pcrel_reloc): New function.
97 (elf_m32r_howto_table, R_M32R_10_PCREL entry): Use it.
98 (elf_m32r_howto_table, R_M32R_24 entry): Fix {src,dst}_masks.
99
100end-sanitize-m32r
e1d98a0a
JL
101Wed Oct 16 11:24:35 1996 Jeffrey A Law (law@cygnus.com)
102
4948949e
JL
103 * linker.c (_bfd_generic_final_link): Set "linker_mark" for
104 all sections that will be included in the output file.
105 (_bfd_generic_link_output_symbols): Discard symbols in sections
106 which are being discarded.
107
108start-sanitize-v850
b6d08fce
JL
109
110 * elf32-v850.c (enum reloc_type): Add R_V850_SDA_OFFSET,
111 R_V850_TDA_OFFSET and R_V850_ZDA_OFFSET.
112 (elf_v850_howto_table): Corresponding changes.
113 (elf_v850_reloc_map): Corresponding changes.
114 * reloc.c: Add additional V850 relocations.
115 * bfd-in2.h, libbfd.h: Rebuilt.
116
e1d98a0a
JL
117 * elf32-v850.c (bfd_elf32_v850_reloc): Mask out bits we
118 no longer want in pc-relative relocs.
119
05f1baaa
JL
120Tue Oct 15 22:17:37 1996 Jeffrey A Law (law@cygnus.com)
121
122 * elf32-v850.c (bfd_elf32_v850_reloc): Don't silently
123 accept a reloc against an undefined sybmol!
124
1336da39
SG
125Tue Oct 15 16:17:28 1996 Stu Grossman (grossman@critters.cygnus.com)
126
127 * elf32-v850.c: Define elf_symbol_leading_char to be '_'.
128
129end-sanitize-v850
c24453fe
ILT
130Tue Oct 15 12:40:41 1996 Ian Lance Taylor <ian@cygnus.com>
131
ede836b9
ILT
132 * VERSION: Bump for new relocation.
133
c24453fe
ILT
134 * hosts/i386bsd.h: If NBPG is not defined, define it as
135 PAGE_SIZE, for recent versions of FreeBSD.
136
e7a50458
ILT
137Mon Oct 14 12:37:26 1996 Ian Lance Taylor <ian@cygnus.com>
138
139 * configure.host: Use `long long' as the 64 bit type on a Solaris
140 host, since both gcc and the SunPRO compilers support it.
141
6b31fd3a
ILT
142Mon Oct 14 11:17:24 1996 Richard Henderson <rth@tamu.edu>
143
144 * reloc.c: Create a new BFD_RELOC_ALPHA_ELF_LITERAL. It was a
145 mistake to have reused the ECOFF LITERAL for ELF since they have
146 different semantics.
147 * elf64-alpha.c (elf_reloc_map): Map from ELF_LITERAL.
148 * bfd-in2.h, libbfd.h: Rebuild.
149
150 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Trap .got
151 section overflow.
152
153 * elf64-alpha.c (elf64_alpha_relocate_section): Do not emit a
154 dynamic relocation for an undefweak symbol when we are building
155 a static executable.
156
f20f2474
SS
157Thu Oct 10 11:15:06 1996 Stan Shebs <shebs@andros.cygnus.com>
158
159 * mpw-make.sed (config.bfd, targmatch.sed): Edit references to
160 point explicitly to srcdir.
161 (targmatch.h): Edit references to point explicitly to objdir.
162
3e222a5a
ILT
163Thu Oct 10 14:14:23 1996 Ian Lance Taylor <ian@cygnus.com>
164
165 * config.bfd: When setting targ_cpu, don't get confused by
166 linux-gnu.
167
81501797
SG
168Tue Oct 8 08:51:19 1996 Stu Grossman (grossman@critters.cygnus.com)
169
170 * configure.host: Add support for windows host (a build done
171 under the Microsoft build environment).
172
fe4ff515
ILT
173Tue Oct 8 11:40:16 1996 Ian Lance Taylor <ian@cygnus.com>
174
1c4794f5
ILT
175 * elflink.h (elf_link_add_object_symbols): If a symbol is a weak
176 definition in a dynamic object, add it to the dynamic symbol table
177 if any dynamic object mentions it. Reverts part of last patch.
178
9d81de19
ILT
179 * sunos.c (struct sunos_link_hash_table): Add got_base field.
180 (sunos_link_hash_table_create): Initialize got_base.
181 (bfd_sunos_size_dynamic_sections): If the .got section is more
182 than 0x1000 bytes, set __GLOBAL_OFFSET_TABLE_ and got_base to
183 0x1000.
184 (sunos_check_dynamic_reloc): Subtract got_base from a base
185 relative relocation.
186
fe4ff515
ILT
187 * elf32-mips.c (elf_mips_isa): New static function.
188 (_bfd_mips_elf_merge_private_bfd_data): Don't warn about linking
189 -mips1 and -mips2 code together, or -mips3 and -mips4 code.
190
1233f74b
ILT
191Mon Oct 7 11:44:17 1996 Ian Lance Taylor <ian@cygnus.com>
192
193 * archive.c (do_slurp_coff_armap): Only treat archive as little
194 endian for i960 COFF.
195
a3d5a706
ILT
196Fri Oct 4 13:49:01 1996 Ian Lance Taylor <ian@cygnus.com>
197
65f56a58
ILT
198 * coffcode.h (coff_compute_section_file_positions): Adjust sofar
199 by the change in size of the section when EXEC_P is not set.
200
a9dd34a9
ILT
201 * coff-m68k.c (coff_rtype_to_howto): Define if not defined.
202 (m68kcoff_rtype_to_howto): New static function.
203 * cf-m68klynx.c (coff_m68k_lynx_rtype_to_howto): Add the section
204 VMA to the addend for a PC relative reloc.
205
05a68c24
ILT
206 * dep-in.sed: Rework backslash loop a bit to avoid bug in sed on
207 HP/UX 10.20.
208 * Makefile.in: Rebuild dependencies.
209
a3d5a706
ILT
210 * dep-in.sed: Remove ../bfd/sysdep.h, since it will appear when
211 som.h is included.
212
c00ae065
JL
213Fri Oct 4 11:41:39 1996 Jeffrey A Law (law@cygnus.com)
214
215 * Makefile.in: Remove explicit dependencies for mn10200 and
216 mn10300 files.
217 (ALL_MACHINE_CFILES): Add cpu-mn10200.c and cpu-mn10300.c.
218 (BFD32_BACKENDS_CFILES): Add elf32-mn10200.c and elf32-mn10300.c
219 (dependencies): Rebuilt.
220
dee99794
ILT
221Thu Oct 3 16:57:51 1996 Ian Lance Taylor <ian@cygnus.com>
222
1d871eb7
ILT
223 * cofflink.c (coff_link_add_symbols): Set obj_coff_keep_syms
224 during this function.
225
6b5af55c
ILT
226 * elflink.c (_bfd_elf_create_linker_section): Only use an existing
227 section if the flags are compatible.
228
dee99794
ILT
229 * configure.in: Add havevecs, and put it in tdefaults.
230 * mpw-config.in: Likewise.
231 * configure: Rebuild.
232 * targmatch.sed: New file; a sed script to build targmatch.h from
233 config.bfd.
234 * config.bfd: Add #if, #endif, and comments for targmatch.h.
235 * targets.c: Include "fnmatch.h".
236 (struct targmatch): Define.
237 (bfd_target_match): Define by including targmatch.h.
238 (bfd_find_target): If the target is not found by name, search for
239 it as a configuration triplet.
240 * Makefile.in: Rebuild dependencies.
241 (BFD32_BACKENDS): Add aout-arm.o, aout-sparcle.o, hp300bsd.o,
242 i386dynix.o, m68k4knetbsd.o, and riscix.o.
243 (BFD32_BACKENDS_CFILES): Add aout-arm.c, aout-sparcle.c,
244 hp300bsd.c, i386dynix.c, m68k4knetbsd.c, and riscix.c.
245 (HFILES): Add targmatch.h. Also, alphabetize and reindent.
246 (CFILES): Remove i386dynix.c and hp300bsd.c.
247 (targmatch.h): New target.
248 (do_clean): Remove targmatch.h.
249
250 * configure.in: Add BFD_NEED_DECLARATION(getenv).
251 * acconfig.h: Add NEED_DECLARATION_GETENV.
252 * configure, config.in: Rebuild.
253 * sysdep.h: If NEED_DECLARATION_GETENV, declare getenv.
254 * aout-adobe.c (aout_adobe_object_p): Don't declare getenv.
255
ae1b99e4
JL
256Thu Oct 3 09:29:09 1996 Jeffrey A Law (law@cygnus.com)
257
258 * cpu-mn10x00.c, elf32-mn10x00: Removed.
259 * cpu-mn10200.c, cpu-mn10300.c: New files.
260 * elf32-mn10200.c, elf32-mn10300.c: New files.
261 * Makefile.in: Break mn10x00 support into two separate
262 configurations, mn10200 and mn10300.
263 * archures.c, config.bfd, configure.in, elf.c, targets.c: Likewise.
264 * bfd-in2.h, configure: Rebuilt.
265
4c7f3fde
JM
266Thu Oct 3 15:38:19 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
267
268 * Makefile.in (do_clean): Move config.log to do_distclean.
269
efc2b064
JL
270Wed Oct 2 21:40:55 1996 Jeffrey A Law (law@cygnus.com)
271
272 * cpu-mn10x00.c, elf32-mn10x00.c: New files.
273 * Makefile.in (ALL_MACHINES): Add cpu-mn10x00.o.
274 (BFD32_BACKENDS): Similarly for elf32-mn10x00.o.
275 (elf32-mn10x00.o): Add dependencies.
276 * archures.c (enum bfd_architecture): Add bfd_arch_mn10x00.
277 (bfd_mn10x00_arch): Declare.
278 (bfd_archures_list): Add bfd_mn10x00_arch.
279 * config.bfd: Add mn10x00-*-*.
280 * configure.in: Add bfd_elf32_mn10x00_vec.
281 * elf.c (prep_headers): Handle bfd_arch_mn10x00.
282 * targets.c (bfd_elf32_mn10x00_vec): Declare.
283 (bfd_target_vector): Add bfd_elf32_mn10x00_vec.
284 * bfd-in2.h, configure: Rebuilt.
285
bf53bd9f
ILT
286Wed Oct 2 15:46:45 1996 Klaus Kaempf <kkaempf@progis.de>
287
288 openVMS/Alpha: Provide filename and case_hack flags via
289 symbol table from gas.
290 Add case_hack code for symbol output from vax/vms.
291 * evax-alpha.c (evax_initialize): Remove filename handling,
292 filename is provided via symbol table.
293 (evax_get_symtab): Use local symbol count when setting up table.
294 * evax-egsd.c (_bfd_evax_slurp_egsd): Print correct name when
295 debugging.
296 (_bfd_evax_write_egsd): Skip file name symbol.
297 * evax-emh.c (get_vms_time_string): Local function now.
298 (_bfd_evax_write_emh): Extract source filename and case_hack flags
299 from symbol table.
300 * evax_write_etir (_bfd_evax_write_etir): Pass all symbol names
301 through _bfd_evax_case_hack_symbol.
302 * evax-misc.c (hash_string, _bfd_evax_case_hack_symbol): New
303 functions.
304 (_bfd_evax_basename): Removed.
305 (_bfd_get_vms_time_string): Moved to evax-emh.c.
306 * evax.h (evax_private_data_struct): Remove filename.
307 (flag_hash_long_names, flag_show_after_trunc,
308 flag_no_hash_mixed_case, vms_name_mapping): New flags for
309 vms_case_hack.
310
263d4a62
ILT
311Wed Oct 2 12:02:02 1996 Ian Lance Taylor <ian@cygnus.com>
312
a0fe6c2d
ILT
313 * freebsd.h (N_GET_MAGIC_NET): Don't use ntohl.
314 (N_GETMID_NET, N_GETFLAG_NET): Likewise.
315 (NO_SWAP_MAGIC): Don't define.
316 (SWAP_MAGIC): Define.
317
263d4a62
ILT
318 * cofflink.c (_bfd_coff_link_input_bfd): Don't crash if there is
319 no hash table entry for a global symbol.
320
161ac690
ILT
321Tue Oct 1 16:14:22 1996 Joel Sherrill <joel@oarcorp.com>
322
323 * config.bfd (mips*-*-rtems*): New target, like mips*-*-elf*.
324
0db6249c
ILT
325Tue Oct 1 12:31:39 1996 Ian Lance Taylor <ian@cygnus.com>
326
8dd53b5c
ILT
327 * cofflink.c (coff_link_add_symbols): Don't override a meaningful
328 symbol type with T_NULL. Warn if symbol type changes. Based on
329 patch from Philippe De Muyter <phdm@labauto1.ulb.ac.be>.
330
0db6249c
ILT
331 * elflink.h (elf_link_add_object_symbols): Only put a symbol from
332 a dynamic object in the dynamic symbol table if it is referenced
333 or defined by a regular object.
334
335start-sanitize-v850
336Fri Sep 27 18:41:07 1996 Stu Grossman (grossman@critters.cygnus.com)
337
338 * elf32-v850.c (bfd_elf32_v850_is_local_label): New function to
339 remove dwarf local labels. Shrinks binaries by a factor of 3!
340
341end-sanitize-v850
342Mon Sep 23 13:33:00 1996 Ian Lance Taylor <ian@cygnus.com>
343
344 * elf32-ppc.c (ppc_elf_add_symbol_hook): Create the .sbss section
345 by hand, rather than by calling bfd_make_section.
346
80675684
DE
347start-sanitize-m32r
348Mon Sep 23 09:23:41 1996 Doug Evans <dje@seba.cygnus.com>
349
350 * reloc.c: Rename m32r relocs.
351 * bfd-in2.h, libbfd.h: Rebuilt.
352 * elf32-m32r.c: Update.
80675684 353
0db6249c 354end-sanitize-m32r
a5a43df1
ILT
355Fri Sep 20 11:43:43 1996 Ian Lance Taylor <ian@cygnus.com>
356
e12ab364
ILT
357 * aoutx.h (aout_link_input_section_ext): When doing a relocateable
358 link, adjust the symbol index of a base relative reloc. Don't
359 change the addend of a PC relative reloc if pcrel_offset is set.
360 * sunos.c (bfd_sunos_size_dynamic_sections): Don't do anything for
361 a relocateable link.
362
a5a43df1
ILT
363 * reloc.c (bfd_perform_relocation): Apply the relocation even if
364 it is zero, in case src_mask matters.
365 (bfd_install_relocation): Likewise.
366
e425358f
ILT
367Thu Sep 19 11:03:06 1996 Ian Lance Taylor <ian@cygnus.com>
368
369 * xcofflink.c (xcoff_link_add_symbols): Always initialize
370 keep_syms.
371 (_bfd_xcoff_bfd_final_link): Don't set target_index
372 to an uninitialized value.
373
7f21c97c
ILT
374Tue Sep 17 14:18:31 1996 Ian Lance Taylor <ian@cygnus.com>
375
376 * coffcode.h (coff_slurp_line_table): Warn about illegal symbol
377 indices, rather than crashing.
378 (coff_slurp_reloc_table): Likewise. Check whether the howto field
379 is NULL.
8d784abe
ILT
380 * coff-sh.c (sh_relocate_section): Check for an illegal symbol
381 index.
7f21c97c 382
9859bc31
ILT
383Mon Sep 16 12:39:36 1996 Ian Lance Taylor <ian@cygnus.com>
384
1153e84b
ILT
385 * coff-arm.c (aoutarm_std_reloc_howto): Change dst_mask for ARM26D
386 reloc to 0.
387 (coff_arm_adjust_symndx): New static function.
388 (coff_adjust_symndx): Define.
389
9859bc31
ILT
390 * srec.c (srec_scan): Accept multiple symbols on a single line.
391 From Pascal Martin <pmartin@alsys.com>.
392
393 * README: New file.
394
f8b82e49
DE
395Fri Sep 13 14:32:42 1996 Doug Evans <dje@canuck.cygnus.com>
396
397 * aoutf1.h (MY_bfd_merge_private_bfd_data): Define.
398 (sunos_merge_private_bfd_data): New function.
399
0a7b8735
ILT
400Fri Sep 13 15:50:57 1996 Ian Lance Taylor <ian@cygnus.com>
401
76d30c3f
ILT
402 * bfd.c (bfd_copy_private_bfd_data): Switch on output BFD rather
403 than input BFD.
404 (bfd_merge_private_bfd_data): Likewise.
405 * section.c (bfd_copy_private_section_data): Likewise.
406 * syms.c (bfd_copy_private_symbol_data): Likewise.
407 * bfd-in2.h: Rebuild.
408 * aout-target.h (MY_bfd_copy_private_section_data): Check that
409 both BFD's are the right flavour.
410 * ecoff.c (_bfd_ecoff_bfd_copy_private_bfd_data): Likewise.
411 * elf.c (_bfd_elf_copy_private_symbol_data): Likewise.
412 * elf32-mips.c (_bfd_mips_elf_copy_private_bfd_data): Likewise.
413 (_bfd_mips_elf_merge_private_bfd_data): Likewise.
414 * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Likewise.
415 (ppc_elf_merge_private_bfd_data): Likewise.
416 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
417 * peicode.h (pe_bfd_copy_private_section_data): Likewise.
418
0a7b8735
ILT
419 * elf32-hppa.c (elf_hppa_howto_table): Fill in some fields for
420 R_PARISC_DIR32, so that _bfd_stab_section_find_nearest_line passes
421 its sanity check.
422
3ebefb07
DE
423start-sanitize-m32r
424Thu Sep 12 11:45:57 1996 Doug Evans <dje@seba.cygnus.com>
425
426 * reloc.c: Add m32r relocs.
427 * bfd-in2.h, libbfd.h: Rebuilt.
6cb9c903 428 * cpu-m32r.c,elf32-m32r.c: New files.
3ebefb07 429
76d30c3f 430end-sanitize-m32r
cacfb845
ILT
431Thu Sep 12 11:10:05 1996 Ian Lance Taylor <ian@cygnus.com>
432
433 * ieee.c (ieee_vec): Set symbol_leading_char field to '_'.
434
d7775b43
ILT
435Wed Sep 11 11:57:56 1996 Ian Lance Taylor <ian@cygnus.com>
436
e461da9b
ILT
437 * tekhex.c (first_phase): Change type parameter from char to int.
438 (out): Likewise.
439 (pass_over): Change func to expect int, not char.
440
d7775b43
ILT
441 * elf.c (assign_file_positions_for_segments): Test SEC_ALLOC
442 rather than SEC_LOAD when aligning the file offset for the first
443 section in a segment.
444
ea3f0585
FF
445Tue Sep 10 16:18:30 1996 Fred Fish <fnf@cygnus.com>
446
447 * syms.c (coff_section_type): Make arg const.
448 * irix-core.c (irix_core_core_file_p): Remove extraneous extra arg
449 to make_bfd_asection().
450 * elf-bfd.h (bfd_section_from_phdr): Add prototype.
451 * elfcode.h (bfd_section_from_phdr): Remove prototype.
452 (_bfd_elf_stringtab_init): Remove prototype.
453
454 * netbsd-core.c (swap_abort): Add prototype.
455 * aix386-core.c (swap_abort): Ditto & make static
456 * hpux-core.c (swap_abort): Ditto & make static.
457 * irix-core.c (swap_abort): Ditto & make static.
458 * ptrace-core.c (swap_abort): Ditto & make static.
459 * trad-core.c (swap_abort): Ditto & make static.
460 * coffswap.h (coff_swap_reloc_in): Ditto.
461 (coff_swap_reloc_out): Ditto.
462 (coff_swap_filehdr_in): Ditto.
463 (coff_swap_filehdr_out): Ditto.
464 (coff_swap_sym_in): Ditto.
465 (coff_swap_sym_out): Ditto.
466 (coff_swap_aux_in): Ditto.
467 (coff_swap_aux_out): Ditto.
468 (coff_swap_lineno_in): Ditto.
469 (coff_swap_lineno_out): Ditto.
470 (coff_swap_aouthdr_in): Ditto.
471 (coff_swap_aouthdr_out): Ditto.
472 (coff_swap_scnhdr_in): Ditto.
473 (coff_swap_scnhdr_out): Ditto.
474 * ihex.c (ihex_sizeof_headers): Ditto.
475 * tekhex.c (getsym): Ditto.
476 (find_chunk): Ditto & make static.
477 (insert_byte): Ditto.
478 (first_phase): Ditto.
479 (pass_over): Ditto.
480 (tekhex_get_symtab): Ditto & make static.
481 (tekhex_get_symtab_upper_bound): Ditto & make static.
482 (tekhex_mkobject): Ditto.
483 (tekhex_object_p): Ditto.
484 (move_section_contents): Ditto.
485 (tekhex_get_section_contents): Ditto.
486 (tekhex_set_arch_mach): Ditto & make static.
487 (tekhex_set_section_contents): Ditto.
488 (writevalue): Ditto.
489 (writesym): Ditto.
490 (out): Ditto.
491 (tekhex_write_object_contents): Ditto.
492 (tekhex_sizeof_headers): Ditto.
493 (tekhex_make_empty_symbol): Ditto.
494 (tekhex_get_symbol_info): Ditto.
495 (tekhex_print_symbol): Ditto.
496 * irix-core.c (make_bfd_asection): Ditto.
497 (irix_core_core_file_p): Ditto.
498 (irix_core_core_file_failing_command): Ditto.
499 (irix_core_core_file_failing_signal): Ditto.
500 (irix_core_core_file_matches_executable_p): Ditto.
501 (irix_core_make_empty_symbol): Ditto.
502 * coff-mips.c (mips_bfd_reloc_type_lookup): Ditto.
503 * srec.c (srec_new_symbol): Ditto.
504 (srec_get_section_contents): Ditto.
505 (srec_set_arch_mach): Ditto.
506 (srec_set_section_contents): Ditto.
507 (internal_srec_write_object_contents): Ditto.
508 (srec_write_object_contents): Ditto.
509 (symbolsrec_write_object_contents): Ditto.
510 (srec_sizeof_headers): Ditto.
511 (srec_make_empty_symbol): Ditto.
512 (srec_get_symtab_upper_bound): Ditto.
513 (srec_get_symtab): Ditto.
514 (srec_print_symbol): Ditto and make static.
515 * elf.c (elf_read): Ditto
516 (assign_section_numbers): Ditto.
517 (elf_fake_sections): Ditto.
518 (sym_is_global): Ditto.
519 (elf_map_symbols): Ditto.
520 (get_program_header_size): Ditto.
521 * coffgen.c (make_a_section_from_file): Ditto.
522 (coff_real_object_p): Ditto.
523 (fixup_symbol_value): Ditto.
524 (build_debug_section): Ditto.
525 (copy_name): Ditto.
526 * syms.c (coff_section_type): Ditto.
527
3ebefb07 528start-sanitize-m32r
00d7a64b
JL
529Mon Sep 9 22:36:01 1996 Jeffrey A Law (law@cygnus.com)
530
531 * bfd-in2.h: Rebuilt after m32r changes.
532
533end-sanitize-m32r
71d7d44f
DE
534Mon Sep 9 12:31:22 1996 Doug Evans <dje@canuck.cygnus.com>
535
66e4c229
DE
536start-sanitize-m32r
537 * config.bfd,configure.in,configure: Add m32r support.
f0c12b73 538 * Makefile.in,archures.c,elf.c,targets.c: Likewise.
66e4c229 539end-sanitize-m32r
71d7d44f
DE
540 * config.bfd: Keep target list alphabetically sorted.
541
629f776a
JL
542start-sanitize-v850
543Mon Sep 9 11:48:41 1996 Jeffrey A Law (law@cygnus.com)
544
545 * elf32-v850.c (bfd_elf32_v850_reloc, case R_V850_HI16): Don't forget
546 to add in the constant part found in the instruction itself.
547 (case R_V850_HI16_S): Likewise.
548
549end-sanitize-v850
9c85b19d
MH
550start-sanitize-d10v
551Fri Sep 6 17:04:39 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
552
553 * elf32-d10v.c (elf_d10v_howto_table): Modify the size of R_D10V_16
554 and R_D10V_18 to be 1 (word).
555
556end-sanitize-d10v
4be2140e
ILT
557Thu Sep 5 15:23:08 1996 Ian Lance Taylor <ian@cygnus.com>
558
559 * stabs.c (_bfd_link_section_stabs): If the output_section field
560 of either section is bfd_abs_section, then the linker is
561 discarding the section and we should not optimize it.
562
0cd98b92
DE
563Tue Sep 3 12:16:20 1996 Doug Evans <dje@canuck.cygnus.com>
564
565 * Makefile.in (aout-sparcle.o): New target.
566 * aoutf1.h (TARGET_IS_BIG_ENDIAN_P): Don't define if little endian.
567 * config.bfd (sparclet-*-aout*): Add case.
568 * configure.in (sparcle_aout_vec): Add case.
569 * configure: Regenerated.
0cd98b92
DE
570 * targets.c (sparcle_aout_vec): Declare.
571 (bfd_target_vector): Add sparcle_aout_vec.
572 * aout-sparcle.c: New file.
573
b5ef63c4 574start-sanitize-v850
7b0af209 575Tue Sep 3 00:57:02 1996 Jeffrey A Law (law@cygnus.com)
b5ef63c4 576
e73b6ae6
JL
577 * elf32-v850.c (bfd_elf32_v850_reloc): Fix handling of
578 low order sign bit propogation for R_V850_HI16_S.
579
580 * elf32-v850.c (bfd_elf32_v850_reloc): New function for
7b0af209
JL
581 handling V850 specific relocs.
582 (elf_v850_howto_table): Use the new function for some
583 relocations. Twiddle masks & shifts for some relocs.
584 Set partial_inplace where needed.
585
586end-sanitize-v850
587Mon Sep 2 12:12:34 1996 Ian Lance Taylor <ian@cygnus.com>
588
589 * cpu-mips.c: Add an explicit mips:3000 entry, and change the
590 default architecture to a machine number of 0.
591 * elf32-mips.c (_bfd_mips_elf_object_p): Set the machine number
592 for E_MIPS_ARCH_1.
593 (_bfd_mips_elf_merge_private_bfd_data): If the machine number of
594 the output BFD is the default, set it from the first input BFD.
595
596start-sanitize-v850
597Sun Sep 1 18:38:01 1996 Jeffrey A Law (law@cygnus.com)
598
599 * elf32-v850.c (elf_v850_howto_table): All the 16bit relocs
600 insert at bitpos zero. The HI16 relocs are shifted right
601 by 16 bits. Fix src_mask for all relocs.
602 (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define. The V850 is
603 little endian!
604 (TARGET_BIG_SYM, TARGET_BIG_NAME): Remove. The V850 is little
605 endian!
b5ef63c4
MA
606
607end-sanitize-v850
bde9d875
ILT
608Sun Sep 1 15:41:08 1996 Ian Lance Taylor <ian@cygnus.com>
609
610 * rs6000-core.c (rs6000coff_core_file_matches_executable_p):
611 Rewrite to use BFD file read routines and to avoid using a fixed
612 length for the file name.
613
01b49cb3 614start-sanitize-v850
237b5c4c
JL
615Sat Aug 31 10:22:25 1996 Jeffrey A Law (law@cygnus.com)
616
617 * elf32-v850.c (enum reloc_type): Add R_V850_{32,16,8}.
618 (elf_v850_howto_table): Add support for R_V850_{32,16,8}.
619 (v850_reloc_map): Add translation from BFD_RELOC_{32,16,8}
620 to R_V850_{32,16,8}.
621
01b49cb3
C
622Fri Aug 30 18:06:04 1996 J.T. Conklin <jtc@hippo.cygnus.com>
623
624 * elf32-v850.c (reloc_type): Add R_V850_HI16_S.
625 (elf_v850_howto_table): Add info for HI16_S reloc.
626 (v850_reloc_map): Add HI_16_S reloc.
627 * reloc.c: Define BFD_RELOC_V850_* relocs.
628
629end-sanitize-v850
492cfc71
ILT
630Fri Aug 30 11:49:19 1996 Ian Lance Taylor <ian@cygnus.com>
631
c86158e5
ILT
632 Add SH ELF support.
633 * elf32-sh.c: New file.
634 * elf.c (prep_headers): Handle bfd_arch_sh.
635 * elfcode.h (write_relocs): Handle absolute symbol.
636 * elf-bfd.h (_bfd_elf32_link_read_relocs): Declare.
637 (_bfd_elf64_link_read_relocs): Declare.
638 * elflink.h (NAME(_bfd_elf,link_read_relocs)): Rename from
639 elf_link_read_relocs. Make globally visible. Change all
640 callers.
641 (elf_link_input_bfd): Get external symbols from cache in
642 symtab_hdr->contents. Get contents from cache in
643 elf_section_data.
644 * elfxx-target.h (bfD_elfNN_bfd_relax_section): Only define if not
645 already defined.
646 * reloc.c: Define BFD_RELOC_SH_* relocs.
647 * libbfd-in.h (_bfd_sh_align_load_span): Declare.
648 * coff-sh.c (sh_insns_conflict): Fix a return value.
649 (_bfd_sh_align_load_span): New globally visible function, broken
650 out of sh_align_load.
651 (sh_align_load): Call _bfd_sh_align_load_span.
652 (sh_swap_insns): Change relocs parameter to PTR.
653 * bfd-in2.h, libbfd.h: Rebuild.
654 * targets.c (bfd_elf32_sh_vec): Declare.
655 (bfd_elf32_shl_vec): Declare.
656 * config.bfd (sh-*-elf*): New target.
657 * configure.in (bfd_elf32_sh_vec): New target vector.
658 (bfd_elf32_shl_vec): New target vector.
659 * configure: Rebuild.
660 * Makefile.in: Rebuild dependencies.
661 (BFD32_BACKENDS): Add elf32-sh.o.
662 (BFD32_BACKENDS_CFILES): Add elf32-sh.c.
663
664 * elf.c (map_sections_to_segments): Check that LMA does not skip a
665 page before checking D_PAGED.
666
492cfc71
ILT
667 * ihex.c (ihex_scan): Removed unnecessary extbase variable.
668 (ihex_write_object_contents): Remove extbase; always use segbase
669 instead.
670
f7954d86
MM
671Thu Aug 29 16:52:17 1996 Michael Meissner <meissner@tiktok.cygnus.com>
672
673 * configure.in (i[345]86-*-*): Recognize i686 for pentium pro.
674 * configure.host (i[345]86-*-*): Ditto.
675 * config.bfd (i[345]86-*-*): Ditto.
676 * configure: Regenerate.
677
678 * config.bfd (i[3456]86-*-dgux*): Recognize as a synonym for x86
679 elf.
680
681Tue Aug 27 09:18:18 1996 Jeffrey A Law (law@cygnus.com)
682
683 * elf32-hppa.c (hppa_elf_gen_reloc_type): Add new argument.
684 * elf32-hppa.h (hppa_elf_gen_reloc_type): Update prototype.
685 * som.c (hppa_som_gen_reloc_type): Add new argument. If
686 we encounter an R_DATA_ONE_SYMBOL reloc against a symbol that
687 will have an ST_CODE type, change the symbol's type to ST_DATA.
688 * som.c (hppa_som_gen_reloc_type): Update prototype.
689
4da624dd
ILT
690Tue Aug 27 00:12:22 1996 Ian Lance Taylor <ian@cygnus.com>
691
692 * elf32-mips.c (mips_elf_check_relocs): Set dynobj if needed for
693 R_MIPS_32 and R_MIPS_REL32. Set sgot and g as soon as possible.
694 (mips_elf_size_dynamic_sections): Don't require .got to exist.
695 (mips_elf_finish_dynamic_sections): Likewise.
696
9461513b
ILT
697Thu Aug 22 10:54:38 1996 Ian Lance Taylor <ian@cygnus.com>
698
1c952df6
ILT
699 * configure.host (HLDENV): New variable to set. Set it for
700 *-*-sysv4*, since those linkers may not support -R but they always
701 support LD_RUN_PATH.
702
9461513b
ILT
703 * libieee.h (NSECTIONS): Don't define.
704 (ieee_data_struct): Change section_table to asection **. Add
705 section_table_size.
706 * ieee.c (get_section_entry): If the table isn't big enough, make
707 it bigger.
708 (ieee_slurp_sections): Remove assertion about number of sections.
709 (ieee_object_p): Adjust initialization of ieee to match changes to
710 the structure.
711
712 * xcofflink.c (xcoff_mark): Don't copy relocs for undefined
713 symbols merely because we are generating a shared library.
714 (xcoff_build_ldsyms): Don't set up global linkage code for an
715 undefined symbol merely because we are generating a shared
716 library.
717
0c1d95c7
C
718start-sanitize-v850
719Tue Aug 20 15:06:05 1996 J.T. Conklin <jtc@hippo.cygnus.com>
720
721 * Makefile.in (ALL_MACHINES): Add cpu-v850.o.
722 (BFD32_BACKENDS) Add elf32-v850.o.
723 * archures.c: Add bfd_v850_arch.
724 * bfd-in2.h: Add bfd_v850_arch.
725 * config.bfd (v850-*-*): New target.
726 * configure: (bfd_elf32_v850_vec) New vector.
727 * configure.in: (bfd_elf32_v850_vec) New vector.
728 * cpu-v850.c: New file.
729 * elf.c (prep_headers): Added case bfd_arch_v850.
730 * elf32-v850.c: New file.
731 * targets.c (bfd_elf32_v850_vec): New vector.
732
733end-sanitize-v850
734Fri Aug 16 16:25:35 1996 Ian Lance Taylor <ian@cygnus.com>
735
736 * xcofflink.c (xcoff_link_add_dynamic_symbols): Create and define
737 a function code symbol for an XMC_XO symbol.
738
22edd547
SS
739Thu Aug 15 12:33:29 1996 Stan Shebs <shebs@andros.cygnus.com>
740
741 * mpw-config.in: Update editing of autoconf vars to reflect
742 Jul 18 configure.in change.
743 * mpw-make.sed: Update editing of include pathnames to be
744 more general, add @DASH_C_FLAG@ to explicit compile rule edit.
745
746Thu Aug 15 10:35:13 1996 Richard Henderson <rth@tamu.edu>
747
748 * elf64-alpha.c (elf64_alpha_output_extsym): The section from
749 which to offset to get the .plt entry address is ".plt".
750
53ef6e60
JSC
751Thu Aug 15 16:40:30 1996 James G. Smith <jsmith@cygnus.co.uk>
752
753 * reloc.c: (BFD_RELOC_ARM_THUMB_ADD, BFD_RELOC_ARM_THUMB_IMM,
754 BFD_RELOC_ARM_THUMB_SHIFT, BFD_RELOC_ARM_THUMB_OFFSET):
755 Added, for internal use by the ARM gas.
756 * libbfd.h: Rebuilt
757 * bfd-in2.h: Rebuilt
758
37d7888d
ILT
759Wed Aug 14 17:02:09 1996 Richard Henderson <rth@tamu.edu>
760
761 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Correct typo
762 in section dynidx start.
763
e38d6d36
ILT
764Tue Aug 13 14:35:38 1996 Ian Lance Taylor <ian@cygnus.com>
765
766 * elf.c (_bfd_elf_make_section_from_shdr): Treat sections whose
767 name begins with .gnu.linkonce as SEC_LINK_ONCE. This is an
768 optimization for g++.
769
ae20860e
MM
770Tue Aug 13 17:04:40 1996 Michael Meissner <meissner@tiktok.cygnus.com>
771
772 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): If one module has
773 the -mrelocatable-lib bit set and the other doesn't, clear the
774 -mrelocatable-lib bit in the header.
775
4596421b
ILT
776Sat Aug 10 22:59:17 1996 Ian Lance Taylor <ian@cygnus.com>
777
778 * elflink.h (elf_link_add_object_symbols): Do not resolve a common
779 symbol against a STT_FUNC symbol in a shared library.
780
f11e3f62
ILT
781Fri Aug 9 12:44:57 1996 Ian Lance Taylor <ian@cygnus.com>
782
410bc61d
ILT
783 * xcofflink.c (xcoff_link_add_dynamic_symbols): If a descriptor
784 symbol is found, automatically define the corresponding function
785 code.
786
d92099f1
ILT
787 * cofflink.c (coff_link_add_symbols): Only set (*sym_hash)->numaux
788 if sym.n_numaux is not zero.
789 (_bfd_coff_link_input_bfd): Permit the symbol and the hash table
790 entry to disagree about the number of aux entries if the symbol
791 has zero.
792
f11e3f62
ILT
793 * elf32-mips.c (mips_elf_check_relocs): Create the .rel.dyn
794 section if it might be needed, not just if info->shared.
795 (mips_elf_adjust_dynamic_symbol): Make room for a null element at
796 the start of .rel.dyn if we are going to use it.
797 (mips_elf_finish_dynamic_sections): Only clear the first element
798 of .rel.dyn if the size is greater than zero.
799
fbc4ed7d
ILT
800Thu Aug 8 16:24:55 1996 Ian Lance Taylor <ian@cygnus.com>
801
b2a05baf
ILT
802 * xcofflink.c (xcoff_link_input_bfd): If we already called the
803 undefined_symbol callback for a symbol, then don't issue any more
804 warnings about loader relocs.
805 (_bfd_ppc_xcoff_relocate_section): Don't do any further processing
806 after calling the undefined_symbol callback.
807
fbc4ed7d
ILT
808 * xcofflink.c (XCOFF_MULTIPLY_DEFINED): Define.
809 (xcoff_link_add_symbols): Permit multiple definitions of a symbol
810 as the AIX linker seems to do.
811
8612a388
ILT
812Thu Aug 8 12:21:56 1996 Klaus Kaempf <kkaempf@progis.de>
813
814 * evax-alpha.c (evax_alpha_vec): Corrected flags, cleanup.
815 (evax_initialize): Remove evax_reloc_table.
816 (evax_close_and_cleanup): Ditto.
817 (reloc_nil): Ditto.
818 (alpha_howto_table): Remove ALPHA_R_SWREL32 and ALPHA_R_SWREL64
819 entries.
820 (evax_bfd_reloc_type_lookup): Ditto.
821 * evax-egsd.c (_bfd_evax_slurp_egsd): Add a few casts; set
822 cooked_size == raw_size.
823 * evax-emh.c (_bfd_evax_register_filename): Remove.
824 * evax-etir.c (etir_stc): Allow ETIR_S_C_STC_xx commands.
825 * evax-misc.c (add_new_contents): Malloc section at full size.
826 (_bfd_save_evax_section): Memcpy section contents directly.
827 * evax.h (ALPHA_R_SWREL32, ALPHA_R_SWREL64): Remove.
828 (evax_reloc_table): Remove.
829
830 * hosts/alphavms.h (O_ACCMODE): Define if needed.
831
832 * makefile.vms: Add better support for DEC C compilation
833 Add evax.h dependencies
834
835 * reloc.c (bfd_get_reloc_size): Add case for 16 byte reloc.
836 (BFD_RELOC_SWREL32,BFD_RELOC_SWREL64): Remove.
837 (BFD_RELOC_ALPHA_BASEREG): Remove.
838 * bfd-in2.h, libbfd.h: Rebuild.
839
320a5c6b
SG
840Thu Aug 8 08:17:32 1996 Stu Grossman (grossman@critters.cygnus.com)
841
842 * archive.c (bsd_write_armap): Ifdef around calls to getuid and
843 getgid if _WIN32 is defined.
844 * opncls.c (bfd_fdopenr): Remove unnecessary WINGDB ifdef.
845
2055bf85
SG
846Wed Aug 7 23:19:00 1996 Stu Grossman (grossman@critters.cygnus.com)
847
848 * aoutx.h bfd-in.h bfd-in2.h opncls.c riscix.c som.c targets.c:
849 Change NO_FLAGS to BFD_NO_FLAGS to avoid conflict with an HPUX
850 include file.
851 * libbfd.c: Create dummy getpagesize() macro if HAVE_GETPAGESIZE
852 isn't defined.
853
85fe9d3e
ILT
854Wed Aug 7 14:11:44 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
855
856 * configure.in: Call BFD_NEEDED_DECLARATION on strstr and
857 realloc.
858 * acconfig.h (NEED_DECLARATION_STRSTR): New macro.
859 (NEED_DECLARATION_REALLOC): New macro.
860 * configure, config.in: Rebuild.
861 * sysdep.h (strstr): Declare if NEED_DECLARATION_STRSTR.
862 (realloc): Declare if NEED_DECLARATION_REALLOC.
863
864 * aclocal.m4 (BFD_NEED_DECLARATION): Include <string.h> or
865 <strings.h> if they exist.
866
867 * ieee.c (ieee_set_section_contents): Cast bfd_alloc return.
868
9b3307b0
ILT
869Wed Aug 7 12:12:03 1996 Ian Lance Taylor <ian@cygnus.com>
870
cc425b55
ILT
871 * cpu-i386.c (i8086_arch): Architecture info for the i8086.
872
9b3307b0
ILT
873 Based on patches from Eric Valette <valette@crf.canon.fr>:
874 * elf32-i386.c (enum reloc_type): Add FIRST_INVALID_RELOC,
875 LAST_INVALID_RELOC, R_386_16, R_386_PC16, R_386_8, R_386_PC8.
876 (elf_howto_table): Add entries for new relocs.
877 (elf_i386_reloc_type_lookup): Handle new relocs.
878 (elf_i386_info_to_howto): Just call abort.
879 (elf_i386_info_to_howto_rel): Check that the reloc type is valid.
880 (elf_i386_relocate_section): Likewise.
881
75e3a45a
MH
882start-sanitize-d10v
883Tue Aug 6 12:54:56 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
884
885 * elf32-d10v.c (elf_d10v_howto_table): Added R_D10V_32.
886
887end-sanitize-d10v
191d910c
ILT
888Mon Aug 5 13:42:41 1996 Ian Lance Taylor <ian@cygnus.com>
889
b944e7e8
ILT
890 * elf.c (_bfd_elf_make_section_from_shdr): For a loadable section,
891 only get the LMA from the phdr if they are in the same part of the
892 file.
893
191d910c
ILT
894 * elf.c (map_sections_to_segments): Rewrite tests for starting a
895 new segment to make them more comprehensible. If the relationship
896 between the LMA and the VMA changed, start a new segment. Don't
897 check dynsec when deciding whether to start a new segment for a
898 writeable section; -N will now handle this.
899
e751d506
JL
900Thu Aug 1 22:43:08 1996 Jeffrey A Law (law@cygnus.com)
901
902 * libhppa.h: Remove "esel" changes. Not the right approach.
903 * som.c: Corresponding changes.
904 (som_bfd_derive_misc_symbol_info): Use ST_DATA for symbols
905 which don't have a SOM symbol type associated with them.
906 Reverses a 1994 change.
907
cdb88e87
ILT
908Wed Jul 31 15:50:55 1996 Ian Lance Taylor <ian@cygnus.com>
909
910 Make ld -N more reasonable for ELF:
911 * elf.c (map_sections_to_segments): If D_PAGED is not set, set
912 phdr_in_section to false, and always use a single load segment.
913 (elf_sort_sections): Sort sections by LMA after VMA.
914 (assign_file_positions_for_segments): If D_PAGED is not set, don't
915 align to maxpagesize.
916 (assign_file_positions_except_relocs): Likewise.
917 * elfcode.h (elf_object_p): If a section is loaded but not page
918 aligned, clear D_PAGED.
919
d1b40d8e
JSC
920Wed Jul 31 15:00:12 1996 James G. Smith <jsmith@cygnus.co.uk>
921
922 * reloc.c: (BFD_RELOC_ARM_OFFSETIMM8, BFD_RELOC_ARM_HWLITERAL):
923 Added, for internal use by the ARM gas.
924 * libbfd.h: Rebuilt
925 * bfd-in2.h: Rebuilt
926
ad240a82
JL
927Tue Jul 30 14:14:57 1996 Jeffrey A Law (law@cygnus.com)
928
929 * libhppa.h (R_HPPA_ESEL): New field selector.
930 (e_esel): Similarly.
931 * som.c (hppa_som_gen_reloc_type): If we encounter an e_esel,
932 then generate R_COMP2 (PUSH_SYM), R_DATA_EXPR fixup stream.
933 (som_write_fixups): Handle R_DATA_EXPR just like R_CODE_EXPR.
934
fb4dc1eb
ILT
935Tue Jul 30 13:31:27 1996 Ian Lance Taylor <ian@cygnus.com>
936
937 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Do the regular
938 archive search before looking for stripped dynamic objects.
939
b223f950
ILT
940Fri Jul 26 17:51:39 1996 Ian Lance Taylor <ian@cygnus.com>
941
942 * xcofflink.c (xcoff_build_ldsyms): Make exporting an undefined
943 symbol a warning rather than an error.
944
64f808f9
ILT
945Wed Jul 24 12:02:53 1996 Ian Lance Taylor <ian@cygnus.com>
946
947 * elf.c (assign_file_positions_for_segments): Track the virtual
948 memory position separately from the file position, and use it to
949 compute the alignment adjustment.
950
11609502
MH
951start-sanitize-d10v
952Tue Jul 23 10:43:31 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
953
954 * elf32-d10v.c (elf_d10v_howto_table): Changed all relocs to "long"
955 and fixed mask on R_D10V_10_PCREL_L.
956
957end-sanitize-d10v
9bd65136
ILT
958Mon Jul 22 15:30:30 1996 Ian Lance Taylor <ian@cygnus.com>
959
bf9884d4
ILT
960 * elf64-mips.c: Include "aout/ar.h".
961 (mips_elf64_slurp_armap): New static function.
962 (mips_elf64_write_armap): New static function.
963 (bfd_elf64_archive_*): Define.
964 * elfxx-target.h (bfd_elfNN_archive_p): Define if not defined.
965 Use instead of bfd_generic_archive_p.
966 (bfd_elfNN_write_archive_contents): Define if not defined. Use
967 instead of _bfd_write_archive_contents.
968 (bfd_elfNN_mkdarchive): Define if not defined. Use instead of
969 _bfd_generic_mkarchive.
970 (TARGET_BIG_SYM): If bfd_elfNN_archive_functions is defined, use
971 bfd_elfNN_archive in BFD_JUMP_TABLE_ARCHIVE rather than
972 _bfd_archive_coff.
973 (TARGET_LITTLE_SYM): Likewise.
974 * archive.c (bfd_slurp_armap): Check for and reject an archive map
975 name of /SYM64/.
976 * Makefile.in: Rebuild dependencies.
977
978 * elf32-mips.c (_bfd_mips_elf_final_write_processing): Handle
979 SHT_MIPS_LIBLIST, SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and
980 SHT_MIPS_EVENTS sections.
981 (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_IFACE,
982 SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and SHT_MIPS_EVENTS
983 sections.
984 (_bfd_mips_elf_fake_sections): Likewise.
985
9bd65136
ILT
986 * libecoff.h (ecoff_data_type): Add rdata_in_text field.
987 * ecoff.c (ecoff_compute_section_file_positions): Copy
988 rdata_in_text from backend info to tdata. Clear it if any data
989 section comes before .rdata.
990 (_bfd_ecoff_write_object_contents): Use rdata_in_text field in
991 tdata rather than backend info.
992
194141a9
ILT
993Fri Jul 19 18:15:51 1996 Ian Lance Taylor <ian@cygnus.com>
994
995 * configure.in: Fix test for whether a compiler has a 64 bit
996 type. From Jim Wilson <wilson@cygnus.com>.
997
a8a3d83a
ILT
998Thu Jul 18 15:39:10 1996 Ian Lance Taylor <ian@cygnus.com>
999
f4e14cb9
ILT
1000 * configure.host (mips-sgi-irix6*): New host.
1001
1002 * configure.in: Set and substitute VERSION, BFD_HOST_64BIT_LONG
1003 (replacing HOST_64BITLONG), BFD_HOST_64_BIT_DEFINED,
1004 BFD_HOST_64_BIT, and BFD_HOST_U_64_BIT. Add bfd-in2.h:bfd-in2.h
1005 to AC_OUTPUT call.
1006 * configure: Rebuild.
1007 * bfd-in.h (BFD_ARCH_SIZE): Define as @wordsize@, not @WORDSIZE@.
1008 (BFD_HOST_64_BIT): Define conditionally.
1009 (BFD_HOST_U_64_BIT): Define when BFD_HOST_64_BIT is defined.
1010 (bfd_vma): Typedef as BFD_HOST_U_64_BIT.
1011 (symvalue, bfd_size_type): Likewise.
1012 * bfd-in2.h: Rebuild.
1013 * Makefile.in (do_clean): Remove bfd-tmp.h.
1014 (do_distclean): Remove bfd-in3.h.
1015 (stmp-bfd.h): Just do copy-if-change bfd-in3.h bfd.h.
1016 (bfd-in3.h): New target.
1017
74556b94
ILT
1018 * config.bfd (sparc-*-sysv4*): Don't build sunos_big_vec. From
1019 Andrew Gierth <ANDREWG@microlise.co.uk>.
1020
ab659fd6
ILT
1021 * configure.host: Set INSTALL_SHLIB.
1022 * configure.in: Call AC_SUBST (INSTALL_SHLIB).
1023 * configure: Rebuild.
1024 * Makefile.in (install): Use @INSTALL_SHLIB@.
1025
e8c249cb
ILT
1026 * config.bfd (mips*-*-irix6*): New target.
1027 * configure.host: Handle Irix 6 shared library like Irix 5.
1028
a8a3d83a
ILT
1029 * xcofflink.c (xcoff_link_add_symbols): Don't check an XMC_TD
1030 symbol for a magic name.
1031 (xcoff_link_input_bfd): Don't change the reloc symbol for an
1032 XMC_TD symbol.
1033 (_bfd_ppc_xcoff_relocate_section): Don't get the TOC offset for an
1034 XMC_TD symbol.
1035
b576c7b3
SS
1036Thu Jul 18 11:36:31 1996 Stan Shebs <shebs@andros.cygnus.com>
1037
1038 * mpw-config.in: Add ELF support to mips config, create the
1039 elf32-target.h file in the object dir.
1040 * mpw-make.sed: Edit elfXX-target.h refs at beginnings of lines.
1041
2ba0d82d
KK
1042Wed Jul 17 18:02:32 1996 Kim Knuttila <krk@cygnus.com>
1043
1044 * coff-ppc.c: Redid debug scheme - numerous fprintf's gone.
1045 Also removed most abort calls, in favor of using bfd reporting.
1046
50bd50d4 1047start-sanitize-d10v
b576c7b3 1048Wed Jul 17 14:51:52 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
50bd50d4 1049
b576c7b3
SS
1050 * Makefile.in (ALL_MACHINES): Add cpu-d10v.o.
1051 (BFD32_BACKENDS) Add elf32-d10v.o.
50bd50d4
MH
1052 * archures.c: Add bfd_d10v_arch.
1053 * bfd-in2.h: Add bfd_d10v_arch.
1054 * config.bfd (d10v-*-*): New target.
1055 * configure: (bfd_elf32_d10v_vec) New vector.
1056 * configure.in: (bfd_elf32_d10v_vec) New vector.
1057 * cpu-d10v.c: New file.
1058 * elf.c (prep_headers): Added case bfd_arch_d10v.
1059 * elf32-d10v.c: New file.
1060 * libbfd.h: Rebuild.
b576c7b3
SS
1061 * reloc.c (BFD_RELOC_D10V_10_PCREL_R, BFD_RELOC_D10V_10_PCREL_L,
1062 BFD_RELOC_D10V_18, BFD_RELOC_D10V_18_PCREL): Define.
50bd50d4
MH
1063 * targets.c (bfd_elf32_d10v_vec): New vector.
1064end-sanitize-d10v
1065
2ce9802e
KK
1066Wed Jul 17 10:58:55 1996 Kim Knuttila <krk@cygnus.com>
1067
1068 * coff-ppc.c (coff_ppc_relocate_section): Removed bogus fprintf
1069
9676e446 1070Tue Jul 16 23:49:02 1996 Stu Grossman (grossman@critters.cygnus.com)
3cc21bf6 1071
9676e446
SG
1072 * archures.c bfd-in2.h: Add bfd_mach_i386_i386 and
1073 bfd_mach_i386_i8086 machine types.
3cc21bf6 1074
f7171978
ILT
1075Wed Jul 10 12:42:56 1996 Ian Lance Taylor <ian@cygnus.com>
1076
1077 * ecoff.c (_bfd_ecoff_new_section_hook): Set SEC_CODE for _INIT
1078 and _FINI sections.
1079
74e2ab38
ILT
1080Wed Jul 10 11:18:21 1996 Richard Henderson <rth@tamu.edu>
1081
1082 * coffcode.h (coff_set_section_contents): A/UX does not require
1083 special handling of the _LIB section.
1084
01cfaa6b
JL
1085Tue Jul 9 15:52:20 1996 Jeffrey A Law (law@cygnus.com)
1086
1087 * coff-h8300.c (h8300_reloc16_extra_cases): Use the correct
1088 value for R_RELBYTE.
1089
1090 * reloc16.c (bfd_coff_reloc16_relax_section): Only "shrinks"
1091 array if one was allocated.
1092
eb52b9dc
ILT
1093Tue Jul 9 12:21:54 1996 Ian Lance Taylor <ian@cygnus.com>
1094
1095 From Kazumoto Kojima <kkojima@kk.info.kanagawa-u.ac.jp>:
1096 * elf32-mips.c (struct mips_elf_link_hash_table): Add new fields
1097 use_rld_obj_head and rld_value.
1098 (mips_elf_link_hash_table_create): Initialize new fields.
1099 (mips_elf_add_symbol_hook): Mark __rld_obj_head symbol as
1100 dynamic.
1101 (mips_elf_create_dynamic_sections): Create .rld_map section. If
1102 __rld_obj_head symbol not seen, create an __rld_map symbol.
1103 (mips_elf_size_dynamic_sections): Make space in .rld_map section.
1104 Create a DT_MIPS_RLD_MAP entry rather than a DT_DEBUG entry.
1105 (mips_elf_finish_dynamic_symbol): Save value of __rld_map or
1106 __rld_obj_head symbol.
1107 (mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP.
1108
56b4cbaa
ILT
1109Mon Jul 8 16:18:03 1996 Ian Lance Taylor <ian@cygnus.com>
1110
9b292d4c
ILT
1111 * elf32-mips.c (mips_reloc_map): Remove BFD_RELOC_32_PCREL entry.
1112
dab45734
ILT
1113 * elf32-ppc.c (ppc_elf_howto_raw): For R_PPC_ADDR16_HA, use
1114 ppc_elf_addr16_ha_reloc.
1115 (ppc_elf_addr16_ha_reloc): New static function.
1116
56b4cbaa
ILT
1117 * coff-mips.c (struct mips_hi): Define.
1118 (mips_refhi_list): New static variable.
1119 (mips_refhi_addr, mips_refhi_addend): Remove.
1120 (mips_refhi_reloc): Maintain a list of unmatched REFHI relocs.
1121 (mips_reflo_reloc): Process mips_refhi_list.
1122 (mips_relhi_list): New static variable.
1123 (mips_relhi_addr, mips_relhi_addend): Remove.
1124 (mips_relhi_reloc): Maintain a list of unmatched RELHI relocs.
1125 (mips_rello_reloc): Process mips_relhi_list.
1126 (mips_relocate_section): Permit an arbitrary number of REFHI or
1127 RELHI relocs before the associated REFLO or RELLO reloc.
1128
b777c6a7
ILT
1129Fri Jul 5 19:27:49 1996 Ian Lance Taylor <ian@cygnus.com>
1130
1131 * aout-target.h (MY(callback)): Set reloc_count fields.
1132
100b65dd
ILT
1133Thu Jul 4 12:00:37 1996 Ian Lance Taylor <ian@cygnus.com>
1134
48f3aaf3
ILT
1135 * sunos.c (sunos_add_dynamic_symbols): Don't create dynamic
1136 sections unless this is a SunOS link.
1137
100b65dd
ILT
1138 * VERSION: Set to 2.7.1.
1139
1140 * Released binutils 2.7.
1141
a31e14f4
ILT
1142Wed Jul 3 14:59:47 1996 Ian Lance Taylor <ian@cygnus.com>
1143
4d3daf4f
ILT
1144 * i386aout.c: Include "aout/aout64.h".
1145 (i386aout_write_object_contents): New static function.
1146 (MY_write_object_contents): Define.
1147
a31e14f4
ILT
1148 * netbsd.h (MY(write_object_contents)): Make sure that
1149 adjust_sizes_and_vmas is called before fiddling with the magic
1150 number.
1151
d2d04f7a
ILT
1152Tue Jul 2 23:30:39 1996 Ian Lance Taylor <ian@cygnus.com>
1153
1154 * stabs.c (_bfd_link_section_stabs): Fix casts of psinfo.
1155
4f6ee760
ILT
1156Sun Jun 30 13:34:33 1996 Ian Lance Taylor <ian@cygnus.com>
1157
1158 * libbfd-in.h (itos, stoi): Don't define.
1159 * libbfd.h: Rebuild.
1160 * i386lynx.c (KEEPIT): Define as udata.i.
1161 (NAME(lynx,swap_std_reloc_out)): Don't use stoi.
1162 (NAME(lynx,swap_ext_reloc_out)): Likewise.
1163 * riscix.c (riscix_swap_std_reloc_out): Use udata.i rather than
1164 flags. Don't use stoi.
1165
1166 * elf32-mips.c (ELF_MAGPAGESIZE): Change definition to 0x1000.
1167
1168 * elf.c (map_sections_to_segments): Don't start a new segment for
1169 a writable section if it's on the same page as the previous
1170 segment. Reset the writable variable for a readonly section.
1171
dfb89b82
KK
1172Sat Jun 29 16:18:51 1996 Kim Knuttila <krk@cygnus.com>
1173
1174 * peicode.h (coff_swap_aouthdr_in): Missing initializations of
1175 first_thunk_address, thunk_size, and import_table_size.
1176 * peicode.h: Improved some diagnostics regarding edata sections.
1177
1178 * coff-ppc.c (coff_ppc_relocate_section): Earlier error check
1179 on IMGLUE relocs.
1180 (coff_ppc_relocate_section): Improved diagnostic for large TOCDEFN's.
1181 (TARGET_LITTLE_SYM): Added missing D_PAGED.
1182
8e80606f
ILT
1183Fri Jun 28 13:48:45 1996 Ian Lance Taylor <ian@cygnus.com>
1184
f93fb275
ILT
1185 * xcofflink.c (xcoff_link_check_ar_symbols): An undefined symbol
1186 with XCOFF_DEF_DYNAMIC set is really defined.
1187 (xcoff_link_check_dynamic_ar_symbols): Likewise.
1188 (xcoff_link_add_symbols): Only create special sections if using an
1189 XCOFF hash table.
1190
8e80606f
ILT
1191 * reloc.c (bfd_perform_relocation): Handle xcoff-powermac like
1192 aixcoff-rs6000.
1193 (bfd_install_relocation): Likewise.
1194
eec2f824
ILT
1195Fri Jun 28 11:17:00 1996 Richard Henderson <rth@tamu.edu>
1196
1197 * elf64-alpha.c (struct alpha_elf_link_hash_entry): Add flags
1198 field.
1199 (ALPHA_ELF_LINK_HASH_LU_ADDR): Define.
1200 (ALPHA_ELF_LINK_HASH_LU_MEM): Define.
1201 (ALPHA_ELF_LINK_HASH_LU_FUNC): Define.
1202 (elf64_alpha_link_hash_newfunc): Initialize flags field.
1203 (elf64_alpha_check_relocs): Record types of LITUSE entries that
1204 are found for LITERAL relocs.
1205 (elf64_alpha_adjust_dynamic_symbol): If a symbol has its address
1206 taken, we cannot generate a .plt entry for the symbol.
1207
5304aea9
ILT
1208Thu Jun 27 11:24:29 1996 Ian Lance Taylor <ian@cygnus.com>
1209
1210 * configure.in: Add AC_ISC_POSIX, and check for setitimer and
1211 sysconf functions (for gprof).
1212 * configure, config.in: Rebuild.
1213
017047d4
ILT
1214Wed Jun 26 16:29:02 1996 Ian Lance Taylor <ian@cygnus.com>
1215
f292bbe9
ILT
1216 * ecoff.c (_bfd_ecoff_archive_p): Check the first object file in
1217 an archive if it has a map. If the object file has the wrong
1218 xvec, reject it.
1219
566e2325
ILT
1220 * coff-alpha.c (alpha_adjust_reloc_in): Set the addend for a
1221 BRADDR, SREL16, SREL32, or SREL64 reloc against an external
1222 symbol.
1223 (alpha_relocate_section): Likewise.
1224
017047d4
ILT
1225 * coffswap.h (coff_swap_reloc_out): Use RELSZ, not sizeof.
1226 (coff_swap_filehdr_out): Use FILHSZ, not sizeof.
1227 (coff_swap_sym_out): Use SYMESZ, not sizeof.
1228 (coff_swap_aux_out): Use AUXESZ, not sizeof.
1229 (coff_swap_lineno_out): Use LINESZ, not sizeof.
1230 (coff_swap_aouthdr_out): Use AOUTSZ, not sizeof.
1231 (coff_swap_scnhdr_out): Use SCNHSZ, not sizeof.
1232 * peicode.h: Corresponding changes.
1233
cb73f5d7
MM
1234Tue Jun 25 15:28:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1235
1236 * elflink.h (elf_create_pointer_linker_section): Comment out code
1237 dealing with making GOT pointers negative of the GOT symbol for
1238 now.
1239
297a4f1a
ILT
1240Tue Jun 25 11:41:24 1996 Richard Henderson <rth@tamu.edu>
1241
1242 * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
1243 increment the .rela.plt size until after we're done creating the
1244 .plt entry.
1245 (elf64_alpha_finish_dynamic_symbol): Change .plt entry to load the
1246 .rela.plt offset directly rather than calculating it.
1247
dbbfec07
JM
1248Mon Jun 24 17:15:10 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
1249
01e58ff6
JM
1250 * Makefile.in, (bindir, libdir, datadir, mandir, infodir, includedir):
1251 Use autoconf-set values.
1252 * doc/Makefile.in (bindir, libdir, datadir, mandir, infodir,
1253 includedir, INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set
1254 values.
dbbfec07
JM
1255 (docdir): Deleted.
1256 * configure.in (AC_PREREQ): autoconf v2.5 or higher.
1257 * configure: Rebuilt.
1258
50004d8d
JL
1259Mon Jun 24 22:50:35 1996 Jeffrey A Law (law@cygnus.com)
1260
1261 * som.c (som_write_fixups): Fix typo in R_END_TRY for exception
1262 handling code > 1k away.
1263
1264Mon Jun 24 18:41:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1265
1266 * elflink.h (elf_create_pointer_linker_section): If DEBUG is
1267 defined, output whenever the symbol is updated.
1268
2e0567eb
ILT
1269Mon Jun 24 17:58:12 1996 Jouke Numan <jnuman@bazis.nl>
1270
1271 * elf.c (elf_fake_sections): Don't set sh_addr of a non SEC_ALLOC
1272 section to 0 if user_set_vma is set.
1273 * elflink.h (elf_bfd_final_link): Likewise.
1274
1275Sun Jun 23 20:42:51 1996 Doug Evans <dje@canuck.cygnus.com>
1276
1277 Partially undo patch of Jun 20.
1278 * coffcode.h (coff_set_alignment_hook): Use COFF_IMAGE_WITH_PE.
1279 (coff_compute_section_file_positions): Likewise.
1280 (coff_write_object_contents): Likewise. Re-add deleted code, but
1281 use #ifdef COFF_WITH_PE, not COFF_OBJ_WITH_PE.
1282 * peicode.h (pe_bfd_copy_private_bfd_data): Re-add #ifdef.
1283
bff4a496
ILT
1284Fri Jun 21 17:38:15 1996 Joel Sherrill <joel@merlin.gcs.redstone.army.mil>
1285
1286 * config.bfd: Add support for *-*-rtems* configurations.
1287
7ae6550f
ILT
1288Fri Jun 21 15:19:59 1996 Ian Lance Taylor <ian@cygnus.com>
1289
1290 * elf.c (prep_headers): Add bfd_arch_alpha case.
1291
e8f46717
ILT
1292Fri Jun 21 12:35:27 1996 Richard Henderson <rth@tamu.edu>
1293
1294 * elf64-alpha.c: New file.
1295 * config.bfd (alpha-*-linuxecoff*): New target.
1296 (alpha-*-linux*, alpha-*-elf*): New targets.
1297 * configure.in (bfd_elf64_alpha_vec): New vector.
1298 * configure: Rebuild.
1299 * targets.c (bfd_elf64_alpha_vec): Declare.
1300 (bfd_target_vector): Add bfd_elf64_alpha_vec if BFD64.
1301 * reloc.c (BFD_RELOC_ALPHA_GPDISP): Define.
1302 * bfd-in2.h, libbfd.h: Rebuild.
1303 * Makefile.in: Rebuild dependencies.
1304 (BFD64_BACKENDS): Add elf64-alpha.o.
1305 (BFD64_BACKENDS_CFILES): Add elf64-alpha.c.
1306
bacecac8
ILT
1307Thu Jun 20 18:14:25 1996 Ian Lance Taylor <ian@cygnus.com>
1308
1309 * ecoff.c (ecoff_armap_hash): If hlog is 0, just return 0, rather
1310 than relying on a right shift of 32.
1311
9ca108cd
DE
1312Thu Jun 20 11:00:57 1996 Doug Evans <dje@canuck.cygnus.com>
1313
b9110a3c
DE
1314 * coffcode.h (coff_set_alignment_hook): Change COFF_IMAGE_WITH_PE
1315 ifdef to COFF_WITH_PE.
1316 (coff_compute_section_file_positions): Likewise.
1317 (coff_write_object_contents): Likewise. Delete COFF_OBJ_WITH_PE.
1318 * pe-{arm,i386,ppc}.c (COFF_OBJ_WITH_PE): Delete.
1319 * peicode.h (pe_bfd_copy_private_bfd_data): Delete ifdef
1320 COFF_IMAGE_WITH_PE, always include.
1321
9ca108cd
DE
1322 * peicode.h (coff_swap_scnhdr_out): ".drectve" doesn't have trailing 0.
1323
c2073f05
ILT
1324Wed Jun 19 11:37:52 1996 Ian Lance Taylor <ian@cygnus.com>
1325
7fc6a16a
ILT
1326 * elf.c (map_sections_to_segments): Fix up the test for -Ttext to
1327 approximate the correct answer if SIZEOF_HEADERS was not used.
1328
c2073f05
ILT
1329 * binary.c (binary_set_section_contents): Set section file
1330 position based on LMA rather than VMA.
1331
4838929e
ILT
1332Wed Jun 19 11:19:25 1996 Manfred Hollstein KS/EIC5 60/3/142 #40283 <manfred@lts.sel.alcatel.de>
1333
1334 * linker.c (_bfd_generic_link_output_symbols): Don't output any
1335 symbols if info->strip == strip_all.
1336
1337Tue Jun 18 15:17:36 1996 Jeffrey A. Law <law@rtl.cygnus.com>
1338
1339 * coff-h8300.c: Remove #if 0 code.
1340 (compatable): Don't allow mixing/matching of different architectures.
1341
4838929e
ILT
1342 * archures.c (bfd_mach_h8300s): Add.
1343 * bfd-in2.h: Rebuilt.
1344 * coff-h8300.c (funcvec_hash_newfunc): Handle H8/S too.
1345 (BADMAG): Likewise.
1346 (h8300_reloc16_estimate): Likewise.
1347 (h8300_reloc16_extra_cases): Likewise.
1348 (h8300_bfd_link_add_symbols): Likewise.
1349 * coffcode.h (coff_set_arch_mach_hook): Likewise.
1350 (coff_set_flags): Likewise.
1351 * cpu-h8300.c (h8300_scan): Likewise.
1352 Add H8/S to bfd_h8300_arch list.
1353
c3d8e071
ILT
1354Tue Jun 18 14:42:58 1996 Klaus Kaempf <kkaempf@progis.de>
1355
1356 Added support for Alpha OpenVMS:
1357 * evax.h, evax-alpha.c, evax-egsd.c, evax-emh.c: New files.
1358 * evax-etir.c, evax-misc.c, hosts/alphavms.h: New files.
1359 * config.h-vms, makefile.vms: New files.
1360 * config.bfd (alpha-*-*vms*): New target.
1361 * configure.in (evax_alpha_vec): New target vector.
1362 * configure: Rebuild.
1363 * reloc.c (BFD_RELOC_SWREL32, BFD_RELOC_SWREL64): Define.
1364 (BFD_RELOC_ALPHA_LINKAGE, BFD_RELOC_ALPHA_BASEREG): Define.
1365 * targets.c (bfd_target_evax_flavour): Define.
1366 (evax_alpha_vec): Declare.
1367 (bfd_target_vector): Add ecoffalpha_little_vec and evax_alpha_vec
1368 if BFD64 is defined.
1369 * bfd-in2.h, libbfd.h: Rebuild.
1370 * Makefile.in: Rebuild dependencies.
1371 (BFD64_BACKENDS): Add evax-alpha.o, evax-egsd.o, evax-etir.o,
1372 evax-emh.o, and evax-misc.o.
1373 (BFD64_BACKENDS_CFILES): Add evax-alpha.c, evax-egsd.c,
1374 evax-etir.c, evax-emh.c, and evax-misc.c.
1375 (HFILES): Add evax.h.
1376
142aa7d9
ILT
1377Tue Jun 18 13:54:18 1996 Ian Lance Taylor <ian@cygnus.com>
1378
1379 * coff-h8300.c (h8300_reloc16_extra_cases): Make name a const
1380 pointer.
1381 (h8300_bfd_link_add_symbols): Likewise.
1382
b658d64d
JL
1383Mon Jun 17 10:06:50 1996 Jeffrey A. Law <law@rtl.cygnus.com>
1384
1385 * som.h (R_HPPA_BEGIN_TRY, R_HPPA_END_TRY): Define.
1386 * som.c (som_write_fixups): Handle R_BEGIN_TRY and R_END_TRY.
1387
2df1e84b
ILT
1388Mon Jun 17 12:49:11 1996 Ian Lance Taylor <ian@cygnus.com>
1389
1390 * elf32-mips.c (mips_elf_relocate_section): Don't create a reloc
1391 for R_MIPS_REL32 and R_MIPS_32 relocs if no dynamic sections were
1392 created.
1393 (mips_elf_check_relocs): Only create .rel.dyn for R_MIPS_REL32 and
1394 R_MIPS_32 relocs if creating a shared library.
1395
1396Thu Jun 13 20:14:51 1996 Doug Evans <dje@canuck.cygnus.com>
1397
1398 * peicode.h (add_data_entry): Use pei_section_data rather than
1399 _cooked_size. Corresponds to May 13 change in coffcode.h.
1400
8100e72c
ILT
1401Thu Jun 13 10:23:40 1996 Ian Lance Taylor <ian@cygnus.com>
1402
51bc9642
ILT
1403 * cofflink.c (_bfd_coff_final_link): Handle long section names.
1404 * coffcode.h (coff_write_object_contents): If there are long
1405 section names, always set the f_symptr field, even if there are no
1406 symbols.
1407 * peicode.h (coff_swap_filehdr_in): Don't clear the f_symptr field
1408 if there are no symbols.
1409
8100e72c
ILT
1410 * coffgen.c (make_a_section_from_file): Check return value of
1411 _bfd_coff_read_string_table.
1412 (coff_real_object_p): Check return value of
1413 make_a_section_from_file.
1414 (_bfd_coff_read_string_table): Check that there are some symbols
1415 before trying to read the string table size.
1416
0e3bd85e
ILT
1417Wed Jun 12 11:16:37 1996 Ian Lance Taylor <ian@cygnus.com>
1418
ed675a04
ILT
1419 * xcofflink.c (xcoff_link_add_symbols): When considering whether
1420 to replace a symbol in a dynamic object with a symbol from another
1421 dynamic object, do the replacement if the existing symbol is
1422 global linkage code.
1423
49144784
ILT
1424 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Check explicitly
1425 for _ptrgl, and treat it as global linkage code.
1426
0e3bd85e
ILT
1427 * aoutx.h (NAME(aout,find_nearest_line)): Notice if we find a
1428 filename or N_SO symbol past the offset, and use it to indicate
1429 that there is no line number or function when appropriate.
1430
a5c7acea
ILT
1431Tue Jun 11 15:24:48 1996 Ian Lance Taylor <ian@cygnus.com>
1432
1433 * xcofflink.c (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR for a
1434 common symbol defined by the linker. Don't export function code
1435 even if export_defineds is set.
1436
1437Mon Jun 10 11:57:27 1996 Jeffrey A Law (law@cygnus.com)
1438
1439 * coff-h8300.c (howto_table): Add new entries for R_BCC_INV
1440 and R_JMP_DEL.
1441 (rtype2howto): Handle R_BCC_INV and R_JMP_DEL.
1442 (h8300_symbol_address_p): New function.
1443 (h8300_reloc16_estimate): Eliminate jumps made unnecessary by
1444 relaxing.
1445
890f5b7f
JL
1446Sun Jun 9 16:30:20 1996 Jeffrey A Law (law@cygnus.com)
1447
1448 * coff-h8300.c (h8300_reloc16_estimate): Fix many minor spacing
1449 problems.
1450 (h8300_reloc16_estimate, cases R_JMP1, R_JMP2): Adjust "dot"
1451 correctly for the two variants. Allow relaxing if the target
1452 is 128 bytes away since after relaxation it'll be 126 bytes away.
1453 (h8300_reloc16_estimate, case R_PCRWORD): Correctly adjust
1454 "dot" and "value". Allow relaxing if the target is 128 bytes
1455 away since after relaxation it'll be 126 bytes away.
1456 * reloc16.c (bfd_coff_reloc16_relax_section): Keep relaxing
1457 the given section until nothing changes.
1458
0593fc16
ILT
1459Thu Jun 6 15:24:45 1996 Richard Henderson <rth@tamu.edu>
1460
1461 * ecoff.c (_bfd_ecoff_new_section_hook): Remove the _PDATA
1462 alignment hack--we can get the lnnoptr info another way without
1463 suddenly increasing the alignment requirements. Set the flags for
1464 the _PDATA section.
1465 (ecoff_compute_section_file_positions): Do so.
1466
9b263b79
ILT
1467Thu Jun 6 11:24:37 1996 Ian Lance Taylor <ian@cygnus.com>
1468
bbf7c335
ILT
1469 * ieee.c (ieee_write_object_contents): Put a timestamp in the file
1470 to keep the HP emulator database happy.
1471
9b263b79
ILT
1472 * config.bfd: Recognize powerpc-*-linux* and powerpcle-*-linux*.
1473 From Kevin Buettner <kev@primenet.com>.
1474
1475Wed Jun 5 15:16:04 1996 Ian Lance Taylor <ian@cygnus.com>
1476
1477 * aoutx.h (translate_to_native_sym_flags): Don't try to print the
1478 name of a NULL section.
1479
26145b15
ILT
1480Tue Jun 4 18:53:58 1996 Ian Lance Taylor <ian@cygnus.com>
1481
1482 * linker.c (_bfd_generic_link_add_one_symbol): If notice_all is
1483 set, always call the notice callback.
1484
1485 * VERSION: Increment for bfdlink.h change.
1486
3a2080d8
ILT
1487Mon Jun 3 11:01:53 1996 Ian Lance Taylor <ian@cygnus.com>
1488
9d175198
ILT
1489 * coff-sh.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Set to 4.
1490 (sh_relax_delete_bytes): Correct handling of differently sized
1491 trailing alignment reloc.
1492
5a04f1bd
ILT
1493 * bfd-in.h: Use #error if BFD_HOST_64_BIT can not be defined.
1494 * bfd-in2.h: Rebuild.
1495 * configure.in: Warn if there is no known 64 bit type.
1496 * configure: Rebuild.
1497
60c8b04f
ILT
1498 * Makefile.in: Rebuild dependencies.
1499 (BFD32_BACKENDS): Add ppcboot.o.
1500 (BFD32_BACKENDS_CFILES): Add ppcboot.c.
1501
3a2080d8
ILT
1502 * elf32-mips.c (mips_elf_size_dynamic_sections): Initialize c.
1503 From Per Fogelstrom <per.fogelstrom@mailbox200.swipnet.se>.
1504
903612a2
ILT
1505Sat Jun 1 21:49:58 1996 Ian Lance Taylor <ian@cygnus.com>
1506
1507 * elf64-mips.c (bfd_mips_elf64_swap_reginfo_in)
1508 (bfd_mips_elf64_swap_reginfo_out): Move from here...
1509 * elf32-mips.c (bfd_mips_elf64_swap_reginfo_in)
1510 (bfd_mips_elf64_swap_reginfo_out): ...to here.
1511
38893c8c
ILT
1512Fri May 31 13:51:28 1996 Ian Lance Taylor <ian@cygnus.com>
1513
bc05732b
ILT
1514 * elf64-mips.c: Improve reloc special_functions and handling of
1515 SHT_MIPS_OPTIONS section.
1516 * elf32-mips.c (_bfd_mips_elf_hi16_reloc): Rename from
1517 mips_elf_hi16_reloc and make globally visible.
1518 (_bfd_mips_elf_lo16_reloc): Rename from mips_elf_lo16_reloc and
1519 make globally visible.
1520 (_bfd_mips_elf_got16_reloc): Rename from mips_elf_got16_reloc and
1521 make globally visible.
1522 (_bfd_mips_elf_gprel16_reloc): Rename from mips_elf_gprel16_reloc
1523 and make globally visible.
1524 (gprel16_with_gp): Check howto->src_mask before using value in
1525 insn.
1526 (_bfd_mips_elf_gprel32_reloc): Rename from mips_elf_gprel32_reloc
1527 and make globally visible.
1528 (gprel32_with_gp): Check howto->src_mask before fetching value.
1529 (bfd_mips_elf_swap_options_in): New function.
1530 (bfd_mips_elf_swap_options_out): New function.
1531 (_bfd_mips_elf_set_private_flags): Rename from
1532 mips_elf_set_private_flags and make globally visible.
1533 (_bfd_mips_elf_copy_private_bfd_data): Rename from
1534 mips_elf_copy_private_bfd_data and make globally visible.
1535 (_bfd_mips_elf_merge_private_bfd_data): Rename from
1536 mips_elf_merge_private_bfd_data and make globally visible.
1537 (_bfd_mips_elf_section_from_shdr): Accept .MIPS.options as a name
1538 for a SHT_MIPS_OPTIONS section.
1539 (mips_elf32_section_from_shdr): Handle SHT_MIPS_OPTIONS section.
1540 (_bfd_mips_elf_fake_sections): Consider .MIPS.options to be the
1541 name of a SHT_MIPS_OPTIONS section.
1542 (_bfd_mips_elf_set_section_contents): New function.
1543 (mips_elf32_section_processing): Set the GP value in a
1544 SHT_MIPS_OPTIONS section.
1545 (_bfd_mips_elf_find_nearest_line): Rename from
1546 mips_elf_find_nearest_line and make globally visible.
1547 (bfd_elf32_set_section_contents): Define.
1548 * elf-bfd.h (_bfd_mips_elf_hi16_reloc): Declare.
1549 (_bfd_mips_elf_lo16_reloc): Declare.
1550 (_bfd_mips_elf_gprel16_reloc): Declare.
1551 (_bfd_mips_elf_got16_reloc): Declare.
1552 (_bfd_mips_elf_gprel32_reloc): Declare.
1553 (_bfd_mips_elf_set_private_flags): Declare.
1554 (_bfd_mips_elf_copy_private_bfd_data): Declare.
1555 (_bfd_mips_elf_merge_private_bfd_data): Declare.
1556 (_bfd_mips_elf_find_nearest_line): Declare.
1557 (_bfd_mips_elf_set_section_contents): Declare.
1558
38893c8c
ILT
1559 * elf32-hppa.c (elf32_hppa_info_to_howto): Rename from
1560 elf_info_to_howto.
1561 (elf_info_to_howto): Define.
1562 * elf32-sparc.c (elf32_sparc_info_to_howto): Rename from
1563 elf_info_to_howto.
1564 (elf_info_to_howto): Define.
1565 * elf64-sparc.c (sparc64_elf_info_to_howto): Rename from
1566 elf_info_to_howto.
1567 (elf_info_to_howto): Define.
1568
1569 * coff-w65.c (h8300_reloc16_estimate): Rename R_MOVB[12] to
1570 R_MOV16B[12], to match change in coff/internal.h.
1571
cabd8fa0
ILT
1572Thu May 30 12:38:49 1996 Ian Lance Taylor <ian@cygnus.com>
1573
00176555
ILT
1574 * elf64-mips.c: Extensive additions to provide better support for
1575 writing files and for gas.
1576 * elf32-mips.c (_bfd_mips_elf_object_p): New function, broken out
1577 of mips_elf_object_p.
1578 (mips_elf32_object_p): Rename from mips_elf_object_p; call
1579 _bfd_mips_elf_object_p.
1580 (_bfd_mips_elf_final_write_processing): Rename from
1581 mips_elf_final_write_processing and make globally visible.
1582 (_bfd_mips_elf_fake_sections): Rename from
1583 mips_elf_fake_sections and make globally visible.
1584 (_bfd_mips_elf_section_from_bfd_section): Rename from
1585 mips_elf_section_from_bfd_section and make globally visible.
1586 (_bfd_mips_elf_section_processing): New function, broken out of
1587 mips_elf_section_processing.
1588 (mips_elf32_section_processing): Rename from
1589 mips_elf_section_processing; call
1590 _bfd_mips_elf_section_processing.
1591 (_bfd_mips_elf_symbol_processing): Rename from
1592 mips_elf_symbol_processing and make globally visible.
1593 (_bfd_mips_elf_read_ecoff_info): Rename from
1594 mips_elf_read_ecoff_info and make globally visible.
1595 (mips_elf32_ecoff_debug_swap): Rename from
1596 mips_elf_ecoff_debug_swap.
1597 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Use asymbol rather than
1598 struct symbol_cache_entry.
1599 (_bfd_elf_validate_reloc): New function, moved in from
1600 elfcode.h:validate_reloc.
1601 * elfcode.h (validate_reloc): Remove; moved into elf.c and renamed
1602 to _bfd_elf_validate_reloc. Change all callers.
1603 * elf-bfd.h (bfd_section_from_shdr): Declare.
1604 (_bfd_elf_symbol_from_bfd_symbol): Declare.
1605 (_bfd_elf_validate_reloc): Declare.
1606 (_bfd_mips_elf_object_p): Declare.
1607 (_bfd_mips_elf_fake_sections): Declare.
1608 (_bfd_mips_elf_section_from_bfd_section): Declare.
1609 (_bfd_mips_elf_section_processing): Declare.
1610 (_bfd_mips_elf_symbol_processing): Declare.
1611 (_bfd_mips_elf_read_ecoff_info): Declare.
1612 (_bfd_mips_elf_final_write_processing): Declare.
1613 * elfxx-target.h (bfd_elfNN_get_reloc_upper_bound): Don't define
1614 if already defined.
1615
cabd8fa0
ILT
1616 * elf32-mips.c (mips_elf_object_p): Handle E_MIPS_ARCH_4.
1617 (mips_elf_final_write_processing): Likewise.
1618
d1bf45aa
ILT
1619Wed May 29 16:15:29 1996 Ian Lance Taylor <ian@cygnus.com>
1620
1621 64-bit MIPS ELF ABI objdump support:
1622 * elf64-mips.c: New file.
1623 * Makefile.in: Rebuild dependencies.
1624 (BFD64_BACKENDS): Add elf64-mips.o.
1625 (BFD64_BACKENDS_CFILES): Add elf64-mips.c.
1626 * config.bfd (mips*el-*-elf*) Add bfd_elf64_bigmips_vec and
1627 bfd_elf64_littlemips_vec to targ_selvecs.
1628 (mips*-*-elf*): Likewise.
1629 * confingure.in: Add bfd_elf64_bigmips_vec and
1630 bfd_elf64_littlemips_vec to vector switch.
1631 * configure: Rebuild.
1632 * elf32-mips.c (_bfd_mips_elf_section_from_shdr): New function,
1633 broken out of mips_elf_section_from_shdr.
1634 (mips_elf32_section_from_shdr): Rename from
1635 mips_elf_section_from_shdr. Call new function.
1636 (elf_backend_section_from_shdr): Update name of renamed function.
1637 * elf-bfd.h (struct elf_size_info): Change second parameter of
1638 write_out_phdrs to be const. Likewise for second parameter of
1639 swap_symbol_out.
1640 (struct bfd_elf_section_data): Add rel_hdr2 field.
1641 (bfd_elf32_swap_symbol_in): Change second parameter to be const.
1642 (bfd_elf32_swap_symbol_out): Likewise.
1643 (bfd_elf32_swap_reloc_in): Likewise.
1644 (bfd_elf32_swap_reloc_out): Likewise.
1645 (bfd_elf32_swap_reloca_in): Likewise.
1646 (bfd_elf32_swap_reloca_out): Likewise.
1647 (bfd_elf32_swap_phdr_in): Likewise.
1648 (bfd_elf32_swap_phdr_out): Likewise.
1649 (bfd_elf32_swap_dyn_in): Likewise.
1650 (bfd_elf32_swap_dyn_out): Likewise.
1651 (bfd_elf32_slurp_symbol_table): Declare.
1652 (bfd_elf32_write_shdrs_and_ehdr): Declare.
1653 (bfd_elf32_write_out_phdrs): Declare.
1654 (bfd_elf64_swap_symbol_in): Change second parameter to be const.
1655 (bfd_elf64_swap_symbol_out): Likewise.
1656 (bfd_elf64_swap_reloc_in): Likewise.
1657 (bfd_elf64_swap_reloc_out): Likewise.
1658 (bfd_elf64_swap_reloca_in): Likewise.
1659 (bfd_elf64_swap_reloca_out): Likewise.
1660 (bfd_elf64_swap_phdr_in): Likewise.
1661 (bfd_elf64_swap_phdr_out): Likewise.
1662 (bfd_elf64_swap_dyn_in): Likewise.
1663 (bfd_elf64_swap_dyn_out): Likewise.
1664 (bfd_elf64_slurp_symbol_table): Declare.
1665 (bfd_elf64_write_shdrs_and_ehdr): Declare.
1666 (bfd_elf64_write_out_phdrs): Declare.
1667 (_bfd_mips_elf_section_from_shdr): Declare.
1668 * elf.c (bfd_section_from_shdr): Remove assertion requiring
1669 SHT_REL/SHT_RELA to match use_rela_p. If there is already a reloc
1670 section for the section, add the new one to rel_hdr2. Increment
1671 reloc_count rather than setting it.
1672 * elfcode.h (elf_slurp_symbol_table): Define name as macro.
1673 Remove static declaration.
1674 (elf_write_shdrs_and_ehdr): Define name as macro.
1675 (elf_write_out_phdrs): Likewise.
1676 (elf_swap_ehdr_in, elf_swap_ehdr_out): Declare.
1677 (elf_swap_shdr_in, elf_swap_shdr_out): Declare.
1678 (elf_swap_symbol_in): Change second parameter to be const.
1679 (elf_swap_symbol_out): Likewise.
1680 (elf_swap_ehdr_in, elf_swap_ehdr_out): Likewise.
1681 (elf_swap_shdr_in, elf_swap_shdr_out): Likewise.
1682 (elf_swap_phdr_in, elf_swap_phdr_out): Likewise.
1683 (elf_swap_reloc_in, elf_swap_reloc_out): Likewise.
1684 (elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
1685 (elf_write_out_phdrs): Rename from write_out_phdrs. Change second
1686 parameter to be const. Make non-static.
1687 (elf_write_shdrs_and_ehdr): Rename from write_shdrs_and_ehdr.
1688 Make non-static.
1689 (elf_slurp_symbol_table): Make non-static.
1690 (NAME(_bfd_elf,size_info)): Update names of renamed functions.
1691 * elfxx-target.h (elf_info_to_howto): Define if not defined.
1692 (elf_backend_size_info): Likewise.
1693 (elfNN_bed): Use elf_backend_size_info.
1694 * targets.c (bfd_elf64_bigmips_vec): Declare.
1695 (bfd_elf64_littlemips_vec): Declare.
1696 (bfd_target_vector): Add bfd_elf64_bigmips_vec and
1697 bfd_elf64_littlemips_vec if BFD64 is defined.
1698
1699 * libbfd.c (bfd_get_file_window): Add cast to fprintf argument.
1700
7dd3d45a
ILT
1701Tue May 28 11:42:08 1996 Ian Lance Taylor <ian@cygnus.com>
1702
07692951
ILT
1703 * coff-sh.c (sh_relax_delete_bytes): Insert nop instructions, not
1704 zeroes, in alignment holes.
1705
a4322a77
ILT
1706 * configure: Rebuild with autoconf 2.10.
1707
7dd3d45a
ILT
1708 * aoutx.h (NAME(aout,find_nearest_line)): Make room for the
1709 potential leading underscore in the allocated buffer.
1710
0293d5b0
MM
1711Fri May 24 14:28:38 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1712
1713 * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not put small common
1714 symbols into .sbss if this is a relocatable link.
1715
a5d0cd50
ILT
1716Thu May 23 12:26:24 1996 Ian Lance Taylor <ian@cygnus.com>
1717
1718 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Warn about
1719 undefined symbols when creating a shared library.
1720
1721Fri May 17 13:54:15 1996 Ian Lance Taylor <ian@cygnus.com>
1722
1723 * coff-sh.c: Add a bunch of new code and static const arrays to
1724 support aligning loads and stores on four byte memory boundaries.
1725 Also:
1726 (sh_coff_howtos): Add entries for R_SH_CODE, R_SH_DATA and
1727 R_SH_LABEL.
1728 (sh_relax_section): Look for R_SH_CODE relocs. If we find one,
1729 call sh_align_loads.
1730 (sh_relax_delete_bytes): Don't mark R_SH_CODE or R_SH_DATA relocs
1731 as unused.
1732
c403d358
ILT
1733Thu May 16 16:34:13 1996 Ian Lance Taylor <ian@cygnus.com>
1734
1735 * cache.c (bfd_open_file): Unlink the file before opening it for
1736 write. From Marty Leisner <leisner@sdsp.mc.xerox.com>.
1737
1738 * opncls.c (bfd_fdopenr): Set opened_once.
1739
2f710e17
ILT
1740Tue May 14 12:35:32 1996 Ian Lance Taylor <ian@cygnus.com>
1741
ff60fc3a
ILT
1742 * som.c (som_slurp_reloc_table): Clear external_relocs cache after
1743 freeing it.
1744
2f710e17
ILT
1745 * libbfd.c: Remove #ifdef FILE_OFFSET_IS_CHAR_INDEX, and compile
1746 the code unconditionally.
1747
efb33f6b
ILT
1748Mon May 13 19:51:37 1996 Ian Lance Taylor <ian@cygnus.com>
1749
1750 * libcoff-in.h (struct pei_section_tdata): Define structure.
1751 (pei_section_data): Define macro.
1752 * libcoff.h: Rebuild.
1753 * coffcode.h (coff_set_alignment_hook): If COFF_IMAGE_WITH_PE,
1754 store s_paddr field in pei_section_data.
1755 (coff_compute_section_file_positions): Use pei_section_data rather
1756 than _cooked_size, and don't overwrite an existing value.
1757 (coff_write_object_contents): If COFF_OBJ_WITH_PE, set s_paddr to
1758 0. If COFF_IMAGE_WITH_PE, set s_paddr to pei_section_data.
1759 * peicode.h (coff_bfd_copy_private_section_data): Define if
1760 COFF_IMAGE_WITH_PE.
1761 (pe_bfd_copy_private_section_data): New static function if
1762 COFF_IMAGE_WITH_PE.
1763
5ecd6d7f
ILT
1764Wed May 8 16:10:38 1996 Ian Lance Taylor <ian@cygnus.com>
1765
db1e2aa7
ILT
1766 * srec.c (srec_set_arch_mach): Write as a function rather than a
1767 macro definition.
1768
5ecd6d7f
ILT
1769 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): If an archive has
1770 no map, just check each member in turn to see whether it is
1771 required.
1772
aefee5c8
MM
1773Wed May 8 09:17:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1774
1775 * ppcboot.c (ppcboot_object_p): Check for type 0x41 in partition
1776 table. Call BFD_ASSERT to validate header size, instead of
1777 calling fatal.
1778 (ppcboot_bfd_print_private_bfd_data): Put quotes around partition
1779 name.
1780
0d1fcbbb
MM
1781Tue May 7 16:10:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1782
1783 * ppcboot.c: New target for looking at PPCbug boot records.
1784
1785 * config{ure.in,.bfd}: Add support for ppcboot target.
1786 * targets.c: Ditto.
1787 * configure: Regenerate.
1788
f4597f8c
JL
1789Tue May 7 11:15:19 1996 Jeffrey A Law (law@cygnus.com)
1790
1791 * coff-h8300.c (howto_table): Update names to match recent
1792 changes to include/coff/internal.h. Fix minor errors in the
1793 existing relocs. Add R_MOVL1 and R_MOVL2.
1794 (rtype2howto): Similarly.
1795 (h8300_reloc16_estimate): Rewrite to simplify, fix bugs in the
1796 existing relaxing code and peform more relaxing.
1797 (h8300_reloc16_extra_cases): Likewise.
1798
0dc70e1a
JL
1799Mon May 6 18:24:09 1996 Jeffrey A Law (law@cygnus.com)
1800
1801 * reloc16.c (bfd_coff_reloc16_get_value): Handle common
1802 symbols correctly.
1803
d1b8ccb0
PS
1804Sat May 4 05:08:45 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
1805
1806 * elfcode.h (elf_object_p): Reject generic ELF target if
1807 e_machine matches an alternate machine code in a specific backend.
1808
1809 * netbsd-core.c (netbsd_core_vec): Remove initializer for
1810 obsolete align_power_min field.
1811
c9f5444e
JL
1812Fri May 3 13:07:35 1996 Jeffrey A Law (law@cygnus.com)
1813
1814 * coff-h8300.c (reloc_howto_type): Add howto entry for
1815 R_PCRWORD_B.
1816 (rtype2howto): Handle R_PCRWORD_B.
1817 (h8300_reloc16_extra_cases): Handle R_PCRWORD_B.
1818 (h8300_reloc_16_estimate): Likewise. Try to turn a 16bit
1819 pc-relative branch (R_PCRWORD) into an 8bit pc-relative
1820 branch (R_PCWORD_B).
1821
4ad842aa
ILT
1822Fri May 3 10:47:41 1996 Ian Lance Taylor <ian@cygnus.com>
1823
340d654f
ILT
1824 * aoutx.h (translate_from_native_sym_flags): Set the section for
1825 BSF_CONSTRUCTOR symbols.
1826
4ad842aa
ILT
1827 * cofflink.c (_bfd_coff_link_input_bfd): Correct setting of
1828 last_bf_index.
1829
9c7a5748
DE
1830Wed May 1 18:39:32 1996 Doug Evans <dje@canuck.cygnus.com>
1831
1832 * coffcode.h (coff_write_object_contents): In comdat section lookup,
1833 stop looking when section is found.
1834
622c93a3
ILT
1835Wed May 1 14:17:57 1996 Ian Lance Taylor <ian@cygnus.com>
1836
e8f3bb64 1837 * coffcode.h (STRING_SIZE_SIZE): Define.
9aac8e83
ILT
1838 (styp_to_sec_flags): Handle long symbol names when looking for the
1839 section symbol.
e8f3bb64
ILT
1840 (bfd_coff_backend_data): Add _bfd_coff_long_section_names field.
1841 (bfd_coff_long_section_names): Define.
1842 (coff_write_object_contents): Handle long section names.
1843 (bfd_coff_std_swap_table): Initialize new field.
1844 * libcoff.h: Rebuild.
1845 * coffgen.c (make_a_section_from_file): Handle long section
1846 names.
1847 (coff_write_symbols): Handle long section names.
1848 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
1849 * coff-mips.c (mips_ecoff_backend_data): Likewise.
1850 * pe-arm.c (COFF_LONG_SECTION_NAMES): Define.
1851 * pei-arm.c (COFF_LONG_SECTION_NAMES): Define.
1852 * pe-i386.c (COFF_LONG_SECTION_NAMES): Define.
1853 * pei-i386.c (COFF_LONG_SECTION_NAMES): Define.
1854 * pe-ppc.c (COFF_LONG_SECTION_NAMES): Define.
1855 * pei-ppc.c (COFF_LONG_SECTION_NAMES): Define.
1856
622c93a3
ILT
1857 * bout.c (b_out_callback): Set lma of sections.
1858 (b_out_bfd_get_relocated_section_contents): Rename in_abfd
1859 parameter to output_bfd. Used input_bfd instead of output_bfd in
1860 several places.
1861
6b725f83
ILT
1862Tue Apr 30 17:56:39 1996 Ian Lance Taylor <ian@cygnus.com>
1863
b7d1158a
ILT
1864 * aoutx.h (translate_from_native_sym_flags): Don't create
1865 SEC_CONSTRUCTOR sections.
1866 * ecoff.c (ecoff_set_symbol_info): Likewise.
1867
6b725f83
ILT
1868 * elf32-mips.c (mips_elf_copy_private_bfd_data): Copy elf_gp.
1869 From Don Bowman <bowman@waterloo.hp.com>.
1870
e28a1e77
DE
1871Tue Apr 30 17:06:32 1996 Doug Evans <dje@canuck.cygnus.com>
1872
1873 * coff-arm.c (armcoff_little_vec): If COFF_WITH_PE is defined, add
1874 SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
1875
abec70b9
ILT
1876Mon Apr 29 13:15:17 1996 Ian Lance Taylor <ian@cygnus.com>
1877
1878 * elf32-mips.c (struct mips_elf_link_hash_entry): Add
1879 mips_32_relocs field.
1880 (mips_elf_link_hash_newfunc): Initialize mips_32_relocs field.
1881 (mips_elf_relocate_section): Copy R_MIPS_REL32 and R_MIPS_32
1882 relocs against a global symbol which is not defined in a regular
1883 file.
1884 (mips_elf_check_relocs): For a R_MIPS_REL32 or R_MIPS_32 reloc
1885 against a global symbol, increment mips_32_relocs.
1886 (mips_elf_adjust_dynamic_symbol): If mips_32_relocs is set, and
1887 the symbol is not defined in a regular file, make room in the
1888 .rel.dyn section.
1889
ecba7a3a
ILT
1890Fri Apr 26 18:00:37 1996 Ian Lance Taylor <ian@cygnus.com>
1891
656c5b6d
ILT
1892 * ecoff.c (ecoff_compute_section_file_positions): Track the real
1893 file position and the virtual file position separately. Set
1894 filepos information bsaed on the real file position.
1895 (_bfd_ecoff_set_section_contents): Handle .lib sections like the
1896 Jan 23 change to coffcode.h.
1897
ecba7a3a
ILT
1898 * som.c (som_slurp_symbol_table): Set the symbol count to the
1899 number of BFD symbols created.
1900
e25a7988
MM
1901Fri Apr 26 12:34:29 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1902
1903 * elf32-ppc.c (ppc_elf_check_relocs): Forward relocations to the
1904 output file if linking shared objects. Loop to check all relocs,
1905 rather than returning false on first error.
1906
5c28a96e
MM
1907Thu Apr 25 13:25:12 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1908
3f7ca26b
MM
1909 * elf32-ppc.c (ppc_elf_create_linker_section): Add PLT case.
1910 (ppc_elf_additional_program_headers): If .interp section, bump #
1911 of program headers by 1.
1912 (ppc_elf_adjust_dynamic_symbol): Flesh out support.
1913 (ppc_elf_size_dynamic_sections): Add support for .plt section.
1914 (ppc_elf_check_relocs): Print out filename in debug code. Enable
1915 PLT support.
1916 (ppc_elf_finish_dynamic_symbol): Add support for PLT's, beef up
1917 debug output.
1918 (ppc_elf_relocate_section): If the output section isn't defined,
1919 don't abort, just give an error message.
1920
5c28a96e
MM
1921 * elflink.c (_bfd_elf_create_dynamic_sections): If the section
1922 being created is .sdata or .sdata2, don't make the symbol dynamic.
1923
f5d65485
ILT
1924Wed Apr 24 14:04:07 1996 Ian Lance Taylor <ian@cygnus.com>
1925
1926 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through the
1927 members of an archive for dynamic objects with no symbols, and
1928 pass them directly to check_archive_element.
1929 (xcoff_link_check_ar_symbols): Pass dynamic objects to
1930 xcoff_link_check_dynamic_ar_symbols.
1931 (xcoff_link_check_dynamic_ar_symbols): New static function.
1932
1933 * coff-rs6000.c (rs6000coff_vec): Change BFD_JUMP_TABLE_DYNAMIC
1934 from _bfd_nodynamic to _bfd_xcoff.
1935 * libcoff-in.h (_bfd_xcoff_get_dynamic_symtab_upper_bound):
1936 Declare.
1937 (_bfd_xcoff_canonicalize_dynamic_symtab): Declare.
1938 (_bfd_xcoff_get_dynamic_reloc_upper_bound): Declare.
1939 (_bfd_xcoff_canonicalize_dynamic_reloc): Declare.
1940 * libcoff.h: Rebuild.
1941 * xcofflink.c (xcoff_swap_ldrel_in): New static function.
1942 (xcoff_get_section_contents): New static function.
1943 (_bfd_xcoff_get_dynamic_symtab_upper_bound): New function.
1944 (_bfd_xcoff_canonicalize_dynamic_symtab): New function.
1945 (_bfd_xcoff_get_dynamic_reloc_upper_bound): New function.
1946 (xcoff_dynamic_reloc): New static variable.
1947 (_bfd_xcoff_canonicalize_dynamic_reloc): New function.
1948 (xcoff_link_add_dynamic_symbols): Use xcoff_get_section_contents.
1949
1950Tue Apr 23 12:48:42 1996 Ian Lance Taylor <ian@cygnus.com>
1951
1952 * coff-sparc.c (bfd_coff_generic_reloc): Return bfd_reloc_ok even
1953 if reloc_entry->addend is not 0.
1954 (CALC_ADDEND): Just set the addend to reloc.r_offset.
1955
34249b2f
DE
1956Mon Apr 22 18:29:01 1996 Doug Evans <dje@canuck.cygnus.com>
1957
1958 * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix spelling of
1959 R_SPARC_GLOB_JMP.
1960 * elf64-sparc.c (sparc64_elf_howto_table): Likewise.
1961 Add entries for R_SPARC_[56].
1962 (sparc_reloc_map): Add entries for R_SPARC_[56].
1963
af50cd91
ILT
1964Mon Apr 22 15:07:24 1996 Ian Lance Taylor <ian@cygnus.com>
1965
1726b8f0
ILT
1966 Optimize linking of stabs in sections as used in ELF and COFF.
1967 * stabs.c: New file.
1968 * libbfd-in.h (_bfd_link_section_stabs): Declare.
1969 (_bfd_write_section_stabs): Declare.
1970 (_bfd_write_stab_strings): Declare.
1971 * libbfd.h: Rebuild.
1972 * libcoff-in.h (struct coff_section_tdata): Add stab_info field.
1973 (struct coff_link_hash_table): Add stab_info field.
1974 * libcoff.h: Rebuild.
1975 * cofflink.c (_bfd_coff_link_hash_table_init): Initialize
1976 stab_info field.
1977 (coff_link_add_symbols): Call _bfd_link_section_stabs if
1978 appropriate.
1979 (_bfd_coff_final_link): Write out stab strings hash table.
1980 (_bfd_coff_link_input_bfd): Handle optimized stabs sections.
1981 * coff-ppc.c (ppc_bfd_coff_final_link): Write out stab strings
1982 hash table.
1983 * elf-bfd.h (struct elf_link_hash_table): Add stab_info field.
1984 (struct bfd_elf_section_data): Add stab_info field.
1985 * elf.c (_bfd_elf_link_hash_table_init): Initialize stab_info
1986 field.
1987 * elflink.h (elf_link_add_object_symbols): If appropriate, call
1988 _bfd_link_section_stabs.
1989 (elf_bfd_final_link): Write out stab strings hash table.
1990 (elf_link_input_bfd): Handle optimized stabs sections.
1991 * reloc.c (_bfd_final_link_relocate): Check address against
1992 _raw_size rather than _cooked_size.
1993 * Makefile.in: Rebuild dependencies.
1994 (BFD_LIBS): Add stabs.o
1995 (BFD_LIBS_CFILES): Add stabs.c.
1996
1997 * VERSION: Increment for bfdlink.h change.
1998
af50cd91
ILT
1999 * coffgen.c (coff_renumber_symbols): Correct handling of
2000 BSF_NOT_AT_END common symbols.
2001
f9fa5df3
ILT
2002Fri Apr 19 19:21:56 1996 Ian Lance Taylor <ian@cygnus.com>
2003
2004 * coff-ppc.c (record_toc): Add cast to avoid warning.
2005 (ppc_allocate_toc_section): Likewise.
2006 (coff_ppc_relocate_section): Remove ANSI C string concatenation.
2007 (ppc_coff_reloc_type_lookup): Remove unreached code.
2008 * coffcode.h (coff_write_object_contents): Don't take the address
2009 of an array.
2010 * peicode.h (pe_print_idata): Add casts to avoid warning.
2011 (pe_print_edata): Likewise.
2012 (pe_print_reloc): Remove ANSI C string concatenation.
2013
d6e0e2f7
ILT
2014Thu Apr 18 18:51:18 1996 Ian Lance Taylor <ian@cygnus.com>
2015
2016 * libcoff-in.h (struct coff_final_link_info): Add last_bf_index
2017 and last_bf fields.
2018 * libcoff.h: Rebuild.
2019 * coffswap.h (coff_swap_aux_in): Swap endndx field for C_FCN
2020 symbols.
2021 (coff_swap_aux_out): Likewise.
2022 * peicode.h (coff_swap_aux_in): Likewise.
2023 (coff_swap_aux_out): Likewise.
2024 * coffgen.c (coff_pointerize_aux): Check endndx field for C_FCN
2025 symbols.
2026 * cofflink.c (_bfd_coff_final_link): Initialize last_bf_index
2027 field.
2028 (_bfd_coff_link_input_bfd): Check endndx field for C_FCN symbols.
2029 Fix up .bf endndx link fields.
2030 * coff-ppc.c (ppc_bfd_coff_final_link): Initialize last_bf_index
2031 field.
2032 * xcofflink.c (xcoff_link_input_bfd): Check endndx field for C_FCN
2033 symbols.
2034
221d1e19
MM
2035Wed Apr 17 12:08:24 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2036
2037 * pe{,i}-ppc.c (PPC_PE): Define instead of PPC, so that compiling
2038 on Solaris PowerPC systems doesn't get confused.
2039
2040 * ccffcode.h (coff_write_object_contents): Use #ifdef PPC_PE, not
2041 #ifdef PPC.
2042
2043 * elfcore.h (bfd_prstatus, bfd_fpregset): Add thread argument.
2044 (elf_corefile_note): If HAVE_SYS_PROCFS_H is not defined, don't
2045 update did_reg and did_reg2.
2046
8f9a56c6
ILT
2047Wed Apr 17 13:07:37 1996 Ian Lance Taylor <ian@cygnus.com>
2048
f97fca78
ILT
2049 * xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow.
2050
8f9a56c6
ILT
2051 * linker.c (_bfd_generic_link_add_one_symbol): When calling the
2052 callback routines, pass h->root.string rather than name, in case
2053 copy is true and name is transient.
2054
603fdf16
SG
2055Tue Apr 16 16:36:38 1996 Stu Grossman (grossman@lisa.cygnus.com)
2056
2057 * elfcore.h: Add support for core files with multiple threads.
2058 (Primarily for Solaris.)
2059
a2d914e1
ILT
2060Tue Apr 16 13:44:08 1996 Ian Lance Taylor <ian@cygnus.com>
2061
cdf23557
ILT
2062 * aoutx.h (NAME(aout,squirt_out_relocs)): Don't do anything if
2063 section->orelocation is NULL.
2064
a2d914e1
ILT
2065 * coffgen.c (bfd_coff_get_syment): New function.
2066 (bfd_coff_get_auxent): New function.
2067 * bfd-in.h (bfd_coff_get_syment): Declare.
2068 (bfd_coff_get_auxent): Declare.
2069 * bfd-in2.h: Rebuild.
2070
5cf36a32
ILT
2071Mon Apr 15 19:06:59 1996 Ian Lance Taylor <ian@cygnus.com>
2072
2073 * elf32-mips.c (struct mips_hi16): Define.
2074 (mips_hi16_addr, mips_hi16_addend): Remove.
2075 (mips_hi16_list): New static variable.
2076 (mips_elf_hi16_reloc): Maintain a list of unmatched HI16 relocs.
2077 (mips_elf_lo16_reloc): Process mips_hi16_list.
2078 (mips_elf_relocate_section): Permit an arbitrary number of HI16
2079 relocs before the associated LO16 reloc.
2080
b7fce5be
ILT
2081Wed Apr 10 00:23:53 1996 Ian Lance Taylor <ian@cygnus.com>
2082
176512da
ILT
2083 * versados.c (versados_scan): Check bfd_alloc return value.
2084 (versados_object_p): Check all bfd_read return values. Require
2085 that lang field be less than 10, to avoid confusion with Intel Hex
2086 files.
2087
18de3f19
ILT
2088 * libaout.h (WRITE_HEADERS): Write out the relocs even if there
2089 aren't any symbols.
2090 * aoutx.h (NAME(aout,swap_std_reloc_out)): Set r_index to N_ABS,
2091 not 0, for an absolute symbol.
2092 (NAME(aout,swap_ext_reloc_out)): Likewise.
2093
66ab4152
ILT
2094 * ihex.c (ihex_scan): Accept a length of 4 for record type 5.
2095 (ihex_write_object_contents): For a large start address, output
2096 the full 32 bit address in record type 5.
2097
b7fce5be
ILT
2098 * ieee.c (ieee_write_byte): Change second parameter from bfd_byte
2099 to int to avoid promotion problems in prototype.
2100
f1b45745
ILT
2101Tue Apr 9 11:44:21 1996 Ian Lance Taylor <ian@cygnus.com>
2102
f400f358
ILT
2103 * configure.host: Use ${srcdir} when looking for picfrag.
2104
3d9a5986
ILT
2105 * configure.host: Switch on ${libdir}, not $(libdir). From
2106 alan@spri.levels.unisa.edu.au (Alan Modra).
2107
f1b45745
ILT
2108 * aoutx.h (aout_link_add_symbols): Always call add_dynamic_symbols
2109 entry point, not just for DYNAMIC objects.
2110 * sunos.c (sunos_add_dynamic_symbols): Always call
2111 sunos_create_dynamic_sections. If called with a non DYNAMIC
2112 object, don't do anything else.
2113 (sunos_add_one_symbol): Don't call sunos_create_dynamic_sections.
2114
6f21f2e3
ILT
2115Mon Apr 8 12:09:36 1996 Ian Lance Taylor <ian@cygnus.com>
2116
639b5a09
ILT
2117 * configure.in: Permit --enable-shared to specify a list of
2118 directories.
2119 * configure: Rebuild.
2120
6f21f2e3
ILT
2121 * configure.host: Set HLDFLAGS and SHLIB_CFLAGS for *-dec-osf*
2122 host when configuring with --enable-shard.
2123
3f5f565b
ILT
2124Fri Apr 5 12:24:13 1996 Ian Lance Taylor <ian@cygnus.com>
2125
1ac75f5c
ILT
2126 * config.bfd: Add i[345]86-*-freebsdelf* target; from John Polstra
2127 <jdp@polstra.com>.
2128
1a9951a9
ILT
2129 * linker.c (link_action): For WARN_ROW/warn, use MWARN, not CYCLE,
2130 to avoid crashing in bfd_hash_replace.
2131
f1ac3acb 2132 * sysdep.h: Use #ifdef, not #if.
3f5f565b 2133
eb5f58e0
ILT
2134Thu Apr 4 23:32:23 1996 Ian Lance Taylor <ian@cygnus.com>
2135
2136 * config.in: Rebuild.
2137
ab1aa5cd
FF
2138Thu Apr 4 18:49:09 1996 Fred Fish <fnf@cygnus.com>
2139
2140 * configure.in (mips-sony-bsd*): Fix typo in AC_DEFINE.
2141 (AC_CHECK_HEADERS): Check for sys/time.h
2142 (AC_HEADER_TIME): Add macro.
2143 * configure: Rebuild.
2144 * sysdep.h: Use TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H
2145 to control what combination of <time> and <sys/time.h>
2146 get included.
2147
d1f74cd2
DE
2148Tue Apr 2 13:11:53 1996 Doug Evans <dje@canuck.cygnus.com>
2149
2150 * aoutf1.h (sunos_32_set_arch_mach): Handle M_SPARCLET.
2151 (aout_32_sunos4_write_object_contents): Likewise.
2152 * aoutx.h (NAME(aout,machine_type)): Handle
2153 bfd_mach_sparc_{sparclet,sparclite}.
2154 * archures.c (bfd_mach_sparc_{sparclet,sparclite}): Define.
2155 (bfd_mach_sparc_v9_p): Update.
2156 * cpu-sparc.c (arch_info_struct): Add entries for sparclet,sparclite.
2157 * libaout.h (enum machine_type): Add M_SPARCLET.
2158 * sunos.c (MACHTYPE_OK): Define.
2159 * bfd-in2.h: Regenerated.
2160
1dad72bd
ILT
2161Tue Apr 2 00:33:18 1996 Ian Lance Taylor <ian@cygnus.com>
2162
19bfbcbe
ILT
2163 * elf-bfd.h (struct elf_link_hash_table): Add hgot field.
2164 * elf.c (_bfd_elf_link_hash_table_init): Initialize hgot field.
2165 * elflink.c (_bfd_elf_create_got_section): Store the
2166 _GLOBAL_OFFSET_TABLE_ hash table entry in the hgot field.
2167 * elf32-sparc.c (elf32_sparc_check_relocs): If the size of the
2168 global offset table goes over 0x1000, set the value of
2169 _GLOBAL_OFFSET_TABLE_ to 0x1000 into the section.
2170 (elf32_sparc_relocate_section): Subtract the offset of
2171 _GLOBAL_OFFSET_TABLE_ when handling GOT relocations.
2172
1dad72bd
ILT
2173 * elfcode.h: Don't include <string.h>.
2174
ca4e2190
JL
2175Mon Apr 1 10:39:24 1996 Jeffrey A Law (law@cygnus.com)
2176
2177 * linker.c (_bfd_generic_link_hash_newfunc): Renamed from
2178 generic_link_hash_newfunc. All references changed.
2179 * genlink.h (_bfd_generic_link_hash_newfunc): Declaration
2180 moved here from libbfd-in.h.
2181 * libbfd-in.h: Corresponding changes.
2182 * libbfd.h: Regenerated.
2183
ce6a7731
ILT
2184Mon Apr 1 12:35:36 1996 Ian Lance Taylor <ian@cygnus.com>
2185
aad53b0d
ILT
2186 * aoutx.h (aout_link_input_section_std): When reporting an
2187 overflow error, use the name of the symbol in the hash table if
2188 available.
2189 (aout_link_input_section_ext): Likewise.
2190
ce6a7731
ILT
2191 * elflink.h (elf_adjust_dynamic_symbol): If a common symbol got
2192 defined in a regular file, set ELF_LINK_HASH_DEF_REGULAR.
2193
323b430f
SC
2194Sun Mar 31 01:58:41 1996 steve chamberlain <sac@slash.cygnus.com>
2195
2196 * peicode.h (coff_swap_aouthdr_out): Delete test for .junk.
2197 * coffcode.h (coff_compute_section_file_positions): Likewise.
2198 (coff_write_object_contents): Likewise.
2199
7fc1cd16
ILT
2200Fri Mar 29 12:44:36 1996 Ian Lance Taylor <ian@cygnus.com>
2201
5a28331f
ILT
2202 * section.c (SEC_LINK_ONCE): Define.
2203 (SEC_LINK_DUPLICATES): Define.
2204 (SEC_LINK_DUPLICATES_DISCARD): Define.
2205 (SEC_LINK_DUPLICATES_ONE_ONLY): Define.
2206 (SEC_LINK_DUPLICATES_SAME_SIZE): Define.
2207 (SEC_LINK_DUPLICATES_SAME_CONTENTS): Define.
2208 * bfd-in2.h: Rebuild.
2209 * coffcode.h (sec_to_styp_flags): If COFF_WITH_PE, turn
2210 SEC_LINK_ONCE into IMAGE_SCN_LNK_COMDAT.
2211 (styp_to_sec_flags): If COFF_WITH_PE, turn IMAGE_SCN_LNK_REMOVE
2212 into SEC_EXCLUDE. If IMAGE_SCN_LNK_COMDAT is set, set
2213 SEC_LINK_ONCE, and look through the symbol table for the setting
2214 for SEC_LINK_DUPLICATES.
2215 (coff_write_object_contents): If COFF_WITH_PE, if SEC_LINK_ONCE is
2216 set for a section, find the section symbol in the symbol table,
2217 and set the aux entry based on SEC_LINK_DUPLICATES.
2218 * coffgen.c (coff_print_symbol): Add a space before "checksum".
2219 * coff-arm.c (armcoff_big_vec): If COFF_WITH_PE is defined, add
2220 SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
2221 * coff-i386.c (i386coff_vec): Likewise.
2222 * coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
2223
7fc1cd16
ILT
2224 * VERSION: Bump to 2.6.1.
2225 * Makefile.in (stamp-h): Depend upon VERSION.
2226
9399a257
JL
2227Thu Mar 28 23:48:49 1996 Jeffrey A Law (law@cygnus.com)
2228
2229 * libbfd-in.h (generic_link_hash_newfunc): Add declaration.
2230 * libbfd.h: Rebuilt.
2231 * linker.c (generic_link_hash_newfunc): No longer static.
2232 * coffcode.h (coff_bfd_link_hash_create): Allow specific targets
2233 to override.
2234 * coff-h8300.c: Add two derived hash tables and their associated
2235 funtions and #defines for use by the h8300 linker.
2236 (h8300_reloc16_extra_cases, case R_MEM_INDIRECT): Create entries in
2237 the function vector as needed. Place the address of the function
2238 vector entry in the location specified by the R_MEM_INDIRECT reloc.
2239 Rewrite the vectors section contents as necessary.
2240 (h8300_bfd_link_add_symbols): New function for the h8300 linker.
2241 (coff_bfd_link_add_symbols): Define to use h8300 specific version.
2242 (coff_bfd_link_hash_table_create): Likewise.
2243
506f2bb4
ILT
2244Thu Mar 28 17:44:08 1996 Ian Lance Taylor <ian@cygnus.com>
2245
2246 * libhppa.h: If gcc 2.7 or higher, declare all the functions with
2247 __attribute__ ((__unused__)) so that -Wall doesn't warn about
2248 them.
2249 (hppa_rebuild_insn): Pass pointer to correct type to
2250 low_sign_unext and dis_assemble_21.
2251
05a84ae1
DE
2252Thu Mar 28 11:00:36 1996 Doug Evans <dje@canuck.cygnus.com>
2253
2254 * config.bfd (sparc64-{sysv4*,solaris2*}): Delete.
2255 Stick with sparc-*-{sysv4*,solaris2*}.
2256
919cf4b5
ILT
2257Wed Mar 27 10:43:34 1996 Ian Lance Taylor <ian@cygnus.com>
2258
8230f31c
ILT
2259 * peicode.h (coff_swap_aux_in): Swap in extra PE x_scn fields.
2260 (coff_swap_aux_out): Swap out extra PE x_scn fields.
2261 * coffswap.h (coff_swap_aux_in): Zero out extra PE x_scn fields.
2262 * coffgen.c (coff_print_symbol): If any of the extra PE x_scn
2263 fields is non-zero, print them.
2264
9addd1d4
ILT
2265 * coff-ppc.c (ppc_record_toc_entry): Put inside COFF_IMAGE_WITH_PE
2266 ifdef. Remove unused variables.
2267 (ppc_record_data_in_toc_entry): Ifdef out. Removed unused
2268 variables.
2269 (ppc_mark_symbol_as_glue): Put inside COFF_IMAGE_WITH_PE ifdef.
2270 (get_symbol_value): Ifdef out.
2271 (pe_ppc_reloc): Ifdef out. Remove unused variables.
2272 (coff_ppc_relocate_section): Remove unused variables. Make
2273 fprintf strings and argument types correspond. Put before_addr in
2274 DEBUG_RELOC ifdef.
ff0e4a93
ILT
2275 (dump_toc): Make fprintf strings and argument types correspond.
2276 (ppc_process_before_allocation): Remove unused variables. Always
2277 return a value.
9addd1d4
ILT
2278 (ppc_reflo_reloc): Ifdef out.
2279 (ppc_addr32nb_reloc): Ifdef out.
2280 (ppc_coff_rtype2howto): Make fprintf strings and argument types
2281 correspond.
2282 (coff_ppc_rtype_to_howto): Likewise.
2283 (ppc_coff_swap_sym_in_hook): Remove unused variables.
2284
2285 * peicode.h (pe_print_idata): Move otherwise unused variables into
2286 the #ifdef where they are used. Always return a value.
ff0e4a93
ILT
2287 (pe_print_edata): Make fprintf strings and argument types
2288 correspond. Always return a value.
9addd1d4
ILT
2289 (pe_print_pdata): Removed unused variable addr_value. Always
2290 return a value.
2291 (pe_print_reloc): Remove unused variable onaline. Make fprintf
ff0e4a93 2292 strings and argument types correspond. Always return a value.
9addd1d4
ILT
2293
2294 * elf32-ppc.c (ppc_elf_fake_sections): Return true.
2295 (ppc_elf_finish_dynamic_symbol): Move definition of unused
2296 variable rela inside #if 0 section where it is used.
2297
c877bdf1
ILT
2298 * ns32k.h: New file.
2299 * cpu-ns32k.h: Include ns32k.h. Rename externally visible
2300 functions to start with _bfd_.
2301 * aout-ns32k.c: Include ns32k.h. Change references to renamed
2302 functions in cpu-ns32k.h.
2303 * Makefile.in: Rebuild dependencies.
2304 (HFILES): Add ns32k.h.
2305
ff0e4a93
ILT
2306 * section.c (struct sec): Add linker_mark field. Change
2307 user_set_vma and reloc_done to be single bit fields.
2308 (STD_SECTION): Update accordingly.
7ec49f91
ILT
2309 * bfd-in2.h: Rebuild.
2310 * aoutx.h (NAME(aout,final_link)): Mark sections included in the
2311 link.
2312 (aout_link_input_bfd): Don't link unmarked sections.
2313 * cofflink.c (_bfd_coff_final_link): Mark sections included in the
2314 link.
2315 (_bfd_coff_link_input_bfd): Don't link unmarked sections.
2316 * coff-ppc.c (ppc_bfd_coff_final_link): Mark sections included in
2317 the link.
2318 * elflink.h (elf_bfd_final_link): Mark sections included in the
2319 link.
2320 (elf_link_input_bfd): Don't link unmarked sections.
2321 * xcofflink.c (_bfd_xcoff_bfd_final_link): Mark sections included
2322 in the link.
2323 (xcoff_link_input_bfd): Don't link unmarked sections.
2324
919cf4b5
ILT
2325 * coffswap.h (coff_swap_scnhdr_out): Include section name in
2326 overflow error messages.
2327
986cf3b8
ILT
2328Tue Mar 26 15:46:18 1996 Ian Lance Taylor <ian@cygnus.com>
2329
fd681dcd
ILT
2330 * bfd.c (_bfd_default_error_handler): If _bfd_error_program_name
2331 is not set, print "BFD: " before the error message.
2332
986cf3b8
ILT
2333 * configure.in: Use AC_CHECK_TOOL to find ar and ranlib. From
2334 Miles Bader <miles@gnu.ai.mit.edu>.
2335 * configure: Rebuild.
2336
3998d526
ILT
2337Fri Mar 22 12:17:00 1996 Ian Lance Taylor <ian@cygnus.com>
2338
c3dffbd7
ILT
2339 * xcofflink.c (xcoff_link_input_bfd): Fix scan for C_BINCL/C_EINCL
2340 symbols.
2341
3998d526
ILT
2342 * config.bfd: Add ieee_vec to targ_selvecs for i960 targets and
2343 m68k-aout, m68k-coff, and m68k-elf targets.
2344
e4d27380
ILT
2345Fri Mar 22 11:33:44 1996 Martin Anantharaman <martin@goofy.imech.uni-duisburg.de>
2346
2347 * ieee.c: Changed #ifdef KEEPMINUSPCININST to #if KEEPMINUSPCININST.
2348 (ieee_generic_stat_arch_elt): Restructured to prevent
2349 ieee_object_p from being called repeatedly.
2350
51776a11
SC
2351Thu Mar 21 11:00:47 1996 steve chamberlain <sac@slash.cygnus.com>
2352
2353 * coffcode.h (coff_write_object_contents): Allocate
2354 buffers large enough for any FILEHDR or AOUTHDR.
2355
2356Thu Mar 21 16:28:17 1996 David Mosberger-Tang <davidm@azstarnet.com>
2357
2358 * ecofflink.c (lookup_line): New static function, renamed and
2359 slighly changed from old _bfd_ecoff_locate_line.
2360 (_bfd_ecoff_locate_line): Cache line number information. Use
2361 lookup_line for actual lookup.
2362
9e4ebb1b
MM
2363Thu Mar 21 14:59:11 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2364
2365 * peicode.h (pe_print_pdata): Warn if the .pdata section is not a
2366 multiple of 20 bytes.
2367
9e7427a4
ILT
2368Thu Mar 21 13:54:40 1996 Ian Lance Taylor <ian@cygnus.com>
2369
51776a11
SC
2370 * ecoff.c (_bfd_ecoff_find_nearest_line): Use bfd_zalloc to
2371 allocate ecoff_find_line, and don't initialize by hand.
2372 * elf32-mips.c (mips_elf_find_nearest_line): Use bfd_zalloc for
2373 mips_elf_find_line, and don't call memset.
2374
9e7427a4
ILT
2375 * coffcode.h (coff_compute_section_file_positions): If not
2376 producing a final executable, don't consider sofar when aligning
2377 the section to the correct size.
2378
2379Wed Mar 20 16:53:12 1996 Ian Lance Taylor <ian@cygnus.com>
2380
2381 * coffcode.h (coff_add_missing_symbols): Ifdef out.
2382 (coff_write_object_contents): Don't call coff_add_missing_symbols.
2383 * coffgen.c (coff_section_symbol): Ifdef out.
2384
e7f9ba4f
ILT
2385Mon Mar 18 12:54:41 1996 Ian Lance Taylor <ian@cygnus.com>
2386
2387 * elf32-mips.c (mips_elf_gprel32_reloc): Initialize gp if
2388 output_bfd is not NULL.
2389
34c4d647
DE
2390Thu Mar 14 17:12:06 1996 Doug Evans <dje@charmed.cygnus.com>
2391
2392 * coffgen.c (coff_get_normalized_symtab): Call bfd_zalloc instead
2393 of bfd_alloc (fixes fix_line not being initialized).
2394 Delete zeroing of fix_{value,tag,end,scnlen} fields.
2395
4e054247
JL
2396Thu Mar 14 16:06:06 1996 Jeffrey A Law (law@cygnus.com)
2397
57289b5c
JL
2398 * coffcode.h: Allow specific backends to override the
2399 bfd_link_add_symbols routine.
2400
4e054247
JL
2401 * coff-h8300.c: Include genlink.h.
2402 (howto_table): Add R_MEM_INDIRECT.
2403 (rtype2howto): Support R_MEM_INDIRECT.
2404 (h8300_reloc16_extra_cases): Handle R_MEM_INDIRECT like R_RELBYTE
2405 for now.
2406
a10d3dec
ILT
2407Tue Mar 12 12:41:17 1996 David Mosberger-Tang <davidm@koala.azstarnet.com>
2408
2409 * coff-alpha.c (alpha_relocate_section): Use
2410 info->callbacks_warning, rather than _bfd_error_handler, for
2411 "multiple gp" warning.
2412
ea2488ad
ILT
2413Tue Mar 12 12:10:55 1996 Ian Lance Taylor <ian@cygnus.com>
2414
8881b321
ILT
2415 * linker.c (bfd_wrapped_link_hash_lookup): New function.
2416 (_bfd_generic_link_add_one_symbol): Remove BFD_ASSERT on hash
2417 table string. Use bfd_wrapped_link_hash_lookup.
2418 (_bfd_generic_link_write_global_symbol): Remove BFD_ASSERT on hash
2419 table string.
2420 * aoutx.h (aout_link_write_symbols): Use the name from the hash
2421 table, if any, when writing out symbols.
2422 (aout_link_input_section_std): Use the name from the hash table,
2423 if any, when reporting undefined symbols.
2424 (aout_link_input_section_ext): Likewise.
2425 (aout_link_reloc_link_order): Use bfd_wrapped_link_hash_lookup.
2426 * bout.c (get_value): Likewise.
2427 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
2428 * ecoff.c (ecoff_reloc_link_order): Likewise.
2429 * elflink.h (elf_link_add_object_symbols): Likewise.
2430 (elf_reloc_link_order): Likewise.
2431 * linker.c (_bfd_generic_link_output_symbols): Likewise.
2432 (_bfd_generic_reloc_link_order): Likewise.
2433 (default_indirect_link_order): Likewise.
2434 * reloc16.c (bfd_coff_reloc16_get_value): Likewise.
2435 * sunos.c (sunos_add_one_symbol): Likewise.
2436 * xcofflink.c (xcoff_link_add_symbols): Likewise.
2437 (bfd_xcoff_link_count_reloc): Likewise.
2438 (xcoff_reloc_link_order): Likewise.
2439
2440 * ecoffswap.h (ecoff_swap_fdr_in): If ECOFF_64, turn 0xffffffff
2441 into -1 for intern->rss.
2442
ea2488ad
ILT
2443 * configure: Rebuild with autoconf 2.8.
2444
c189fdfb
ILT
2445Mon Mar 11 12:28:31 1996 Ian Lance Taylor <ian@cygnus.com>
2446
2447 * stab-syms.c (__define_stab_duplicate): Define.
2448 (bfd_get_stab_name): Rename from aout_stab_name. Rewrite to use a
2449 switch.
2450 * bfd-in.h (bfd_get_stab_name): Declare.
2451 * bfd-in2.h: Rebuild.
2452 * Makefile.in: Rebuild dependencies.
2453 (BFD_LIBS): Add stab-syms.o.
2454 (BFD_LIBS_CFILES): Add stab-syms.c.
2455 (BFD32_BACKENDS): Remove stab-syms.o.
2456 (BFD32_BACKENDS_CFILES): Remove stab-syms.c.
2457 * configure.in: Don't list stab-syms.o in bfd_backends.
2458 * configure: Rebuild.
2459 * libaout.h (aout_stab_name): Don't declare.
2460 * aoutx.h (NAME(aout,get_symbol_info)): Call bfd_get_stab_name,
2461 not aout_stab_name.
2462
2463Fri Mar 8 11:26:20 1996 Ian Lance Taylor <ian@cygnus.com>
2464
2465 * elf.c (assign_file_positions_for_segments): Adjust file offset
2466 for section alignment even if SEC_LOAD is not set.
2467
c5bde1ef
ILT
2468Tue Mar 5 12:02:23 1996 Ian Lance Taylor <ian@cygnus.com>
2469
8f218e05
ILT
2470 * configure.in: Don't set SHLIB or SHLINK to an empty string,
2471 since they appear as targets in Makefile.in.
2472 * configure: Rebuild.
2473
c5bde1ef
ILT
2474 * sunos.c (sunos_scan_ext_relocs): If not making a shared library,
2475 don't fiddle with a symbol which is not defined anywhere.
2476
cb84f028
ILT
2477Mon Mar 4 12:49:16 1996 Ian Lance Taylor <ian@cygnus.com>
2478
4e59f523
ILT
2479 * xcofflink.c (xcoff_mark): Treat undefined imported symbols as
2480 though they are defined in a shared library.
2481 (xcoff_build_ldsyms): Likewise.
2482
ea2504d5
ILT
2483 * coffgen.c (coff_find_nearest_line): Don't look at the line
2484 numbers for the section if section->lineno is NULL.
2485
cb84f028
ILT
2486 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Print a useful error
2487 message rather than calling BFD_ASSERT.
2488 * elfcode.h (write_relocs): Check return value of
2489 _bfd_elf_symbol_from_bfd_symbol.
2490
6e036cf7
MM
2491Fri Mar 1 09:42:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2492
2493 * elf32-ppc.c (ppc_elf_add_symbol_hook): Don't set SEC_LOAD flag
2494 for .sbss section.
2495
d08435de
JL
2496Wed Feb 28 11:25:47 1996 Jeffrey A Law (law@cygnus.com)
2497
2498 * libhppa.h (hppa_reloc_field_selector_type): Add R_HPPA_NLSEL
2499 and R_HPPA_NLRSEL.
2500 (e_nsel, e_nlsel, e_nlrsel): Undefine. Add to
2501 hppa_reloc_field_selector_type_alt.
2502 (hppa_field_adjust): Handle e_nlsel, e_nlrsel. Fix e_nsel handling.
2503 * som.c (hppa_som_gen_reloc_type): Handle N', NL' NLR' field
2504 selectors.
2505 (som_write_fixups): Finish handling of R_N0SEL and R_N1SEL.
2506
09609415
ILT
2507Wed Feb 28 11:00:24 1996 Ian Lance Taylor <ian@cygnus.com>
2508
2509 * elf.c (assign_file_positions_for_segments): Adjust the segment
2510 memory size for the alignment of a SEC_ALLOC section, not just a
2511 SEC_LOAD section.
2512
55626bf0
ILT
2513Tue Feb 27 14:17:31 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2514
2515 * m68klinux.c: New file.
2516 * hosts/m68klinux.h: New file.
2517 * config.bfd (m68*-*-linuxaout*, m68*-*-linux*): New targets.
2518 * configure.in (m68*-*-linux*): New native host.
2519 (m68klinux_vec): New vector.
2520 * configure: Rebuild.
2521 * targets.c (m68klinux_vec): Declare.
2522 * i386linux.c (bfd_i386linux_size_dynamic_sections): Renamed from
2523 bfd_linux_size_dynmic_sections to avoid clash with m68klinux.c.
2524 * bfd-in.h (bfd_i386linux_size_dynamic_sections): Rename
2525 declaration from bfd_linux_size_dynamic_sections.
2526 (bfd_m68klinux_size_dynamic_sections): Declare.
2527 * bfd-in2.h: Rebuild.
2528 * Makefile.in: Rebuild dependencies.
2529 (BFD32_BACKENDS): Add m68klinux.o.
2530 (BFD32_BACKENDS_CFILES): Add m68klinux.c.
2531
6c7b3090
JL
2532Tue Feb 27 11:31:34 1996 Jeffrey A Law (law@cygnus.com)
2533
2534 * libhppa.h (pa_arch): Add pa20.
2535 (hppa_reloc_field_selector_type): Add R_HPPA_NSEL.
2536 (e_nsel): Undefine. Add to hppa_reloc_field_selector_type_alt.
2537 (hppa_field_adjust): Handle e_nsel.
2538 * som.c: Provide default definitions for many new relocs found only
2539 in hpux10 include files.
2540 (som_fixup_formats): Add several new relocs from hpux10.
2541 (som_hppa_howto_table): Add hpux10 relocs.
2542 (som_write_fixups): Handle R_N0SEL and R_N1SEL hpux10 relocs.
2543
14fd4616
SS
2544Mon Feb 26 12:52:48 1996 Stan Shebs <shebs@andros.cygnus.com>
2545
2546 * mpw-make.sed: Edit out recent shared library support, and
2547 rules to rebuild .h files using doc/chew.
2548
3d9f042c
ILT
2549Mon Feb 26 14:48:39 1996 David Mosberger-Tang <davidm@AZStarNet.com>
2550
2551 * ecoff.c (ecoff_compute_section_file_positions): Adjust the file
2552 size even of sections with no contents.
2553
bdec6228
ILT
2554Mon Feb 26 14:01:13 1996 Ian Lance Taylor <ian@cygnus.com>
2555
88358469
ILT
2556 * cofflink.c (_bfd_coff_link_input_bfd): When merging, skip names
2557 starting with '$' the way we skip names starting with '.'. When
2558 updating x_endndx, don't be fooled by an index which has been
2559 merged.
2560
bdec6228
ILT
2561 * cofflink.c (_bfd_coff_link_input_bfd): Don't try to optimize a
2562 struct/union/enum type with no elements.
2563
053ae1d7
ILT
2564Sat Feb 24 11:38:58 1996 Ian Lance Taylor <ian@cygnus.com>
2565
15f4406c
ILT
2566 * bfd.c (bfd_errmsg): Handle a NULL return from strerror.
2567
c8435133
ILT
2568 * archive.c (bfd_generic_archive_p): If the first file in the
2569 archive can not be recognized as an object, don't assume that this
2570 is the wrong format.
2571
053ae1d7
ILT
2572 * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
2573 format is not bfd_object.
2574 (bfd_elf_get_dt_soname): Likewise.
2575
ea74d979
ILT
2576Wed Feb 21 13:58:04 1996 Ian Lance Taylor <ian@cygnus.com>
2577
2578 * coff-sh.c (sh_relax_delete_bytes): Correct range of R_SH_USES
2579 reloc.
2580
871a3f3b
C
2581Tue Feb 20 16:22:44 1996 J.T. Conklin <jtc@rtl.cygnus.com>
2582
2583 * bfd.c (tdata): Add netbsd_core_data.
2584 * bfd-in2.h: Regenerated.
2585
2586Tue Feb 20 16:50:02 1996 Ian Lance Taylor <ian@cygnus.com>
2587
fe6fc35f
ILT
2588 * sunos.c (SUNOS_CONSTRUCTOR): Define.
2589 (sunos_add_one_symbol): Don't let a symbol from a dynamic object
2590 override a constructor symbol. Set SUNOS_CONSTRUCTOR when
2591 appropriate.
2592
871a3f3b
C
2593 * bout.c (b_out_squirt_out_relocs): Use udata.i rather than flags
2594 to get the symbol index, matching 14 Jul 95 change.
2595
d3785301
FF
2596Tue Feb 20 08:26:27 1996 Fred Fish <fnf@phydeaux.cygnus.com>
2597
2598 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
2599 Remove duplicate definition of gp.
2600
60a49e7f
ILT
2601Mon Feb 19 12:37:41 1996 Ian Lance Taylor <ian@cygnus.com>
2602
81bdcecf
ILT
2603 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Don't
2604 assume that we can set the GP value and then get the same value,
2605 since it won't be true if the output file is neither ELF nor
2606 ECOFF.
2607 * coff-mips.c (mips_adjust_reloc_in): Don't bother to use
2608 _bfd_get_gp_value here.
2609 (mips_gprel_reloc): Don't assume we can set and get the GP value.
2610 * elf32-mips.c (mips_elf_hi16_reloc): Get gp value from
2611 mips_elf_final_gp.
2612 (mips_elf_lo16_reloc): Likewise.
2613 (mips_elf_final_gp): Add pgp parameter. Set it to the GP value.
2614 Don't require that the BFD be ELF.
2615 (mips_elf_gprel16_reloc): Get gp value from mips_elf_final_gp.
2616 (mips_elf_gprel32_reloc): Likewise.
2617 (mips_elf_relocate_section): Don't assume we can set and get the
2618 GP value.
2619 (mips_elf_finish_dynamic_symbol): Don't bother to use
2620 _bfd_get_gp_value here.
2621
2622 * elf32-mips.c (mips_elf_create_procedure_table): Initialize sv.
2623 Don't change epdr between malloc and free. Be careful not to free
2624 NULL pointers. Zero out the first RPDR.
2625
7b61165a
ILT
2626 * configure.host: On Linux, only pass -rpath option if $(libdir)
2627 is neither /lib nor /usr/lib. From Alan Modra
2628 <alan@mullet.Levels.UniSA.Edu.Au>.
2629
60a49e7f
ILT
2630 * elf-bfd.h (struct elf_obj_tdata): Rename dt_needed_name to
2631 dt_name.
2632 (elf_dt_name): Rename from elf_dt_needed_name.
2633 * elf.c (bfd_elf_set_dt_needed_name): Use elf_dt_name, not
2634 elf_dt_needed_name.
2635 (bfd_elf_get_dt_soname): New function.
2636 * elflink.h (elf_link_add_object_symbols): Use elf_dt_name, not
2637 elf_dt_needed_name. Save the SONAME back in elf_dt_name.
2638 * bfd-in.h (bfd_elf_get_dt_soname): Declare.
2639 * bfd-in2.h: Rebuild.
2640
b268e261
DE
2641Mon Feb 19 02:50:23 1996 Doug Evans <dje@charmed.cygnus.com>
2642
2643 * elf32-sparc.c (elf32_sparc_reloc_type_lookup): Renamed from
2644 _bfd_sparc_elf_reloc_type_lookup.
2645 (bfd_elf32_bfd_reloc_type_lookup): Update.
2646 * elf64-sparc.c (SPARC64_OLD_RELOCS): Define.
2647 (sparc64_elf_howto_table): Define.
2648 (sparc_reloc_map): Define.
2649 (sparc64_elf_reloc_type_lookup): New function.
2650 (sparc_elf_wdisp16_reloc): New function.
2651 (elf_info_to_howto): Use sparc64_elf_howto_table.
2652 (sparc64_elf_relocate_section): Likewise.
2653 (bfd_elf64_bfd_reloc_type_lookup): Update.
2654
9e2ef098
ILT
2655Sun Feb 18 15:02:25 1996 Ian Lance Taylor <ian@cygnus.com>
2656
2657 * configure.host: Check for 'do not mix' from native linker before
2658 trying to use -rpath.
2659
4c70373f
ILT
2660Fri Feb 16 12:46:18 1996 Ian Lance Taylor <ian@cygnus.com>
2661
cba3f8a9
ILT
2662 * bfd.c (_bfd_get_gp_value): New function.
2663 (_bfd_set_gp_value): New function.
2664 * libbfd-in.h (_bfd_get_gp_value): Declare.
2665 (_bfd_set_gp_value): Declare.
2666 * libbfd.h: Rebuild.
2667 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use
2668 _bfd_get_gp_value and _bfd_set_gp_value rather than referring
2669 directly to the fields in the tdata information.
2670 (alpha_relocate_section): Likewise.
2671 * coff-mips.c (mips_adjust_reloc_in): Likewise.
2672 (mips_gprel_reloc): Likewise.
2673 (mips_relocate_section): Likewise.
2674 * elf32-mips.c (mips_elf_hi16_reloc): Likewise.
2675 (mips_elf_lo16_reloc): Likewise.
2676 (mips_elf_final_gp): Likewise.
2677 (mips_elf_gprel16_reloc): Likewise.
2678 (mips_elf_gprel32_reloc): Likewise.
2679 (mips_elf_relocate_section): Likewise.
2680 (mips_elf_finish_dynamic_symbol): Likewise.
2681
4c70373f
ILT
2682 * bout.c (b_out_set_arch_mach): Recognize bfd_mach_i960_jx.
2683
a0a2dd54
ILT
2684Thu Feb 15 11:29:13 1996 Ian Lance Taylor <ian@cygnus.com>
2685
f54c7482 2686 * configure.in: Call AC_PROG_CC before configure.host.
65eed095
ILT
2687 * configure: Rebuild.
2688 * configure.host: Don't set information which autoconf should
2689 figure out, namely CC, CFLAGS, LDFLAGS, AR, and RANLIB.
65eed095 2690
14293419
ILT
2691 * configure.host: Remove go32 and win32 host information, since it
2692 should no longer be needed.
2693
edf3fe48
ILT
2694 * elf.c (map_sections_to_segments): If we have a .dynamic section,
2695 then start a new segment rather than put a writable section in a
2696 readonly segment.
2697
b5e4f369
ILT
2698 * configure.host: Set RPATH_ENVVAR.
2699
f2e33e27
ILT
2700 * Makefile.in: Rebuild dependencies.
2701
a0a2dd54
ILT
2702 * elflink.c (_bfd_elf_create_linker_section): Remove unused
2703 zero_section variable.
2704
52c6bc4d
ILT
2705Thu Feb 15 10:39:17 1996 H.J. Lu <hjl@zoom.com>
2706
2707 * Makefile.in ($(srcdir)/bfd-in2.h): Rename target from bfd-in2.h.
2708 ($(srcdir)/libbfd.h): Rename from libbfd.h.
2709 ($(srcdir)/libcoff.h): Rename from libcoff.h.
2710
c9e5279f
ILT
2711Wed Feb 14 16:29:07 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
2712
cb50baea
ILT
2713 * ieee.c (ieee_write_expression): Only use an R variable for a
2714 local symbol. Don't output a zero offset. Handle a zero address.
2715 (SRC_MASK, PCREL_OFFSET): Define based on KEEPMINUSPCININST.
2716 (rel32_howto, rel16_howto, rel8_howto): Use SRC_MASK and
2717 PCREL_OFFSET.
2718 (parse_expression): Don't try to handle multiple occurrences of a
2719 P variable. Handle I variables differently from X variables. Fix
2720 the order of minus expressions.
2721 (ieee_slurp_external_symbols): Generate an I variable for an NN
2722 record. Fix handling of ATI and ATX records.
2723 (ieee_slurp_sections): Only set minimal section attributes.
2724 Adjust them later, based on the section contents.
2725 (ieee_object_p): Read in the file until just after the ME record.
2726 Call ieee_slurp_section_data to set the section flags.
2727 (do_one): Add iterations parameter. Only repeat the first load
2728 item. Set the section and file reloc flags.
2729 (ieee_slurp_section_data): Set section flags. Pass iterations to
2730 do_one.
2731 (ieee_canonicalize_reloc): Handle I variables.
2732 (do_with_relocs): Only emit relocation size when necessary.
2733 Increase MAXRUN to 127. Change ov to be assigned, and take
2734 src_mask and pcrel_offset into account.
2735 (ieee_write_data_part): Skip sections that are not loaded.
2736 (ieee_write_external_part): Don't output optional last entry of WX
2737 records.
2738 (ieee_write_me_part): Make setting of me_record neater.
2739 (ieee_generic_stat_arch_elt): Get the size of an archive element.
2740
c9e5279f
ILT
2741 * syms.c (stt): Add entries for zerovars, vars, and code.
2742
2743 * elfcode.h (validate_reloc): New static function.
2744 (write_relocs): Call validate_reloc for non ELF relocs.
2745
2746 * elfxx-target.h (elf_symbol_leading_char): Define if not defined.
2747 (TARGET_BIG_SYM): Use elf_symbol_leading_char.
2748 (TARGET_LITTLE_SYM): Likewise.
2749
2750 * config.bfd (m68*-*-psos*): New target.
2751
d9d65be6
ILT
2752Tue Feb 13 15:56:22 1996 Bryan Ford <baford@snake.cs.utah.edu>
2753
2754 * i386msdos.c: Remove some #if 0 code.
2755 (msdos_write_object_contents): Don't include empty sections in the
2756 size computation, regardless of their address.
2757
2758Tue Feb 13 15:36:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2759
2760 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault if dynboj
2761 is NULL, ie, the -r switch is used.
2762
db5970c7
ILT
2763Tue Feb 13 14:35:15 1996 Ian Lance Taylor <ian@cygnus.com>
2764
e9f03cd4
ILT
2765 * reloc.c (BFD_RELOC_MIPS_GOT_HI16): Define.
2766 (BFD_RELOC_MIPS_GOT_LO16): Define.
b7384d22 2767 (BFD_RELOC_MIPS_CALL_HI16, BFD_RELOC_MIPS_CALL_LO16): Define.
e9f03cd4
ILT
2768 * bfd-in2.h, libbfd.h: Rebuild.
2769 * elf32-mips.c (mips_reloc_map): Map new relocs.
2770
fe7c066a
ILT
2771 * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared.
2772
1ab628e4
ILT
2773 * Makefile.in ($(SHLINK)): Check ts against $(SHLIB), not
2774 $(SHLINK).
2775
db5970c7
ILT
2776 * ieee.c (get_symbol): Set the section to bfd_abs_section.
2777 (do_with_relocs): If EXEC_P is set and there are no relocs, use a
2778 simple number for the section address, rather than an expression.
2779 Limit the number of bytes between relocs to MAXRUN.
2780 (ieee_write_me_part): Set me_record to the file offset after the
2781 start address.
2782 (ieee_write_processor): New static function.
2783 (ieee_write_object_contents): Use ieee_write_processor.
2784
318b7c18
ILT
2785Fri Feb 9 10:53:00 1996 Ian Lance Taylor <ian@cygnus.com>
2786
db5970c7
ILT
2787 * configure.host: Use ${CC-gcc} when testing for -rpath on SunOS.
2788
2789 * coff-aux.c: Change include of aux.h to aux-coff.h.
318b7c18 2790
56b64690
ILT
2791Thu Feb 8 14:01:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2792
2793 * elf32-m68k.c (elf_m68k_relocate_section): For a R_68K_RELATIVE
2794 relocation put the addend both in the reloc entry and the data.
2795 (elf_m68k_finish_dynamic_symbol): Likewise. Mask out marker in
2796 GOT offset value.
2797
2798 * elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, resolve
2799 a R_68K_PCxx reloc against a defined global symbol directly.
2800 (elf_m68k_check_relocs): Don't count such a reloc.
2801
2802 * elf32-m68k.c (elf_m68k_check_relocs): Don't record a symbol with
2803 a PLTxx reloc as dynamic. Disallow PLTxxO reloc against a local
2804 symbol for now, otherwise always record the symbol as dynamic.
2805 (elf_m68k_adjust_dynamic_symbol): If a symbol with a PLTxx reloc
2806 is not referenced by a dynamic object, and we are not making a
2807 shared object, then don't make a PLT entry. If we do make a PLT
2808 entry, make sure the symbol has been recorded as dynamic.
2809
5d649ca8
ILT
2810Wed Feb 7 13:56:06 1996 Ian Lance Taylor <ian@cygnus.com>
2811
2812 * configure.host: When making a shared library, set HLDFLAGS to
2813 pass an appropriate -rpath option. Use the make variable SONAME
2814 as the shared library soname, rather than computing it here. On
2815 SunOS, build stamp-tshlink in place of $(SHLINK).
2816 * Makefile.in (SONAME): New variable.
2817 ($(SHLINK)): Make a link to the transformed name, as well.
2818 (stamp-tshlink): New target.
2819 (install): Skip stamp-tshlink during install.
2820
8cc98cd5
MM
2821Wed Feb 7 13:37:39 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2822
56b64690
ILT
2823 * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not assume that the
2824 linker sections have been set up yet.
2825
8cc98cd5
MM
2826 * elf.c (make_mapping): Add an additional argument to suppress
2827 making the first section include the program headers.
2828 (map_sections_to_segments): If the user used -Ttext such that the
2829 program headers are on a different page, do not set the flags
2830 saying that this section includes the program headers.
2831
fe16107d
C
2832Tue Feb 6 14:04:49 1996 J.T. Conklin <jtc@rtl.cygnus.com>
2833
2834 * configure.in (*-*-netbsd*): Set COREFILE to netbsd-core.c.
2835 don't define TRAD_HEADER.
2836 * configure: Rebuild.
2837
2838 * netbsd-core.c: New file, support for NetBSD core files.
2839 * hosts/*nbsd.h: Removed.
2840
f1783016
DE
2841Tue Feb 6 11:47:49 1996 Doug Evans <dje@charmed.cygnus.com>
2842
2843 * reloc.c (BFD_RELOC_SPARC_[567]): New reloc types.
2844 (BFD_RELOC_SPARC_LO7 reloc type): Deleted.
2845 * libbfd.h, bfd-in2.h: Regenerated.
2846 * elf32-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Renamed from
2847 bfd_elf32_bfd_reloc_type_lookup.
2848 (reloc_type{,_names}): Deleted.
2849 (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
2850 Add sparc64 relocs.
2851 (sparc_reloc_map): Add sparc64 relocs.
2852 (sparc_elf_notsupported_reloc): New static function.
2853 (sparc_elf_wdisp16_reloc): New static function.
2854 (elf32_sparc_check_relocs): Handle R_SPARC_WDISP{16,19}.
2855 (elf32_sparc_relocate_section): Likewise.
2856 (bfd_elf32_bfd_reloc_type_lookup): Define.
2857 * elf64-sparc.c (sparc64_elf_wdisp16_reloc): Deleted.
2858 (reloc_type{,_names}): Deleted.
2859 (elf_sparc_howto_table): Deleted.
2860 (sparc_reloc_map): Deleted.
2861 (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
2862 (bfd_elf64_bfd_reloc_type_lookup): Change from function to #define.
2863
48fd00b6
ILT
2864Tue Feb 6 12:12:22 1996 Ian Lance Taylor <ian@cygnus.com>
2865
2300e217
ILT
2866 * configure.host: Make SHLIB_CFLAGS include $(PICFLAG) on a
2867 *-*-hpux* host.
2868
48fd00b6
ILT
2869 * Makefile.in (program_transform_name): New variable.
2870 (install): Transform library name before installing it.
2871
8adca582
ILT
2872Mon Feb 5 10:38:27 1996 Ian Lance Taylor <ian@cygnus.com>
2873
cbe75cb6
ILT
2874 * archures.c (bfd_mach_i960_hx): Define.
2875 * bfd-in2.h: Rebuild.
2876 * cpu-i960.c (scan_960_mach): Accept machine "hx".
2877 (MATRIX): Expand entries for HX.
2878 (arch_info_struct): Add i960:hx entry.
2879 * bout.c (b_out_set_arch_mach): Handle bfd_mach_i960_hx.
2880 * coffcode.h (coff_set_arch_mach_hook): Handle F_I960HX.
2881 (coff_set_flags): Handle bfd_mach_i960_hx.
2882
44f795f7
ILT
2883 Support for building as a shared library, based on patches from
2884 Alan Modra <alan@spri.levels.unisa.edu.au>:
2885 * configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
2886 New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
2887 SHLIB_CFLAGS, COMMON_SHLIB, PICLIST, SHLINK.
2888 * configure: Rebuild.
2889 * configure.host: If --enable-shared, adjust shared library stuff
2890 based on the host. If the host is SunOS, and the linker supports
2891 -rpath, set HLDFLAGS to use it.
2892 * Makefile.in (ALLLIBS): New variable.
2893 (PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
2894 (COMMON_SHLIB, SHLINK): New variables.
2895 (.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
2896 (STAGESTUFF): Remove variable.
2897 (all): Depend upon $(ALLLIBS) and @PICLIST@ rather than
2898 $(TARGETLIB).
2899 (stamp-ofiles): New target, like old ofiles target, but build
2900 using a temporary file and move-if-change, and touch stamp-ofiles
2901 when done.
2902 (ofiles): Just depend upon stamp-ofiles.
2903 (stamp-piclist, piclist): New targets.
2904 ($(SHLIB), $(SHLINK)): New targets.
2905 (targets.o, archures.o): Build twice if PICFLAG is set.
2906 (do_mostlyclean): Remove pic/*.o.
2907 (do_clean): Remove stamp-ofiles, $(SHLIB), $(SHLINK), piclist, and
2908 stamp-piclist.
2909 (do_distclean): Remove pic and stamp-picdir.
2910 (install): Install shared libraries.
2911 ($(OFILES)): Depend upon stamp-picdir.
2912 (stamp-picdir): New target.
2913
cb62d2bc
ILT
2914 * libcoff-in.h: Add comment reminding people that libcoff.h is a
2915 generated file.
2916 * libcoff.h: Rebuild.
2917
8adca582
ILT
2918 * elflink.h (elf_adjust_dynamic_symbol): Don't try to get the
2919 flavour of a section with no owner.
2920
2921 * elf32-mips.c (mips_elf_create_dynamic_sections): Clear
2922 ELF_LINK_NON_ELF flag.
2923 (mips_elf_create_got_section): Likewise.
2924
2925 * elf.c: Revert last change, since it breaks dynamic linking.
2926 * elf-bfd.h (struct elf_backend_data): Remove want_hdr_in_seg
2927 field.
2928 * elf32-mips.c (elf_backend_want_hdr_in_seg): Don't define.
2929 * elfxx-target.h (elf_backend_want_hdr_in_seg): Don't define.
2930 (elfNN_bed): Don't initialize want_hdr_in_seg field.
2931
2932Sun Feb 4 20:45:13 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2933
2934 * elf.c (assign_file_positions_for_segments): If the backend does
2935 not want the elf header or the program headers in the address
2936 space, do not include them in the calculations.
2937
2938 * elf32-ppc.c (ppc_elf_additional_program_headers): New hook
2939 function to determine if we need additional program headers.
2940 (ppc_elf_modify_segment_map): Define as a NOP function for now.
2941 (ppc_elf_create_linker_section): .sdata2 is a read-only section.
2942
0f09ddd4
ILT
2943Sat Feb 3 23:00:03 1996 Ian Lance Taylor <ian@cygnus.com>
2944
2945 * coffcode.h: Move today's libcoff.h change into coffcode.h.
2946
b48f10ba
FF
2947Sat Feb 3 15:43:44 1996 Fred Fish <fnf@cygnus.com>
2948
0f09ddd4
ILT
2949 * libcoff.h (bfd_coff_link_add_one_symbol): Combine macro args
2950 back into one line. Some compilers (sunos 4.1.3 for example)
2951 won't accept args split across more than one line.
b48f10ba 2952
50761d3b
SC
2953Fri Feb 2 11:42:15 1996 Steve Chamberlain <sac@slash.cygnus.com>
2954
2955 * aclocal.m4 (BFD_BINARY_FOPEN): Understand cygwin32.
2956 * configure: Regenerate.
2957
9dce8260
JL
2958Fri Feb 2 12:12:16 1996 Jeffrey A Law (law@cygnus.com)
2959
2960 * elf32-hppa.c (elf32_hppa_backend_symbol_table_processing): Don't
2961 try to do arithmetic on a void *, cast it to a unsigned char * first.
2962
6c55897c
ILT
2963Thu Feb 1 16:04:06 1996 Ian Lance Taylor <ian@cygnus.com>
2964
869b7d80
ILT
2965 * elf-bfd.h (ELF_LINK_NON_ELF): Define.
2966 * elf.c (_bfd_elf_link_hash_newfunc): Set elf_link_hash_flags to
2967 ELF_LINK_NON_ELF.
2968 * elflink.h (elf_link_add_object_symbols): Reset ELF_LINK_NON_ELF
2969 flag for a newly defined symbol.
2970 (NAME(bfd_elf,record_link_assignment)): Likewise.
2971 (elf_adjust_dynamic_symbol): If ELF_LINK_NON_ELF is set, try to
2972 set the DEF or REF_REGULAR flags correctly.
2973
6f6956c6
ILT
2974 * Makefile.in (bfd-in2.h): Make bfd.h, not protos, in docdir.
2975 (libbfd.h, libcoff.h): Corresponding change.
2976
6c55897c
ILT
2977 * elf32-i386.c (elf_i386_check_relocs): Don't record a symbol with
2978 a PLT32 reloc as dynamic.
2979 (elf_i386_adjust_dynamic_symbol): If a symbol with a PLT32 reloc
2980 is not referenced by a dynamic object, and we are not making a
2981 shared object, then don't make a PLT entry. If we do make a PLT
2982 entry, make sure the symbol has been recorded as dynamic.
2983
b06136f2
SC
2984Wed Jan 31 17:23:32 1996 Steve Chamberlain <sac@slash.cygnus.com>
2985
2986 * coff-i386.c (coff_i386_reloc_type_lookup): Add BFD_RELOC_32_PCREL.
2987 * config.bfd (i[345]86-*-win32): Becomes i[345]86-*-cygwin32.
2988 (powerpcle-*-cygwin32): New.
2989 * peicode.h (add_data_entry): Get address from vma.
2990
5c867ecd
MM
2991Wed Jan 31 16:23:57 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2992
2993 * elflink.c (_bfd_elf_create_linker_section): If the symbol
2994 attached to the section has already been created as an undefined
2995 symbol, treat it as if it hasn't been created yet.
2996
28c16b55
ILT
2997Wed Jan 31 16:16:53 1996 Ian Lance Taylor <ian@cygnus.com>
2998
2999 * elflink.h (elf_bfd_final_link): Don't output initial dummy
3000 symbol or section symbols if stripping all symbols and this is not
3001 a relocateable link. Don't output the symbol string table if
3002 there are no symbols.
3003 (elf_link_flush_output_syms): Don't do anything if there are no
3004 symbols to flush.
3005
d19df9b5
ILT
3006Wed Jan 31 12:55:49 1996 Richard Henderson <rth@tamu.edu>
3007
3008 * coff-aux.c: New file.
3009 * hosts/m68kaux.h: New file.
3010 * config.bfd (m68*-apple-aux*): New target.
3011 * configure.in (m68*-apple-aux*): New native host.
3012 (m68kaux_coff_vec): New vector.
3013 * configure: Rebuild.
3014 * targets.c (m68kaux_coff_vec): Declare.
3015 * coffcode.h (bfd_coff_backend_data): Add field
3016 _bfd_coff_link_add_one_symbol.
3017 (bfd_coff_link_add_one_symbol): Define.
3018 (compare_arelent_ptr): New static function if TARG_AUX.
3019 (coff_write_relocs): If TARG_AUX, sort the relocs.
3020 (coff_write_object_contents): Set A/UX aouthdr magic number.
3021 (coff_link_add_one_symbol): Define if not defined.
3022 (bfd_coff_std_swap_table): Initialize new field.
3023 * libcoff.h: Rebuild.
3024 * cofflink.c (coff_link_add_symbols): Call
3025 bfd_coff_link_add_one_symbol rather than
3026 _bfd_generic_link_add_one_symbol.
3027 * coff-m68k.c (COFF_PAGE_SIZE): Don't define if already defined.
3028 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
3029 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3030 * Makefile.in: Rebuild dependencies.
3031 (BFD32_BACKENDS): Add coff-aux.o.
3032 (BFD32_BACKENDS_CFILES): Add coff-aux.c.
3033
a796aafd
ILT
3034Wed Jan 31 11:37:46 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3035
3036 * elf32-m68k.c (elf_m68k_relocate_section): Fix R_68K_GOT*
3037 relocation; ignore addend with R_68K_{GOT,PLT}*O relocation.
3038
a8763553
ILT
3039Tue Jan 30 12:09:04 1996 Ian Lance Taylor <ian@cygnus.com>
3040
66761e59
ILT
3041 * Makefile.in (do_maintainer_clean): Remove $(srcdir)/bfd-in2.h,
3042 $(srcdir)/libbfd.h and $(srcdir)/libcoff.h.
3043 (maintainer-clean): Warn about deleting special files.
3044 (bfd-in2.h, libbfd.h, libcoff.h): New targets.
3045
cf5138e3
ILT
3046 * elf32-hppa.c (elf32_hppa_relocate_section): Handle indirect and
3047 warning symbols correctly.
3048 * elf32-i386.c (elf_i386_relocate_section): Likewise.
3049 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
3050 * elf32-mips.c (mips_elf_relocate_section): Likewise.
3051 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3052 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
3053 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3054
a8763553
ILT
3055 * syms.c (_bfd_stab_section_find_nearest_line): Add casts to avoid
3056 warnings.
3057
bdd2e7f1
KK
3058Mon Jan 29 14:27:24 1996 Kim Knuttila <krk@cygnus.com>
3059
3060 * libcoff-in.h: aligned newly exported names with bfd naming
3061 conventions. Removed an erroneous define of POWERPC_LE_PE.
3062 * libcoff.h: Rebuild.
3063 * cofflink.c, coff-ppc.c: the above function name changes
3064
d2bb6c79
ILT
3065Mon Jan 29 13:06:28 1996 Ian Lance Taylor <ian@cygnus.com>
3066
eb5bc1f3
ILT
3067 From Basim Kadhim <kadhim@spock.cs.colorado.edu>:
3068 * ecoff.c (struct extsym_info): Define.
3069 (_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info
3070 to ecoff_link_write_external.
3071 (ecoff_link_write_external): Accept a struct extsym_info pointer.
3072 Strip symbols when appropriate.
3073
052b35d2
ILT
3074 Based on patches from Ronald F. Guilmette <rfg@monkeys.com>:
3075 * syms.c (BSF_OBJECT): Define.
3076 (bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT.
3077 * bfd-in2.h: Rebuild.
3078 * elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an
3079 STT_OBJECT symbol.
3080 * elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT
3081 is set.
3082
53787b23
ILT
3083 * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, when
3084 copying relocs into a shared object, treat a defined global symbol
3085 as a local symbol.
3086 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
3087 * elf32-mips.c (mips_elf_relocate_section): Likewise.
3088 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
3089
d2bb6c79
ILT
3090 * elflink.h (elf_link_add_object_symbols): Only set weakdef to a
3091 real defined symbol, not to a weak defined symbol.
3092
13d1a4dd
KK
3093Mon Jan 29 11:34:36 1996 Kim Knuttila <krk@cygnus.com>
3094
3095 * cofflink.c: removed the POWERPC_LE_PE hack, promoted some types
3096 and made a few static functions externs.
3097
3098 * coff-ppc.c (ppc_bfd_coff_final_link): new function, replaces the
3099 POWERPC_LE_PE hack in cofflink.
3100
3101 * libcoff-in.h: promoted the following from cofflink.c to allow
3102 _bfd_coff_final_link to be overridden - STRING_SIZE_SIZE,
3103 coff_debug_merge_element, struct coff_debug_merge_type,
3104 coff_debug_merge_hash_entry, coff_debug_merge_hash_table,
3105 coff_debug_merge_hash_table_init, coff_debug_merge_hash_table_free,
3106 coff_debug_merge_hash_lookup, coff_link_section_info,
3107 coff_final_link_info, coff_debug_merge_hash_newfunc,
3108 coff_write_global_sym, coff_link_input_bfd, coff_reloc_link_order.
3109
3110 * libcoff.h: re-gen'd
3111
86aac8ea
ILT
3112Fri Jan 26 18:33:35 1996 Ian Lance Taylor <ian@cygnus.com>
3113
3114 * syms.c: Include "bfdlink.h".
3115 (struct stab_find_info): Define.
3116 (_bfd_stab_section_find_nearest_line): New function.
3117 * libbfd-in.h (_bfd_stab_section_find_nearest_line): Declare.
3118 * libbfd.h: Rebuild.
3119 * elf-bfd.h (struct elf_obj_tdata): Add line_info field.
3120 * elf.c (_bfd_elf_find_nearest_line): Try calling
3121 _bfd_stab_section_find_nearest_line before searching the ELF
3122 symbol table. Find the closest STT_FUNC symbol, not the last one.
3123 * libcoff-in.h (coff_data_type): Add line_info field.
bdd2e7f1 3124 * libcoff.h: Rebuild.
86aac8ea
ILT
3125 * coffgen.c (coff_find_nearest_line): Try calling
3126 _bfd_stab_section_find_nearest_line before searching the COFF
3127 symbol table.
3128 * Makefile.in: Rebuild dependencies.
3129
3130Fri Jan 26 16:11:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3131
3132 * elf32-ppc.c (R_PPC_EMB_SDA21 relocations): Make relocation size
3133 4 bytes, so we get the correct value when updating the register
3134 field in little endian mode.
3135
43d36aad
ILT
3136Thu Jan 25 12:14:16 1996 Ian Lance Taylor <ian@cygnus.com>
3137
f0a97077
ILT
3138 * libcoff-in.h (struct xcoff_tdata): Remove toc_section and
3139 entry_section fields. Add sntoc and snentry fields.
3140 * libcoff.h: Rebuild.
3141 * coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry,
3142 not toc_section and entry_section (the COFF file does not have any
3143 sections at this point).
3144 (coff_write_object_contents): Set o_snentry and o_sntoc from
3145 snentry and sntoc rather than entry_section and toc_section.
3146 * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and
3147 snentry, not toc_section and entry_section.
3148 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set
3149 entry_section from hentry.
3150 (xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set,
ea2504d5 3151 set snenty.
f0a97077
ILT
3152 (xcoff_link_input_bfd): Set sntoc, not toc_section.
3153 (xcoff_write_global_symbol): Get toc_section from sntoc, rather
3154 than using toc_section directly.
3155
9b4598d0
ILT
3156 * archures.c: Add missing `.' in enum bfd_architecture.
3157 * bfd-in2.h: Rebuild.
3158
43d36aad
ILT
3159 * config.bfd (i[345]86-*-sco*elf*): Use bfd_elf32_i386_vec. From
3160 Robert Lipe <robertl@arnet.com>.
3161
eb82bc60
MM
3162Thu Jan 25 12:08:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3163
3164 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Add .rela.sdata{,2}
3165 to sections we allocate. Use bfd_zalloc to allocate initialial
3166 sections, not bfd_alloc.
3167 (ppc_elf_check_relocs): Remove BFD_ASSERTs for !shared from
3168 SDA{,2}I16 relocations.
3169 (ppc_elf_add_symbol_hook): Use the value of -G nn to determine
3170 whether to put something in .sbss or not.
3171 (ppc_elf_relocate_section): Add support for more relocations. Add
c1e65e24
MM
3172 in sec->output_offset where appropriate. Make error messages
3173 include the symbol name.
eb82bc60
MM
3174
3175 * elflink.c (_bfd_elf_create_linker_section): Lookup symbol before
3176 trying to add it to the symbol table, so _GLOBAL_OFFSET_TABLE_
3177 doesn't get redefined messages if -shared.
3178
3179 * elflink.h (elf_create_pointer_linker_section) Only bump RELA
3180 section if the rel_section field has been set up.
3181
9d621c7d
MM
3182Wed Jan 24 20:40:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3183
3184 * elf32-ppc.c (ppc_elf_relocate_section): Fix typo in eabi
3185 relocations.
3186
75c9ddc9
DE
3187Wed Jan 24 10:38:34 1996 Doug Evans <dje@charmed.cygnus.com>
3188
3189 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking
3190 of flags, only flags used are controlled by mach number. Bump up
3191 output file mach number to highest of input file mach numbers.
3192 (elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1.
3193 (elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa.
3194
72c513bc
DE
3195 * config.bfd (sparc64-*-{sysv4*,solaris2*}): Comment out
3196 bfd_elf64_sparc_vec support.
3197
3cbe19d2
MM
3198Tue Jan 23 14:33:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3199
3200 * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Don't complain if
3201 the embedded bit is set on some objects and not on others. Just
3202 or it together.
d8fd85ad
MM
3203 (ppc_elf_relocate_section): Implement R_PPC_EMB_{SDA21,RELSDA}
3204 relocations.
3cbe19d2 3205
5eb83ede
ILT
3206Tue Jan 23 14:22:45 1996 Ian Lance Taylor <ian@cygnus.com>
3207
4a3d3b42
ILT
3208 * coffcode.h (coff_new_section_hook): Don't try to align the
3209 .stabstr section.
3210
5eb83ede
ILT
3211 * coffcode.h (coff_set_section_contents): Fix the handling of the
3212 .lib section to work even if the entire section contents are
3213 written at once. From Gvran Uddeborg <gvran@uddeborg.pp.se> and
3214 Robert Lipe <robertl@arnet.com>.
3215
05f927dd
MM
3216Mon Jan 22 18:45:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3217
3218 * elflink.h (elf_finish_pointer_linker_section): Don't allocate
3219 memory here for contents.
3220
3221 * elf32-ppc.c (ppc_elf_relocate_section): Bump up _SDA_BASE_ and
3222 _SDA2_BASE_ by 32768.
3223 (ppc_elf_size_dynamic_sections): #if out PLT code which we haven't
3224 started using. Allocate contents for .sdata and .sdata2 sections
3225 also.
3226 (ppc_elf_check_relocs): Use bfd_get_section_name in debug message,
3227 rather than _name.
3228 (ppc_elf_finish_dynamic_symbol): Remove code that attempted to
3229 size _SDA{,2}_BASE_.
3230 (ppc_elf_relocate_section): Change how sdata{,2} relocations are
3231 done.
3232
5bc513b4
DE
3233Mon Jan 22 08:52:04 1996 Doug Evans <dje@charmed.cygnus.com>
3234
5a5bac64
DE
3235 * elflink.h (elf_finish_pointer_linker_section): Fix typo.
3236
5bc513b4 3237 * archures.c (bfd_mach_sparc_v9): Renamed from bfd_mach_sparc64.
5bc513b4 3238 (bfd_mach_sparc_{v8plus,v8plusa}): Define.
5bc513b4 3239 (bfd_mach_sparc_v9a): Define.
049f3d4c 3240 (bfd_mach_sparc_v9_p): Define.
5bc513b4
DE
3241 * bfd-in2.h: Regenerated.
3242 * aoutx.h (aout,machine_type): bfd_mach_sparc64 renamed to
3243 bfd_mach_sparc_v9.
d3366d23 3244 * elf64-sparc.c (sparc64_elf_object_p): Likewise.
5bc513b4
DE
3245 * config.bfd (sparc64-*-sysv4*,sparc64-*-solaris2*): Set targ_defvec
3246 to bfd_elf32_sparc_vec.
3247 * cpu-sparc.c (arch_info_struct): Renamed from sparc_arch_info.
5bc513b4 3248 Add v8plus{,a} support.
5bc513b4 3249 Add v9a support.
768b8ade 3250 (sparc_compatible): New function.
5bc513b4 3251 * elf32-sparc.h: #include "elf/sparc.h".
75c9ddc9 3252 (elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p,
5bc513b4 3253 elf32_sparc_final_write_processing): New functions.
75c9ddc9 3254 (bfd_elf32_bfd_merge_private_bfd_data, elf_backend_object_p,
5bc513b4 3255 elf_backend_final_write_processing): Define.
5bc513b4 3256
3b3753b8
MM
3257Mon Jan 22 11:21:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3258
3259 * elf-bfd.h (struct elf_link_hash_entry): Add
3260 linker_section_pointer field.
3261 (enum elf_linker_section_enum): Enumeration for new way of
3262 creating linker dynamic sections and symbols.
3263 (elf_linker_section{,_pointers}): New structures for creating
3264 dynamic sections and symbols.
3265 (elf_obj_tdata): Add linker_section_pointers and linker_section
3266 fields.
3267 (elf_local_ptr_offsets,elf_linker_section): New accessor macros.
3268 (_bfd_elf_create_linker_section): New declarations.
3269 (_bfd_elf_find_pointer_linker_section): Ditto.
3270 (bfd_elf{32,64}_{create,finish}_pointer_linker_section): Ditto.
3271 (_bfd_elf_make_linker_section_rela): Ditto.
3272
3273 * elf.c (_bfd_elf_link_hash_newfunc): Initialize new fields.
3274
3275 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Delete.
3276 (ppc_elf_create_linker_section): New function to create the
3277 sections .got, .sdata, and .sdata2.
3278 (ppc_elf_size_dynamic_sections): Zap .rela.{sdata,sdata2} if
3279 needed.
3280 (ppc_elf_check_relocs): Support more of the eabi relocations.
3281 (ppc_elf_relocate_section): Ditto.
3282 (ppc_elf_finish_dynamic_symbols): Adjust _SDA{,2}_BASE_ by 32768
3283 if the .sdata{,2} + .sbss{,2} section size is > 32k.
3284
3285 * elflink.h (elf_create_pointer_linker_section): New function to
3286 create initialized pointers in dynamic linker sections.
3287 (elf_finish_pointer_linker_section): Actually intialize the
3288 pointers created above.
3289
3290 * elfcode.h (bfd_elf{32,64}_create_pointer_linker_section): New
3291 macros to provide both 32 and 64 bit versions of
3292 elf_create_pointer_linker_section.
3293 (bfd_elf{32,64}_finish_pointer_linker_section): New macros to
3294 provide both 32 and 64 bit versions of
3295 elf_finish_pointer_linker_section.
3296
3297 * elflink.c (_bfd_elf_create_linker_section): New function to
3298 create a linker section.
3299 (_bfd_elf_find_pointer_linker_section): Find a unique pointer to a
3300 given address in the linker pointer offsets created for a given
3301 symbol.
3302 (_bfd_elf_make_linker_section_rela): Make a RELA section
3303 corresponding to the generated linker section.
3304
6b3eb07e
DE
3305Sat Jan 20 08:36:10 1996 Doug Evans <dje@canuck.cygnus.com>
3306
3307 * elf32-sparc.c (ELF_MACHINE_ALT1): Define.
3308
e7894f6b
KK
3309Thu Jan 18 18:25:34 1996 Kim Knuttila <krk@cygnus.com>
3310
3311 * coff-ppc.c (coff_ppc_relocate_section): changed TOCDEFN relocs.
3312 (coff_ppc_relocate_section): Handle special values for gcc built dlls.
3313 (dump_toc): fix diagnosing code to identify out-of-toc-bounds entries.
3314 Also begin the toc at 4 as an eye catcher ('31313131' marks the first
3315 toc entry in an objdump) for now.
3316 (ppc_do_last, ppc_get_last): New function - needed to save processing
3317 the toc owner to the end.
3318 (ppc_coff_swap_sym_in_hook): Removed an incorrect hack for doing the
3319 toc owner last.
3320
3321 * cofflink.c (_bfd_coff_final_link): Added a new hack to keep the
3322 toc owner from being done till last. Must define POWERPC_LE_PC
3323 to enable it.
3324
3325 * coffcode.h (coff_set_alignment_hook): alignment setting for .stab
3326
3327 * peicode.h (coff_swap_scnhdr_out): set section flags for stab/str
3328 to INFO.
3329 (coff_swap_aouthdr_out): Removed a non-working hack for computing the
3330 SizeOfImage for PowerPC. Ignore the size of the .junk section.
3331
80b99ca0
ILT
3332Thu Jan 18 17:42:12 1996 Ian Lance Taylor <ian@cygnus.com>
3333
3334 * elfcore.h: Include <signal.h> before <sys/procfs.h>.
3335
df96df4c
ILT
3336Wed Jan 17 12:40:14 1996 Ian Lance Taylor <ian@cygnus.com>
3337
3338 * cpu-powerpc.c (arch_info_struct): Change last entry to not point
3339 back to first.
3340 (bfd_powerpc_arch): Point at first entry in arch_info_struct.
3341
d49ddb85
ILT
3342Tue Jan 16 15:10:49 1996 Ian Lance Taylor <ian@cygnus.com>
3343
3344 * elf.c (assign_file_positions_for_segments): Don't increment file
3345 offset for a segment which contains no loadable sections.
3346
4500a112
MM
3347Mon Jan 15 17:46:27 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3348
3349 * reloc.c: Add new PowerPC relocations.
3350 * {bfd-in2,libbfd}.h: Regenerate.
3351
3352 * elf32-ppc.c (ppc_elf_howto_raw): Add more PPC relocations.
3353 (ppc_elf_reloc_type_lookup): Lookup new relocations.
3354
252239f8
ILT
3355Mon Jan 15 14:29:44 1996 Ian Lance Taylor <ian@cygnus.com>
3356
20ab764e
ILT
3357 * aoutx.h (howto_table_ext): Fix RELOC_BASE10 and RELOC_BASE22
3358 entries.
3359
0a4ffa2d
ILT
3360 * sunos.c (sunos_scan_ext_relocs): Don't fail assert if
3361 info->shared.
3362
45ca3195
ILT
3363 * coffgen.c (coff_find_nearest_line): Don't try to cache
3364 information in sections that are not owned by a BFD. From Richard
3365 Henderson <richard@atheist.tamu.edu>.
3366
252239f8
ILT
3367 * elf32-mips.c: Numerous changes to dynamic linking code, mostly
3368 from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
3369 * elflink.h (elf_link_output_extsym): Remove special check for
3370 _rld_new_interface.
3371
3372 * ecoffswap.h: Add prototypes for static functions.
3373
bd2d10c0
MM
3374Sun Jan 14 21:36:08 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3375
3376 * elf32-ppc.c (ppc_elf_{unsupported,std}_reloc): Remove functions.
3377 (ppc_elf_howto_raw): Remove ppc_elf_{unsupported,std}_reloc
3378 references.
3379 (ppc_elf_relocate_section): No longer allow .sdata/.sbss sections
3380 to satisfy a TOC16 relocation. Rewrite unsupported relocation
3381 support. Begin support for R_PPC_SDA{2,}REL.
3382
1c3a295b
MM
3383Sat Jan 13 09:36:52 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3384
3385 * elf32-ppc.c (ppc_elf_create_dynamic_sections): New function to
3386 create the .got and .got.neg sections.
3387 (ppc_elf_size_dynamic_sections): Call it.
3388 (ppc_elf_check_relocs): Call it.
3389 (ppc_elf_size_dynamic_sections): Support .got.neg, just like .got.
3390 (ppc_elf_check_relocs): Add error messages for relocations we
3391 don't yet support. Do not include R_PPC_SDAREL16 like a GOT
3392 relocation.
3393
57081126
MM
3394Fri Jan 12 15:27:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3395
3396 * elf32-ppc.c (ppc_elf_fake_sections): Define, and handle the new
3397 section flags for V.4 and eabi.
3398
3c38b3df
ILT
3399Fri Jan 12 13:59:16 1996 Ian Lance Taylor <ian@cygnus.com>
3400
14899eb7
ILT
3401 * elf.c (assign_file_positions_for_segments): If a segment
3402 contains no sections, don't mark it as readable.
3403
98bb57ad
ILT
3404 * elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare.
3405 * elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare.
3406
02fcd126
ILT
3407 * elf.c (_bfd_elf_print_private_bfd_data): Dump contents of
3408 dynamic section, if there is one.
3409 * elf-bfd.h (struct elf_size_info): Add swap_dyn_in field.
3410 (bfd_elf32_swap_dyn_in): Change type of second parameter to PTR.
3411 (bfd_elf64_swap_dyn_in): Likewise.
3412 * elfcode.h (elf_swap_dyn_in): Change type of second parameter to
3413 PTR.
3414 (NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field.
3415
3c38b3df
ILT
3416 * elf32-i386.c (elf_i386_size_dynamic_sections): Don't create a
3417 DT_TEXTREL entry because of .rel.plt. From Martin Pirker
3418 <pirker@eiunix.tuwien.ac.at>.
3419
83f4323e
MM
3420Thu Jan 11 17:06:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3421
3422 * section.c (SEC_{EXCLUDE,SORT_ENTRIES}): New section flags for
3423 PowerPC V.4 and eabi.
3424 * bfd-in2.h: Regenerate.
3425 * libfd.h: Regenerate.
3426
3427 * elfxx-target.h (TARGET_{BIG,LITTLE}_SYM): Add new flags.
3428
3429 * elf32-ppc.c (ppc_elf_section_from_shdr): Support SHT_ORDERED
3430 section type and SHF_EXCLUDE section flag, turning them into the
3431 appropriate bfd section flag.
3432
a0271667
ILT
3433Thu Jan 11 11:23:30 1996 Ian Lance Taylor <ian@cygnus.com>
3434
c9746fb6
ILT
3435 * xcofflink.c (xcoff_link_add_symbols): Create the special
3436 sections if we see a DYNAMIC object, in case that is the only
3437 XCOFF input object we see.
3438
5b3b9ff6
ILT
3439 * elf32-mips.c: Extensive changes for a start at dynamic linking
3440 support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
3441
3442 * elf-bfd.h (struct elf_backend_data): Add type_change_ok field.
3443 (struct elf_backend_data): Remove
3444 elf_backend_create_program_headers field. Add
3445 elf_backend_additional_program_headers and
3446 elf_backend_modify_segment_map fields.
3447 * elfxx-target.h (elf_backend_type_change_ok): Define if not
3448 defined.
3449 (elf_backend_additional_program_headers): Likewise.
3450 (elf_backend_modify_segment_map): Likewise.
3451 (elf_backend_create_program_headers): Don't define.
3452 (elfNN_bed): Change to account for field changes.
3453 * elf.c (assign_file_positions_for_segments): Call new
3454 modify_segment_map backend function. Don't call old
3455 create_program_headers backend function.
3456 (get_program_header_size): Call additional_program_headers rather
3457 than create_program_headers.
3458 * elflink.h (elf_link_add_object_symbols): Initialize
3459 type_change_ok from new backend field.
3460 (elf_link_output_extsym): Don't warn if _rld_new_interface is
3461 defined.
3462 (elf_reloc_link_order): Treat a reloc against a defined symbol as
3463 a reloc against the appropriate section.
3464
761f377f
ILT
3465 * elf-bfd.h (struct bfd_elf_section_data): Add tdata field.
3466 (struct elf_obj_tdata): Rename ppc_flags_init field to flags_init.
3467 (elf_flags_init): Rename from elf_ppc_flags_init.
3468 * elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not
3469 elf_ppc_flags_init.
3470 (ppc_elf_copy_private_bfd_data): Likewise.
3471 (ppc_elf_merge_private_bfd_data): Likewise.
3472
a0271667
ILT
3473 * elf32-m68k.c (howto_table): Change src_mask to 0 for all
3474 relocation entries.
3475
64d5f5d0
ILT
3476Tue Jan 9 15:22:53 1996 David Mosberger-Tang <davidm@azstarnet.com>
3477
3478 * coff-alpha.c (alpha_relocate_section): During final link, allow
3479 output .lita section to be bigger than 64k by adjusting gp value
3480 on a per-input section basis.
3481 * libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning
3482 field.
3483 (struct ecoff_section_tdata): Add gp field.
3484
c40d9c77
ILT
3485Tue Jan 9 12:00:36 1996 Ian Lance Taylor <ian@cygnus.com>
3486
64d5f5d0
ILT
3487 Handle Alpha ECOFF changes in OSF/1 3.2.
3488 * libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos
3489 field.
3490 * coff-alpha.c: Include "aout/ar.h".
3491 (alpha_ecoff_get_relocated_section_contents): Don't require an
3492 ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1
3493 3.2 doesn't generate one.
3494 (alpha_relocate_section): Likewise.
3495 (alpha_ecoff_slurp_armap): Define.
3496 (alpha_ecoff_slurp_extended_name_table): Define.
3497 (alpha_ecoff_construct_extended_name_table): Define.
3498 (alpha_ecoff_truncate_arname): Define.
3499 (alpha_ecoff_write_armap): Define.
3500 (alpha_ecoff_generic_stat_arch_elt): Define.
3501 (alpha_ecoff_update_armap_timestamp): Define.
3502 (ARFZMAG): Define.
3503 (alpha_ecoff_read_ar_hdr): New static function.
3504 (alpha_ecoff_get_elt_at_filepos): New static function.
3505 (alpha_ecoff_openr_next_archived_file): New static function.
3506 (alpha_ecoff_get_elt_at_index): New static function.
3507 (alpha_ecoff_backend_data): Initialize get_elt_at_filepos field.
3508 (ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from
3509 _bfd_ecoff to alpha_ecoff.
3510 * ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos
3511 field from backend structure, rather than always calling
3512 _bfd_get_elt_at_filepos.
3513 * coff-mips.c (mips_ecoff_backend_data): Initialize
3514 get_elt_at_filepos field.
3515 * archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied
3516 from _bfd_generic_read_ar_hdr with minor changes.
3517 (_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag.
3518 * libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare.
3519 * libbfd.h: Rebuild.
3520
3521 * bfd-in.h (BFD_IN_MEMORY): Define.
3522 * libbfd-in.h (struct bfd_in_memory): Define.
3523 * libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag.
3524 (bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file.
3525 (bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set.
3526 (bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag.
3527 * bfd.c (struct _bfd): Change iostream field from char * to PTR.
3528 (bfd_get_size): Handle BFD_IN_MEMORY flag.
3529 * cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files.
3530 (bfd_open_file): Cast to PTR, not char *, when setting iostream.
3531 (bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set.
3532 * opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting
3533 iostream.
3534 (bfd_openstreamr): Likewise.
3535 * aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if
3536 BFD_IN_MEMORY is not set.
3537 * riscix.c (riscix_some_aout_object_p): Likewise.
3538 * bfd-in2.h, libbfd.h: Rebuild.
3539
3540 * targets.c (bfd_target): Add _bfd_get_elt_at_index field.
3541 (BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index.
3542 (bfd_get_elt_at_index): Define.
3543 * archive.c (_bfd_generic_get_elt_at_index): Rename from
3544 bfd_get_elt_at_index. Change index parameter from int to
3545 symindex.
3546 * libbfd-in.h (_bfd_generic_get_elt_at_index): Declare.
3547 (_bfd_noarchive_get_elt_at_index): Define.
3548 (_bfd_archive_bsd_get_elt_at_index): Define.
3549 (_bfd_archive_coff_get_elt_at_index): Define.
3550 * bfd-in2.h, libbfd.h: Rebuild.
3551 * aout-target.h (MY_get_elt_at_index): Define if not defined.
3552 * coff-rs6000.c (xcoff_get_elt_at_index): Define.
3553 * ieee.c (ieee_get_elt_at_index): Define.
3554 * libecoff.h (_bfd_ecoff_get_elt_at_index): Define.
3555 * oasys.c (oasys_get_elt_at_index): Define.
3556 * som.c (som_get_elt_at_index): Define.
3557
c40d9c77
ILT
3558 * ecoff.c (_bfd_ecoff_find_nearest_line): Don't restrict line
3559 numbers to the .text section.
3560
efa77952
ILT
3561Mon Jan 8 17:00:57 1996 Ian Lance Taylor <ian@cygnus.com>
3562
3563 * ieee.c (ieee_write_debug_part): Change return type to boolean.
3564 If there is a SEC_DEBUGGING section, get the contents of the debug
3565 information part from it.
3566 (ieee_set_section_contents): Store the contents of a SEC_DEBUGGING
3567 section in memory.
3568 (ieee_write_object_contents): Check ieee_write_debug_part return.
3569
767f22d5
FF
3570Thu Jan 4 17:12:37 1996 Fred Fish <fnf@cygnus.com>
3571
3572 * config.bfd (i[345]86-*-freebsd*): Add target.
3573 * configure.in (i386freebsd_vec): Add vec.
3574 * configure: Regenerate.
3575 * Makefile.in (BFD32_BACKENDS): Add i386freebsd.o.
3576 (BFD32_BACKENDS_CFILES): Add i386freebsd.c.
3577 Rebuild dependencies..
3578 * freebsd.h: New file.
3579 * i386freebsd.c: New file.
3580 * targets.c (i386freebsd_vec): Declare.
3581 (bfd_target_vector): Add i386freebsd_vec.
3582 * i386linux.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
3583 * i386netbsd.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
3584
f8254a3c
ILT
3585Thu Jan 4 16:27:46 1996 Ian Lance Taylor <ian@cygnus.com>
3586
3587 * ieee.c (ieee_slurp_debug): New static function.
3588 (ieee_object_p): Call it.
3589 (ieee_slurp_section_data): Skip debugging sections.
3590 (ieee_get_reloc_upper_bound): Likewise.
3591 (ieee_get_section_contents): Likewise.
3592 (ieee_canonicalize_reloc): Likewise.
3593 (ieee_write_section_part): Likewise.
3594 (ieee_write_debug_part): Likewise.
3595 (ieee_write_data_part): Likewise.
3596 (init_for_output): Likewise.
3597
07a159db
MM
3598Wed Jan 3 19:42:47 1996 Michael Meissner <meissner@wogglebug.tiac.net>
3599
3600 * elf32-ppc.c (ppc_elf_relocate_section): Make @GOT relocations
3601 work.
3602 (ppc_elf_howto_raw): Just use bfd_elf_generic_reloc for all howto
3603 relocs, since ppc_elf_relocate_section handles the linker case.
3604 (ppc_elf_{addr16_ha,got16,toc16,brtaken}_reloc): Delete, no longer
3605 used.
3606 (ppc_elf_{addr16_ha,got16,toc16,brtaken}_inner): Merge these into
3607 ppc_elf_relocate_section since that is now the only caller.
3608 (ppc_elf_relocate_section): Ditto.
3609
d812945a
ILT
3610Wed Jan 3 15:11:30 1996 Ian Lance Taylor <ian@cygnus.com>
3611
3612 * coffcode.h (coff_write_object_contents): If we don't know the
3613 section of the entry point for an XCOFF executable, always set the
3614 entry address to -1.
3615
3a56d0b4
MM
3616Tue Jan 2 14:17:15 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3617
3618 * elf.c (bfd_section_from_shdr): Add support for note sections.
3619
c4406e50
ILT
3620Tue Jan 2 13:10:25 1996 Ian Lance Taylor <ian@cygnus.com>
3621
d812945a
ILT
3622 * bfd-in.h (struct _symbol_info): Add stab_type field.
3623 * bfd-in2.h: Rebuild.
3624 * aoutx.h (NAME(aout,get_symbol_info)): Set stab_type.
3625
c4406e50
ILT
3626 * elf32-ppc.c: Remove trailing newline from calls to
3627 _bfd_error_handler.
3628 (ppc_elf_merge_private_bfd_data): Only warn about endianness
3629 difference if target endianness is known.
3630
08556813
MM
3631Thu Dec 21 12:43:49 1995 Michael Meissner <meissner@tiktok.cygnus.com>
3632
3633 * elf32-ppc.c (ppc_elf_howto_raw): Add a phony reloc to handle the
3634 old style TOC16 references without using R_PPC_GOT.
3635 (ppc_reloc_type): Ditto.
3636 (ppc_elf_reloc_type_lookup): Add support for TOC16.
3637 (ppc_elf_toc16_inner): Renamed from ppc_elf_got16_inner.
3638 (ppc_elf_toc16_reloc): Renamed from ppc_elf_toc16_reloc.
3639 (ppc_elf_got16_{inner,reloc}): Stubs for real GOT support.
3640 (ppc_elf_check_relocs): New function for GOT/PLT support that is
3641 work in progress.
3642 (ppc_elf_adjust_dynamic_symbol): Ditto.
3643 (ppc_elf_adjust_dynindx): Ditto.
3644 (ppc_elf_size_dynamic_sections): Ditto.
3645 (ppc_elf_finish_dynamic_symbol): Ditto.
3646 (ppc_elf_finish_dynamic_sections): Ditto.
3647 (ELF_DYNAMIC_INTERPRETER): Define.
3648
86587dd4
KR
3649Wed Dec 20 19:14:18 1995 Ken Raeburn <raeburn@cygnus.com>
3650
3651 * elf.c (copy_private_bfd_data): When attaching sections to
3652 segments ignore sections that won't be allocated. Patch from
3653 Andreas Schwab.
3654
bf7f243f
KR
3655Tue Dec 19 20:01:43 1995 Ken Raeburn <raeburn@cygnus.com>
3656
3657 * config.bfd: Match on m68k-cbm-* only if OS doesn't match
3658 anything else.
3659
d9518e2e
ILT
3660Tue Dec 19 16:38:59 1995 Ian Lance Taylor <ian@cygnus.com>
3661
3662 * coff-i960.c (CALC_ADDEND): Define.
3663 (coff_i960_relocate_section): Add the input section VMA to the
3664 addend for PC relative relocs.
3665
3666Sun Dec 17 20:11:55 1995 Kim Knuttila <krk@cygnus.com>
3667
3668 * peicode.h (pe_print_pdata): Must test the entire entry for zero
3669 to correctly terminate.
3670
010a405a
ILT
3671Fri Dec 15 12:05:57 1995 Ian Lance Taylor <ian@cygnus.com>
3672
dc092b6b
ILT
3673 * targets.c (enum bfd_endian): Define.
3674 (bfd_target): Rename byteorder_big_p to byteorder, and change it
3675 from boolean to enum bfd_endian. Change header_byteorder_big_p
3676 correspondingly.
3677 * bfd-in.h (bfd_big_endian, bfd_little_endian): New macros.
3678 (bfd_header_big_endian, bfd_header_little_endian): New macros.
3679 * bfd-in2.h: Rebuild.
3680 * All targets: Change initialization of byteorder and
3681 header_byteorder to use enum bfd_endian values rather than
3682 booleans.
3683 * All files: Change all references to byteorder_big_p and
3684 header_byteorder_big_p to use new bfd_*_endian macros.
3685
010a405a
ILT
3686 * coffgen.c (make_a_section_from_file): Set lma to s_paddr, not
3687 s_vaddr.
3688 * coffcode.h (coff_write_object_contents): Set s_paddr to lma, not
3689 vma.
3690 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
3691
fcb43906
SC
3692Fri Dec 15 07:32:09 1995 steve chamberlain <sac@slash.cygnus.com>
3693
3694 * pe[i]-i386.c (TARGET_UNDERSCORE): Define to '_'.
3695
0d709d31
ILT
3696Thu Dec 14 13:45:37 1995 Ian Lance Taylor <ian@cygnus.com>
3697
14578105
ILT
3698 * ieee.c: Lots of minor cleanups. Make many functions return
3699 errors rather than calling abort. Also:
3700 (ieee_write_twobyte): Remove; change callers to call existing
3701 ieee_write_2bytes function.
3702 (ieee_write_expression): Don't output the section twice when
3703 outputting a local symbol. Don't emit an extraneous zero if there
3704 is only one term.
3705 (ieee_slurp_sections): Set the lma as well as the vma.
3706 (ieee_archive_p): Use bfd_alloc_grow rather than an obstack.
3707
0d709d31
ILT
3708 * ihex.c (ihex_set_arch_mach): Don't accept any architecture, just
3709 a recognized one or bfd_arch_unknown.
3710 (ihex_get_symtab_upper_bound): Define as bfd_0l, to permit objcopy
3711 to succeed.
3712 (ihex_get_symtab): Likewise.
3713
14dc2f77
ILT
3714Wed Dec 13 15:44:06 1995 Ian Lance Taylor <ian@cygnus.com>
3715
3716 * aoutx.h: Include <ctype.h>.
3717 (struct aout_link_includes_table): Define.
3718 (struct aout_link_includes_totals): Define.
3719 (struct aout_link_includes_entry): Define.
3720 (aout_link_includes_lookup): Define macro.
3721 (struct aout_final_link_info): Add includes field.
3722 (aout_link_includes_newfunc): New static function.
3723 (NAME(aout,final_link)): Initialize includes hash table.
3724 (aout_link_write_symbols): Eliminate duplicate N_BINCL entries.
3725
480ccad5
SS
3726Wed Dec 13 10:52:14 1995 Stan Shebs <shebs@andros.cygnus.com>
3727
3728 * mpw-config.in: Match on mips-*-* instead of mips-idt-ecoff.
3729
3920d9c9
KK
3730Wed Dec 13 11:07:45 1995 Kim Knuttila <krk@cygnus.com>
3731
3732 * coff-ppc.c (coff_ppc_relocate_section): removed debugging code.
3733
207345f2
KK
3734Tue Dec 12 17:42:06 1995 Kim Knuttila <krk@cygnus.com>
3735
3736 * peicode.h (pe_print_reloc): New function to dump the .reloc section.
3737 (pe_print_private_bfd_data): call pe_print_reloc.
3738 * coffcode.h (coff_set_alignment_hook): .reloc section alignment.
3739 * coff-ppc.c (in_reloc_p): Added missing non-eligible relocs. Spiffed
3740 up some debugging as well.
3741
273c019e
ILT
3742Tue Dec 12 11:34:23 1995 Ian Lance Taylor <ian@cygnus.com>
3743
3744 * config.bfd: Handle sparc-*-elf*. From Ronald F. Guilmette
3745 <rfg@monkeys.com>.
3746
010d9f2d
ILT
3747Fri Dec 8 17:47:07 1995 Ian Lance Taylor <ian@cygnus.com>
3748
3749 * elflink.h (elf_link_add_object_symbols): Set section_count to 0
3750 when setting sections to NULL.
3751
4a4a66bd
ILT
3752Wed Dec 6 17:05:37 1995 Ian Lance Taylor <ian@cygnus.com>
3753
3754 * xcofflink.c (struct xcoff_loader_info): Add export_defineds
3755 field.
3756 (bfd_xcoff_size_dynamic_sections): Add export_defineds parameter.
3757 (xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT
3758 for all symbols.
3759 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
3760 * bfd-in2.h: Rebuild.
3761
545bf026
KK
3762Mon Dec 4 16:40:47 1995 Kim Knuttila <krk@cygnus.com>
3763
3764 * coffcode.h (coff_set_alignment_hook): Removed some debugging printf's
3765
1f4ae0d6
ILT
3766Mon Dec 4 11:25:39 1995 Ian Lance Taylor <ian@cygnus.com>
3767
55cac920
ILT
3768 * ihex.c (ihex_scan): Handle record types 4 and 5.
3769 (ihex_object_p): Permit types 4 and 5.
3770 (ihex_set_section_contents): Remove check for out of range
3771 addresses.
3772 (ihex_write_object_contents): Generate types 4 and 5.
3773
1f4ae0d6
ILT
3774 * elflink.h (elf_link_output_extsym): Just ignore warning and
3775 indirect references to symbols which don't really exist.
3776
53d45489
KK
3777Sun Dec 3 19:00:27 1995 Kim Knuttila <krk@cygnus.com>
3778
3779 * peicode.h (pe_print_idata): Minor format fixes
3780 (pe_print_edata): New function. Under private printing, this formats
3781 the edata section of a PE file.
3782 (pe_print_private_bfd_data): Added call to pe_print_edata.
3783
361e8876
DE
3784Sun Dec 3 16:46:54 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
3785
3786 * aout-arm.c (MY_swap_std_reloc_out): Use KEEPIT to get the symbol
3787 index, don't call stoi.
3788
58142f10
ILT
3789Fri Dec 1 14:46:51 1995 Ian Lance Taylor <ian@cygnus.com>
3790
ffd15489
ILT
3791 * srec.c (srec_scan): Set lma as well as vma.
3792
3793 * ihex.c: New file; support for Intel Hex format.
3794 * targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour.
3795 (ihex_vec): Declare.
3796 (bfd_target_vector): Always include ihex_vec.
3797 * bfd.c (struct _bfd): Add ihex_data field to tdata union.
3798 * Makefile.in: Rebuild dependencies.
3799 (BFD_LIBS): Add ihex.o
3800 (BFD_LIBS_CFILES): Add ihex.c.
3801 * bfd-in2.h: Rebuild.
3802
ae0a6bea
ILT
3803 * elf.c (assign_file_positions_for_segments): Sort the sections in
3804 each segment.
3805 (get_program_header_size): Return the right size if segment_map is
3806 not NULL.
3807 (copy_private_bfd_data): Don't bother to sort the sections.
3808
3809 * bfd.c (bfd_record_phdr): New function.
3810 * bfd-in.h (bfd_record_phdr): Declare.
3811 * bfd_in2.h: Rebuild.
3812
ce0ee4bf
ILT
3813 * elf32-sparc.c (elf32_sparc_relocate_section): Remove bogus
3814 BFD_ASSERT.
3815
58142f10
ILT
3816 * libbfd.c (bfd_malloc, bfd_realloc): New functions.
3817 (bfd_zmalloc): Return PTR, not char *. Take size_t, not
3818 bfd_size_type.
3819 * libbfd-in.h (bfd_malloc, bfd_realloc): Declare.
3820 (bfd_zmalloc): Change declaration.
3821 * libbfd.h: Rebuild.
3822 * Many files: Use bfd_malloc and bfd_realloc rather than malloc
3823 and realloc. Don't set bfd_error_no_memory if they fail.
3824
59066248
KK
3825Thu Nov 30 19:32:26 1995 Kim Knuttila <krk@cygnus.com>
3826
3827 * coff-ppc.c: Added macros to tidy up toc cell treatment. Numerous
3828 uses as well. Added a new howto to deal with TOCREL16 relocs that
3829 are TOCDEFN as well.
3830 (coff_ppc_relocate_section): Expanded treatment of ADDR32NB relocs
3831 to handle RVA relocs from dlltool.
3832 (ppc_coff_rtype2howto): TOCDEFN reloc addition.
3833 (coff_ppc_rtype_to_howto): TOCDEFN reloc addition.
3834 (ppc_coff_reloc_type_lookup): TOCDEFN reloc addition.
3835
3836 * coffcode.h (coff_set_alignment_hook): check idata$X sections
3837 to get the right section alignment.
3838
6933148a
ILT
3839Thu Nov 30 16:48:18 1995 Ian Lance Taylor <ian@cygnus.com>
3840
3841 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
3842 p_paddr if p_paddr is zero.
3843 (make_mapping): Set includes_filehdr and includes_phdrs for first
3844 PT_LOAD segment.
3845 (map_sections_to_segments): Set includes_phdrs for PT_PHDR
3846 segment.
3847 (assign_file_positions_for_segments): Handle includes_filehdr and
3848 includes_phdrs. Remove special handling of PT_PHDR and first
3849 PT_LOAD segments.
3850 (copy_private_bfd_data): Set includes_filehdr and includes_phdr
3851 when appropriate. Remove special handling of PT_PHDR segment.
3852 Use a more complex condition for when a section is included in a
3853 segment to handle Solaris linker oddities.
3854
f62fed1c
ILT
3855Thu Nov 30 11:17:33 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
3856
3857 * coff-m88k.c (howto_table): Reformatted for easier reading;
3858 special_function now points to new function m88k_special_reloc.
3859 (howto_hvrt16): Function previously used for handling HVRT16 relocs
3860 removed.
3861 (rtype2howto): Do not add reloc's r_offset to the addend, this will
3862 be done correctly by m88k_special_reloc.
3863 (reloc_processing): New function to be used by RELOC_PROCESSING.
3864 (RELOC_PROCESSING): Define to call reloc_processing.
3865
64ecde46
ILT
3866Wed Nov 29 12:42:36 1995 Ian Lance Taylor <ian@cygnus.com>
3867
b00c57ec
ILT
3868 * peicode.h (pe_print_idata): Call malloc rather than xmalloc.
3869 (pe_print_pdata): Likewise.
3870
a9713b91
ILT
3871 * opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if
3872 obstack_alloc fails.
3873 (bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish
3874 fails.
3875 * libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails.
3876 * Many files: don't set bfd_error_no_memory if one of the above
3877 routines fails.
3878
3dbf33ee
ILT
3879 * elf.c (assign_file_positions_for_segments): Don't adjust p_paddr
3880 if p_paddr_valid is set.
3881 (copy_private_bfd_data): New static function.
3882 (_bfd_elf_copy_private_section_data): Call copy_private_bfd_data.
3883
44ef8897
ILT
3884 * elf.c (assign_file_positions_for_segments): Fix case where extra
3885 program headers were allocated.
3886
27fb8f29
ILT
3887 * elf.c (_bfd_elf_print_private_bfd_data): New function.
3888 * elf-bfd.h (_bfd_elf_print_private_bfd_data): Declare.
3889 * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define to
3890 _bfd_elf_print_private_bfd_data.
3891
64ecde46
ILT
3892 * coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
3893 r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
3894 Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
3895 (alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
3896 RELOC_SECTION_LITA for ALPHA_R_IGNORE.
3897 (alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
3898 RELOC_SECTION_ABS to RELOC_SECTION_NONE.
3899
fd0198f0
ILT
3900Tue Nov 28 16:59:50 1995 Ian Lance Taylor <ian@cygnus.com>
3901
3902 * elf-bfd.h (struct elf_obj_tdata): Add segment_map field.
3903 * elf.c (make_mapping): New static function.
3904 (map_sections_to_segments): New static function.
3905 (elf_sort_sections): New static function.
3906 (assign_file_positions_for_segments): New static function.
3907 (map_program_segments): Remove.
3908 (get_program_header_size): Remove sorted_hdrs, count, and
3909 maxpagesize parameters. Simplify.
3910 (assign_file_positions_except_relocs): When generating an
3911 executable, use assign_file_positions_for_segments.
3912 (elf_sort_hdrs): Remove.
3913 (_bfd_elf_sizeof_headers): Remove eliminated parameters from call
3914 to get_program_header_size.
3915
3b3f7625
ILT
3916Mon Nov 27 12:27:46 1995 Ian Lance Taylor <ian@cygnus.com>
3917
1ff0461b
ILT
3918 * hp300hpux.c (MY(callback)): Set lma as well as vma.
3919
80c8485c
ILT
3920 * configure, config.in: Regenerate with autoconf 2.7.
3921
3b3f7625
ILT
3922 * elf32-i386.c (elf_backend_plt_readonly): Set correctly, to 1.
3923 * elf32-sparc.c (elf_backend_plt_readonly): Set correctly, to 0.
3924
fa63d1ef
ILT
3925Wed Nov 22 12:02:09 1995 Ian Lance Taylor <ian@cygnus.com>
3926
a877f591
ILT
3927 * ecoff.c (_bfd_ecoff_new_section_hook): Handle .rconst section.
3928 (ecoff_sec_to_styp_flags): Likewise.
3929 (_bfd_ecoff_styp_to_sec_flags): Handle STYP_RCONST.
3930 (ecoff_set_symbol_info): Handle scRConst.
3931 (ecoff_slurp_reloc_table): Handle RELOC_SECTION_RCONST.
3932 (ecoff_compute_section_file_positions): Handle .rconst section.
3933 (_bfd_ecoff_write_object_contents): Likewise.
3934 (ecoff_link_check_archive_element): Handle scRConst.
3935 (ecoff_link_add_externals): Likewise.
3936 (ecoff_link_write_external): Handle .rconst section.
3937 (ecoff_reloc_link_order): Likewise.
3938 * ecofflink.c (bfd_ecoff_debug_accumulate): Handle scRConst.
3939 * coff-alpha.c (alpha_convert_external_reloc): Handle .rconst
3940 section.
3941 (alpha_relocate_section): Handle RELOC_SECTION_RCONST.
3942
fa63d1ef
ILT
3943 * sunos.c (sunos_scan_dynamic_symbol): Only set written if the
3944 DEF_DYNAMIC flag is set.
3945
25bada65
KR
3946Tue Nov 21 13:25:29 1995 Ken Raeburn <raeburn@cygnus.com>
3947
3948 * host-aout.c: If TRAD_HEADER is defined, include it.
3949
7938b4cb
ILT
3950Tue Nov 21 13:03:57 1995 Ian Lance Taylor <ian@cygnus.com>
3951
85e493f0
ILT
3952 * aclocal.m4 (AC_PROG_CC): Remove local definition.
3953 (BFD_BINARY_FOPEN): Require AC_CANONICAL_SYSTEM.
3954 (BFD_NEED_DECLARATION): New function.
3955 * configure.in: Use BFD_NEED_DECLARATION.
bd77213b
ILT
3956 * acconfig.h: Put NEED_DECLARATION_* in @TOP@ section.
3957 * configure, config.in: Rebuild with autoconf 2.6.
85e493f0 3958
83dcdc61
ILT
3959 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Clear
3960 special_sections before returning when called with a non XCOFF
3961 BFD.
3962
7938b4cb
ILT
3963 * coffgen.c (coff_renumber_symbols): Sort common symbols with
3964 global symbols.
3965
3966 * coffcode.h (coff_compute_section_file_positions): Only pad the
3967 previous section to force file alignment when creating an
3968 executable.
3969
b5403ad7
ILT
3970Mon Nov 20 14:54:09 1995 Ian Lance Taylor <ian@cygnus.com>
3971
a418e05d
ILT
3972 * coffcode.h (coff_compute_section_file_positions): If
3973 RS6000COFF_C, set up the .debug section.
3974
b5403ad7
ILT
3975 * xcofflink.c (xcoff_link_input_bfd): Adjust the TOC anchor value
3976 if it is not large enough to accomodate the entire TOC area with
3977 signed 16 bit offsets.
3978 (xcoff_write_global_symbol): Handle negative TOC offsets in global
3979 linkage code.
3980 (_bfd_ppc_xcoff_relocate_section): Adjust relocations against a
3981 TOC anchor to use the TOC value used in the output file.
3982
90a7abbc
ILT
3983Sat Nov 18 18:01:41 1995 Ian Lance Taylor <ian@cygnus.com>
3984
3985 * coffgen.c (_bfd_coff_get_external_symbols): Cast malloc return.
3986 (_bfd_coff_read_string_table): Likewise.
3987
177b1932
DE
3988Sat Nov 18 19:43:04 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
3989
3990 * pe-arm.c: Fix typos.
3991 * coff-arm.c: Likewise.
3992
3993Fri Nov 17 16:22:04 1995 Kim Knuttila <krk@cygnus.com>
3994
3995 * coff-ppc.c (list_ele): Added "cat"egory member.
3996 (record_toc): New category parameter (priv or pub).
3997 (ppc_record_toc_entry): Check to see if toc bounds exceeded.
3998 (ppc_process_before_allocation): Removed embrionic data-in-toc from
3999 the mainline. It addes extra toc cells in error.
4000 (ppc_coff_swap_sym_in_hook): Added some documentation.
4001 (dump_toc): Can now diagnose "virtual toc" chicanery.
4002
e34314c4
ILT
4003Fri Nov 17 10:41:25 1995 Philippe De Muyter <phdm@info.ucl.ac.be>
4004
4005 * elf-bfd.h (struct elf_link_hash_table): Change type of
4006 dynsymcount and bucketcount fields from size_t to bfd_size_type.
4007
73a68447
ILT
4008Fri Nov 17 10:02:58 1995 Ian Lance Taylor <ian@cygnus.com>
4009
535e9e29
ILT
4010 * coffcode.h (coff_pointerize_aux_hook): I960 version: don't
4011 pointerize C_LEAFSTAT or C_LEAFEXT entries.
4012
73a68447
ILT
4013 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only create
4014 DT_INIT and DT_FINI entries if the _init or _fini symbol is
4015 defined or mentioned in a regular file.
4016
cd2b2402
KK
4017Thu Nov 16 15:16:42 1995 Kim Knuttila <krk@cygnus.com>
4018
4019 * coff-ppc.c (ppc_record_data_in_toc_entry): new function
4020 (coff_ppc_relocate_section): Handle TOCDEFN attribute
4021 (coff_ppc_relocate_section): Correct REL24 handling
4022 (ppc_process_before_allocation): Correct TOCDEFN handling
4023
4024 * peicode.h (dir_names): Added name descriptions
4025
b218076e
KR
4026Thu Nov 16 03:38:03 1995 Ken Raeburn <raeburn@cygnus.com>
4027
4028 * VERSION: Updated to cygnus-2.6.
4029
4030Wed Nov 15 19:30:07 1995 Ken Raeburn <raeburn@cygnus.com>
4031
4032 * targets.c (m68k4knetbsd_vec): Declare.
4033
e9f30616
ILT
4034Wed Nov 15 18:05:52 1995 Ian Lance Taylor <ian@cygnus.com>
4035
4036 * targets.c (bfd_target): Change type of second argument to
4037 _bfd_print_private_bfd_data from void * to PTR.
4038 * libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast
4039 using PTR rather than void *.
4040 * bfd-in2, libbfd.h: Rebuild.
4041 * peicode.h (pe_print_private_bfd_data): Change vfile from void *
4042 to PTR.
4043 * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as
4044 _bfd_generic_bfd_print_private_bfd_data rather than casting
4045 bfd_true.
4046
ae75c4a4
KR
4047Wed Nov 15 04:09:14 1995 Ken Raeburn <raeburn@cygnus.com>
4048
4049 * Makefile.in (.dep1): Fix stupid typo in last change. Remove any
4050 "DO NOT DELETE" lines or blank lines that mkdep writes on some
4051 systems.
4052 (BFD_LIBS_CFILES, ALL_MACHINES_CFILES, BFD32_BACKENDS_CFILES,
4053 BFD64_BACKENDS_CFILES): New variables.
4054 (CFILES): Use them.
4055
bebcd3db
ILT
4056Tue Nov 14 11:52:23 1995 Ian Lance Taylor <ian@cygnus.com>
4057
4b71e164
ILT
4058 * peicode.h (coff_swap_aouthdr_out): For PPC PE, start isize at 0,
4059 not at the file position of the first section.
4060 * coffcode.h (coff_compute_section_file_positions): Avoid using
4061 unportable #elif.
4062 (coff_write_object_contents): When generating a PPC PE executable
4063 with no symbols, round up the file size to a COFF_PAGE_SIZE
4064 boundary.
4065 * cofflink.c (_bfd_coff_final_link): If there are no symbols,
4066 don't write out a string table.
4067
631b10f4
ILT
4068 * elf.c (bfd_section_from_shdr): When using a different section
4069 header, pass the new one to _bfd_elf_make_section_from_shdr.
4070 (elf_fake_sections): Don't set sh_info and sh_entsize fields.
4071 (elf_map_symbols): Add section VMA to symbol value when comparing
4072 against 0.
4073 (_bfd_elf_compute_section_file_positions): Only build symbol table
4074 if there are some symbols. Set file offset of symtab and strtab
4075 sections.
4076 (assign_file_positions_except_relocs): Remove dosyms parameter.
4077 Change all callers. Never set file offset of symtab and strtab
4078 sections.
4079 (_bfd_elf_copy_private_section_data): New function.
4080 (MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define.
4081 (_bfd_elf_copy_private_symbol_data): New function.
4082 (swap_out_syms): Check for special mapping of st_shndx created by
4083 copy_private_symbol_data.
4084 * elfxx-target.h: Use new copy routines.
4085 * elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare.
4086 (_bfd_elf_copy_private_section_data): Declare.
4087
4088 * config.bfd (sh-*-*): Set targ_defvec to shcoff_vec.
4089
4090 * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE, handle
4091 C_NT_WEAK.
4092
bebcd3db
ILT
4093 * coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not
4094 _bfd_dummy_target, matching the recent change to archive
4095 recognition.
4096
7ad4ba81
ILT
4097Mon Nov 13 13:24:38 1995 Ian Lance Taylor <ian@cygnus.com>
4098
afa67334
ILT
4099 * libbfd.c (bfd_get_file_window): Use casts to avoid doing
4100 arithmetic on PTR types.
4101
f2bd8915
ILT
4102 * aout-target.h (MY(callback)): Set the lma of the sections.
4103
7ad4ba81
ILT
4104 * ecoff.c (ecoff_reloc_link_order): Turn a reloc against a defined
4105 symbol into a reloc against the section.
4106
93b6a3f8
KK
4107Mon Nov 13 07:31:35 1995 Kim Knuttila <krk@cygnus.com>
4108
4109 * coff-ppc.c (ppc_coff_link_hash_entry): added support for inline
4110 glue for the relocs: IMGLUE and IFGLUE.
4111 (record_toc): new function - tracks toc contents
4112 (ppc_mark_symbol_as_glue): new function - supports the IMGLUE reloc
4113 (coff_ppc_relocate_section): Added support and fixes for IMGLUE/IFGLUE
4114 (ppc_coff_rtype2howto): removed invalid IMGLUE hack
4115 (coff_ppc_rtype_to_howto): removed invalid IMGLUE hack
125d37c4 4116 (ppc_record_toc_entry): Removed a debug define (duh)
93b6a3f8
KK
4117
4118 * peicode.h (coff_swap_scnhdr_out): Fixed invalid strcmp for ".reldata"
4119 (pe_print_idata): New function - formats the idata section data
4120 (pe_print_pdata): New function - formats the pdata section data
4121 (pe_print_private_bfd_data): calls to above
4122
c769947b
SS
4123Sun Nov 12 12:23:24 1995 Stan Shebs <shebs@andros.cygnus.com>
4124
4125 * Makefile.in (bfd_libs_here, etc): Provide empty definitions.
4126 * coff-rs6000.c (rs6000coff_vec): Add conditional defines
4127 TARGET_SYM and TARGET_NAME for vector and BFD name.
4128 * coff-pmac.c (pmac_xcoff_vec): Remove.
4129 (TARGET_SYM, TARGET_NAME): Define.
4130 * coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the
4131 machine to 0, not all PowerMacs are 601s.
4132
4133Fri Nov 10 12:10:14 1995 Ian Lance Taylor <ian@cygnus.com>
4134
4135 * elfcode.h (elf_object_p): Read in any program headers.
4136 * elf.c (_bfd_elf_make_section_from_shdr): Adjust section lma
4137 based on the program headers, if any.
4138 (elf_fake_sections): Set sh_addr from the vma, not the lma.
4139 (map_program_segments): Set p_paddr of program headers based on
4140 the lma.
4141
ee174815
ILT
4142Thu Nov 9 13:01:31 1995 Ian Lance Taylor <ian@cygnus.com>
4143
839087b7
ILT
4144 * archive.c (bfd_generic_archive_p): Preserve tdata in case of
4145 failure.
4146
922530a6
ILT
4147 * aoutx.h (NAME(aout,final_link)): Report a reasonable error when
4148 trying to do a relocateable link with a non-a.out object file.
4149
4150 * archive.c (bfd_generic_archive_p): Check the first object file
4151 in an archive even if target_defaulted is set. If the object file
4152 has the wrong xvec, reject it.
4153
a1774c51
ILT
4154 * aoutx.h (NAME(aout,set_section_contents)): If a section can not
4155 be represented, report the name via _bfd_error_handler.
4156 (translate_to_native_sym_flags): Likewise.
4157 * elf32-mips.c (mips_elf_final_link): Likewise.
4158 * oasys.c (oasys_write_sections): Likewise.
4159
4a378b13
ILT
4160 * coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version
4161 which checks for STYP_OVRFLO sections.
4162 (coff_compute_section_file_positions): If RS6000COFF_C, handle
4163 reloc and lineno count overflows.
4164 (coff_write_object_contents): Call coff_count_linenumbers before
4165 coff_compute_section_file_positions. If RS6000COFF_C, handle
4166 reloc and lineno count overflows.
4167 * xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and
4168 relocs before dealing with .pad sections. Count overflow section
4169 headers when handling .pad sections.
4170
7906bf87
ILT
4171 * coffcode.h (coff_write_object_contents): Set a.out vstamp to 1
4172 if RS6000COFF_C.
4173
ee174815
ILT
4174 * xcofflink.c (XCOFF_DESCRIPTOR): Define.
4175 (struct xcoff_link_hash_table): Add descriptor_section and
4176 special_sections fields.
4177 (_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields.
4178 (xcoff_link_add_symbols): Set linkage section alignment. Create
4179 descriptor section. Check for magic symbol names (_text, etc.),
4180 and record them in special_sections if found. Set
4181 XCOFF_DESCRIPTOR flag for a function descriptor, and set its
4182 descriptor field to point back to the function code symbol.
4183 (xcoff_sweep): Always mark the special descriptor_section.
4184 (bfd_xcoff_export_symbol): Check whether the symbol might be a
4185 function descriptor, and mark it if it is.
4186 (bfd_xcoff_size_dynamic_sections): Add new special_sections
4187 parameter, and fill it in. Allocate space for the descriptor
4188 section.
4189 (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining
4190 global linkage code. If an undefined function descriptor is
4191 exported, arrange to define it. Warn about any other undefined
4192 exported symbol.
4193 (_bfd_xcoff_bfd_final_link): Write out the descriptor section.
4194 (xcoff_write_global_symbol): Create a function descriptor when
4195 necessary.
4196 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
4197 * bfd-in2.h: Rebuild.
4198
0e829f18
KK
4199Thu Nov 9 08:40:23 1995 Kim Knuttila <krk@cygnus.com>
4200
4201 * coff-ppc.c (ppc_coff_link_hash_entry): new types for hashing
4202 (ppc_coff_link_hash_table): new types for hashing
4203 (ppc_coff_link_hash_newfunc): hash entry constructor
4204 (ppc_coff_link_hash_table_init): hash table initializer
4205 (ppc_coff_link_hash_table_create): hash table constructor
4206 (ppc_record_toc_entry): changed references to hash table
4207 (coff_ppc_relocate_section): changed references to hash table
4208
4209 * libcoff-in.h (coff_link_hash_entry): removed toc_offset
4210 * libcoff.h: Rebuild
4211
4212 * cofflink.c (_bfd_coff_link_hash_newfunc): removed toc_offset init
4213 (coff_link_add_symbols): removed toc_offset init
4214
7ac84736
KR
4215Thu Nov 9 04:00:38 1995 Ken Raeburn <raeburn@cygnus.com>
4216
b27cc4bc
KR
4217 * Makefile.in (.dep1): Make sure the file mkdep is to write exists
4218 first.
4219
7ac84736
KR
4220 * configure.in: Added new option --with[out]-mmap. Set USE_MMAP
4221 if it is given and mmep is available.
4222 * acconfig.h: Undef USE_MMAP.
4223 * configure, config.in: Regenerated.
4224 * aoutx.h: If USE_MMAP is not defined, do all symbol and string
4225 table handling the old way.
4226 (aout_get_external_symbols): Don't complain if last byte of string
4227 table is nonzero.
4228 * libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h.
4229 (bfd_free_window) [! USE_MMAP]: Don't define.
4230 (bfd_get_file_window,
4231 _bfd_generic_get_section_contents_in_window) [! USE_MMAP]: Abort.
4232
1b3b0c03
ILT
4233Wed Nov 8 20:03:44 1995 Eric Freudenthal <freudenthal@nyu.edu>
4234
4235 * coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than
4236 0xffff0000.
4237
092abcdf
ILT
4238Wed Nov 8 11:31:11 1995 Ian Lance Taylor <ian@cygnus.com>
4239
33698029
ILT
4240 * coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be
4241 compatible with AMD generated COFF files. Try to support both AMD
4242 and GNU formats simultaneously.
4243 (coff_a29k_relocate_section): Likewise.
4244
0bb8ff19
ILT
4245 * libbfd.c (bfd_get_file_window): Change writable parameter from
4246 int to boolean; update all callers. Pass MAP_SHARED if not
4247 writable--it's required on Solaris. Cast fprintf argument to
4248 avoid warning.
4249 * bfd-in.h (bfd_get_file_window): Update declaration.
4250 * bfd-in2.h: Rebuild.
4251 * aoutx.h: Update calls to bfd_get_file_window.
4252
0634a431
ILT
4253 * xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
4254 Change all uses.
4255 (xcoff_swap_ldhdr_in): New static function.
4256 (xcoff_swap_ldsym_in): New static function.
7812bf9c 4257 (xcoff_find_reloc): Handle the case of a single reloc correctly.
0634a431
ILT
4258 (xcoff_link_add_symbols): If we just created a descriptor, pass it
4259 to _bfd_generic_link_add_one_symbol, to save a hash lookup.
417acf22 4260 Handle XTY_ER/XMC_XO symbols correctly.
0634a431
ILT
4261 (xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols
4262 rather than normal symbol table.
417acf22
ILT
4263 (bfd_xcoff_import_symbol): It's not an error if the symbol is
4264 already defined with the same absolute value.
0634a431
ILT
4265 (xcoff_mark): When considering called symbols, check whether the
4266 descriptor is from a dynamic object, rather than the symbol
4267 itself.
4268 (xcoff_build_ldsyms): Likewise.
4269
092abcdf
ILT
4270 * libbfd.c (bfd_get_file_window): Change return type to boolean.
4271 Cast realloc and malloc return values. If malloc or realloc fail,
4272 set bfd_error_no_memory.
4273 * bfd-in.h (bfd_get_file_window): Change type to boolean.
4274 * bfd-in2.h: Rebuild.
4275
d6f41a7d
KK
4276Tue Nov 7 11:53:48 1995 Kim Knuttila <krk@cygnus.com>
4277
4278 * coff-ppc.c (ppc_record_toc_entry): new function.
4279 (in_reloc_p): changed return value.
4280 (coff_ppc_relocate_section): much rework.
4281 (ppc_allocate_toc_section): new function.
4282 (ppc_process_before_allocation): new function.
4283 (ppc_coff_swap_sym_in_hook): new function.
4284
4285 * cofflink.c (_bfd_coff_link_hash_newfunc): initialize toc_offset.
4286 (coff_link_add_symbols): initialize toc_offset.
4287
4288 * peicode.h (coff_swap_sym_in): Added coff_swap_sym_in_hook
4289 (coff_swap_aouthdr_out): Added more sections to the data
4290 dictionary for the pe file header. Also changed linker version
4291 number on the ppc side.
4292 (dir_names): small improvements to the dictionary printing.
4293 (pe_mkobject_hook): save the file level flags.
4294
4295 * libcoff-in.h (coff_link_hash_entry): added toc_offset field
4296 (pe_tdata): added real_flags field
4297 (coff_tdata): added local_toc_sym_map and access macro
4298
4299 * libcoff.h (coff_link_hash_entry): added toc_offset field
4300 (pe_tdata): added real_flags field
4301 (coff_tdata): added local_toc_sym_map and access macro
4302
4303 * coffcode.h (coff_set_alignment_hook): added hook for PE.
4304 (coff_mkobject): init for local_toc_sym_map
4305 (coff_write_object_contents): set the internal_a.magic to
4306 IMAGE_NT_OPTIONAL_HDR_MAGIC which appears to be what other
4307 ppc compilers use.
4308
6bc200f2
ILT
4309Tue Nov 7 13:48:58 1995 Ian Lance Taylor <ian@cygnus.com>
4310
c0971298
ILT
4311 * ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs
4312 entries until both the line number address and the function name
4313 address are too large.
4314
6a468850
ILT
4315 * configure.in: Call AC_CHECK_PROG to find and cache AR.
4316 * configure: Rebuilt.
4317
6bc200f2
ILT
4318 * aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it
4319 is defined in the environment.
4320
c44bf94c
JL
4321Tue Nov 7 10:57:24 1995 Jeffrey A Law (law@cygnus.com)
4322
4323 * som.c (som_get_section_contents_in_window): Define to use
4324 generic version.
4325
cf587de8
ILT
4326Mon Nov 6 17:13:15 1995 Harry Dolan <dolan@ssd.intel.com>
4327
4328 * coff-i860.c: New file, based on coff-i386.c.
4329 * cpu-i860.c: New file, based on cpu-i386.c.
4330 * hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
4331 * config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
4332 targets, using i860coff_vec.
4333 * configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
4334 trad-core.o and hosts/i860mach3.h.
4335 (i860coff_vec): Use coff-i860.o and cofflink.o.
4336 * configure: Rebuild.
4337 * Makefile.in: Rebuild dependencies.
4338 (ALL_MACHINES): Add cpu-i860.o.
4339 (BFD32_BACKENDS): Add coff-i860.o.
4340 (CFILES): Add cpu-i860.c and coff-i860.c.
4341 * targets.c (i860coff_vec): Declare.
4342 (bfd_target_vector): Add &i860coff_vec.
4343 * archures.c (bfd_i860_arch): Declare.
4344 (bfd_archures_list): Add &bfd_i860_arch.
4345 * coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
4346 (coff_set_flags): Handle bfd_arch_i860.
4347 (coff_write_object_contents): Handle I860 a.out magic number.
4348
83c23fca
ILT
4349Mon Nov 6 14:34:07 1995 Ian Lance Taylor <ian@cygnus.com>
4350
4351 * xcofflink.c (xcoff_link_add_symbols): Set the alignment power of
4352 the created .tc section to 2.
4353 (xcoff_mark): Don't keep a .loader reloc for a call to an
4354 undefined symbol when creating a shared library.
4355 (xcoff_build_ldsyms): When creating a shared library, generate
4356 global linkage code for a call to an undefined symbol.
4357
5d9eb9c3
KR
4358Sun Nov 5 21:44:13 1995 Ken Raeburn <raeburn@cygnus.com>
4359
4360 * Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES,
4361 BFD32_BACKENDS, BFD64_BACKENDS.
4362 (.dep1): Put mkdep output in a separate file.
4363 Rebuilt dependencies.
4364
ffacb892
KR
4365 * ecoff.c (_bfd_ecoff_slurp_armap): Cast _bfd_read_ar_hdr return
4366 value.
4367
4fe6d901
KR
4368 Permit use of mmap when available:
4369
4370 * configure.in: Check for mmap, madvise, mprotect.
4371 * config.in, configure: Regenerated.
4372
4373 * libbfd.c (struct _bfd_window_internal): Define type.
4374 (bfd_init_window, bfd_free_window, bfd_get_file_window): New
4375 functions.
4376 (ok_to_map): New static variable for debugging.
4377 (_bfd_generic_get_section_contents_in_window): New function.
4378 * bfd-in.h (bfd_window_internal): Declare type.
4379 (bfd_window): Define type.
4380 (bfd_init_window, bfd_free_window, bfd_get_file_window): Declare.
4381 * libbfd-in.h (_bfd_generic_get_section_contents_in_window):
4382 Declare.
4383
4384 * libaout.h (struct aoutdata): Add two window fields.
4385 (obj_aout_sym_window, obj_aout_string_window): New macros.
4386 * aoutx.h (some_aout_object_p): Initialize windows.
4387 (aout_get_external_symbols): Get symbol data and strings in
4388 windows instead of explicitly allocated buffers.
4389 (slurp_symbol_table): Free window instead of memory.
4390 (bfd_free_cached_info): Release windows instead of freeing storage
4391 directly.
4392 (aout_link_free_symbols): Ditto.
4393
4394 * targets.c (bfd_target): Add new field for
4395 get_section_contents_in_window.
4396 (BFD_JUMP_TABLE_GENERIC): Updated.
4397 * aout-adobe.c, aout-target.h, binary.c, bout.c, coff-alpha.c,
4398 coff-mips.c, elfxx-target.h, i386msdos.c, i386os9k.c, ieee.c,
4399 libcoff-in.h, oasys.c, srec.c, tekhex.c, versados.c: Added new
4400 macros for get_section_contents_in_window field.
4401
d9e771e3
FF
4402Sat Nov 4 12:23:26 1995 Fred Fish <fnf@cygnus.com>
4403
4404 * core.c: Renamed to corefile.c
4405 * makefile.dos (OBJS): Change core.o to corefile.o
4406 * Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c
4407
bf917766
SG
4408start-sanitize-gm
4409Sat Nov 4 10:16:54 1995 Stu Grossman (grossman@cygnus.com)
4410
4411 * config.bfd (mips*-*-magic*): Add bfd_elf32_bigmips_vec to
4412 targ_selvecs to allow debugging under Irix-5 native.
4413
4414end-sanitize-gm
583db7a8
ILT
4415Fri Nov 3 15:54:59 1995 Ian Lance Taylor <ian@cygnus.com>
4416
4417 * xcofflink.c (xcoff_link_add_symbols): Rename local variable sub
4418 to o. Clobber and restore the list of new csects around the call
4419 to _bfd_generic_link_add_one_symbol, in case it wants to report a
4420 linker error and the linker wants to read the symbol table. Reset
4421 the line number count of a real section even if it has no relocs.
4422 (_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag.
4423
4424 * coffgen.c (_bfd_coff_read_string_table): Warn if the string size
4425 is too small.
4426
68aed7db
ILT
4427Thu Nov 2 23:16:39 1995 Ian Lance Taylor <ian@cygnus.com>
4428
18a9609c
ILT
4429 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about
4430 an undefined symbol in a shared link.
4431
68aed7db
ILT
4432 * linker.c (_bfd_generic_link_add_one_symbol): Correct type of
4433 oldtype from bfd_link_order_type to bfd_link_hash_type. From
4434 phdm@info.ucl.ac.be (Philippe De Muyter).
4435
7f82c7e1
ILT
4436Wed Nov 1 14:26:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
4437
4438 * coff-m88k.c (rtype2howto): New static function.
4439 (RTYPE2HOWTO): Use it rather than a macro definition.
4440
4441 * coffcode.h (coff_write_object_contents): set internal_a.magic
4442 to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS).
4443
4c8b9746 4444 * configure.in: m68*-motorola-sysv* does not use ptrace-core.o;
7f82c7e1
ILT
4445 define TRAD_HEADER to new file hosts/delta68.h.
4446 m88*-motorola-sysv*, however, does use ptrace-core.o.
4447 * hosts/delta68.h: New file.
4448
4449 * ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to
4450 bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc.
4451
619c7730
KR
4452Wed Nov 1 13:51:54 1995 Ken Raeburn <raeburn@cygnus.com>
4453
4454 * i386linux.c (MY(vec)): Declare before use.
4455
73246ff8
ILT
4456Wed Nov 1 11:45:07 1995 Ian Lance Taylor <ian@cygnus.com>
4457
e8d6d5d0
ILT
4458 * reloc16.c (bfd_coff_reloc16_get_relocated_section_contents):
4459 Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases.
4460
b2193cc5
ILT
4461 * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
4462 BFD is not of the right type.
4463 (bfd_elf_get_needed_list): Likewise.
4464 * i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
4465 * sunos.c (bfd_sunos_get_needed_list): Likewise.
4466 * xcofflink.c (XCOFF_XVECP): Define.
4467 (bfd_xcoff_link_record_set): Don't do anything if the BFD is not
4468 of the right type.
4469 (bfd_xcoff_import_symbol): Likewise.
4470 (bfd_xcoff_export_symbol): Likewise.
4471 (bfd_xcoff_link_count_reloc): Likewise.
4472 (bfd_xcoff_record_link_assignment): Likewise.
4473 (bfd_xcoff_size_dynamic_sections): Likewise.
4474
baabeb74
ILT
4475 * sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
4476 table index against the number of symbols for a base relative
4477 reloc.
4478
73246ff8
ILT
4479 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
4480 static function.
4481 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
4482 full_aouthdr flag here...
4483 (_bfd_xcoff_bfd_final_link): ...not here.
4484
6ab826bd
FF
4485Tue Oct 31 12:52:02 1995 Fred Fish <fnf@cygnus.com>
4486
4487 * libelf.h: Rename to elf-bfd.h to avoid conflict with
4488 systems that have a system <libelf.h>.
4489 * Makefile.in: Globally replace libelf.h with elf-bfd.h.
4490 * bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c,
4491 elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c,
4492 elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c,
4493 elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c,
4494 elfxx-target.h: Include elf-bfd.h rather than libelf.h.
4495 * elfxx-target.h: Change libelf.h reference to elf-bfd.h.
4496
999cc186
ILT
4497Tue Oct 31 15:30:07 1995 David Mosberger-Tang <davidm@azstarnet.com>
4498
0652d579
ILT
4499 * ecoff.c (ecoff_set_symbol_info): Add new parameter weak. If
4500 set, set BSF_WEAK in symbol. Change all callers.
4501 (ecoff_get_extr): Set weakext based on BSF_WEAK.
4502 (ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to
4503 _bfd_generic_link_add_one_symbol.
4504 (ecoff_indirect_link_order): Check that the section tdata relocs
4505 are not NULL before using them.
4506
999cc186
ILT
4507 * configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
4508 define TRAD_HEADER as hosts/alphalinux.h.
4509 * configure: Rebuild.
4510 * hosts/alphalinux.h: New file.
4511 * trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
4512 not int.
4513
e6080520
ILT
4514Tue Oct 31 12:34:11 1995 Ian Lance Taylor <ian@cygnus.com>
4515
2bd0aeb9
ILT
4516 * coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and
4517 C_ECOMM storage classes.
4518
e6080520
ILT
4519 * xcofflink.c (xcoff_mark_symbol): New static function, broken out
4520 of xcoff_mark.
4521 (xcoff_mark): Call xcoff_mark_symbol.
4522 (bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
4523 (bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
4524 doing it by hand.
4525 (xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
4526
5fe14a9f
ILT
4527Mon Oct 30 14:53:48 1995 Ian Lance Taylor <ian@cygnus.com>
4528
f630a0a4
ILT
4529 * xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
4530 field.
4531 (xcoff_find_reloc): New static function.
4532 (xcoff_link_add_symbols): Use it.
4533 (_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
4534 (xcoff_link_input_bfd): Handle C_BINCL and C_EINCL. Don't
4535 relocate the value of C_DECL.
4536
5fe14a9f
ILT
4537 * elf.c (elf_fake_sections): Remove bogus BFD_ASSERT.
4538
dff77ed7
SC
4539Sat Oct 28 01:25:34 1995 steve chamberlain <sac@slash.cygnus.com>
4540
4541 * cofflink.c (_bfd_coff_generic_relocate_section): Make
4542 callback decide what goes in .relocs.
4543 * pe[i]-i386.c (TARGET_UNDERSCORE): Define.
4544 * peicode.h (pe_mkobject_hook): Only copy aouthdr if
4545 there is one.
4546
697a8fe8
ILT
4547Sat Oct 28 01:51:02 1995 Ian Lance Taylor <ian@cygnus.com>
4548
4549 * xcofflink.c (xcoff_link_add_symbols): Handle csects in the
4550 absolute section.
4551
2d7de17d
ILT
4552Fri Oct 27 18:14:39 1995 Ian Lance Taylor <ian@cygnus.com>
4553
4554 * xcofflink.c: More improvements, mostly to fix handling of
4555 constructors and a few other special cases.
4556 * coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
4557 zero, reverting yesterday's change.
4558 * bfd-in.h (bfd_xcoff_link_record_set): Declare.
4559 (bfd_xcoff_link_count_reloc): Declare.
4560 (bfd_xcoff_record_link_assignment): Declare.
4561 * bfd-in2.h: Rebuild.
4562
f552f751
NH
4563Fri Oct 27 14:42:15 1995 Niklas Hallqvist <niklas@appli.se>
4564
4906b2a3 4565 * PORTING, aout-arm.c, aout-encap.c, aout-target.h,
f552f751
NH
4566 aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c
4567 i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c,
4568 i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c,
4569 ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c:
4570 Change PAGE_SIZE to TARGET_PAGE_SIZE.
4571
4572 * m68knetbsd.c: Ditto as well as add support for the m68k4k object
4573 format.
4574
4575 * netbsd.h: Double ditto (incl. m68k4k support). NetBSD's text
4576 segments includes the a.out header. See to that the magic number
4577 *always* is big-endian.
4578
4579 * config.bfd: Add m68*-hp*-netbsd* case. Cross-pollinate m68k and
4580 m68k4k NetBSD configurations.
4581
4582 * configure.in, configure: Separate i386 & mips NetBSD
4583 configurations from other BSD ones. Don't assume DEC is the only
4584 thing NetBSD/mips run on. Add {m68k,ns32k,sparc}-*-netbsd*
4585 configurations. Add support for m68k4k NetBSD object format.
4586
4587 * libaout.h: Added M_68K4K_NETBSD magic.
6fd1f40d
NH
4588
4589 * m68k4knetbsd.c: New file.
f552f751
NH
4590
4591 * hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P.
4592
4593 * hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to
4594 <machine/endian.h>.
4595
6fd1f40d
NH
4596 * hosts/mipsnbsd.h: New file.
4597
d6d44ef9
SG
4598start-sanitize-gm
4599Fri Oct 27 09:41:51 1995 Stu Grossman (grossman@cygnus.com)
4600
4601 * config.bfd: Add config stuff for mips*-*-magic* to set
4602 targ_defvec to ecoff_big_vec.
4603
4604end-sanitize-gm
867d923d
ILT
4605Thu Oct 26 14:16:47 1995 Ian Lance Taylor <ian@cygnus.com>
4606
4607 * xcofflink.c: Numerous changes to get closer to a working XCOFF
4608 linker.
4609 * libcoff-in.h (struct xcoff_tdata): Add full_aouthdr,
4610 toc_section, and entry_section fields.
4611 (struct xcoff_section_tdata): Remove ldrel_count field.
4612 * libcoff.h: Rebuild.
4613 * coffcode.h (coff_mkobject_hook): Initialize new xcoff_data
4614 fields.
4615 (coff_compute_section_file_positions): If RS6000COFF_C, generate
4616 full a.out header if full_aouthdr is set in xcoff_data.
4617 (coff_write_object_contents): Likewise. Set o_snentry and o_sntoc
4618 based on sections stored in xcoff_data.
4619 * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data
4620 fields.
aad2c618
ILT
4621 (xcoff_reloc_type_lookup): Handle BFD_RELOC_CTOR.
4622 (rs6000coff_vec): Set symbol_leading_char to '.'.
867d923d
ILT
4623 * coffgen.c (coff_get_symbol_info): If fix_value is set, fix the
4624 value stored in ret rather than returning a pointer value.
4625
6bd9ffdb
MM
4626Wed Oct 25 23:10:39 1995 Michael Meissner <meissner@tiktok.cygnus.com>
4627
4628 * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Remove MAC
4629 format for now.
4630
9d14250f
JL
4631Wed Oct 25 16:19:27 1995 Jeffrey A Law (law@cygnus.com)
4632
4633 * som.c (som_slurp_string_table): Allocate the strings with malloc
4634 since they're free'd by free_cached_info.
4635 (som_slurp_symbol_table): Similarly for the symbol table.
4636
a2bd0529
PB
4637Wed Oct 25 14:59:22 1995 Per Bothner <bothner@kalessin.cygnus.com>
4638
4639 * Makefile.in (diststuff): Don't make headers.
4640
28a0c103
ILT
4641Wed Oct 25 11:32:54 1995 Ian Lance Taylor <ian@cygnus.com>
4642
356cd465
ILT
4643 * Makefile.in: Rebuild dependencies.
4644
1edd3a7b
ILT
4645 * sunos.c (bfd_sunos_record_link_assignment): Don't do anything if
4646 output_bfd is not SunOS.
4647 (bfd_sunos_size_dynamic_sections): Likewise. Don't scan relocs of
4648 non-SunOS input files.
4649
28a0c103
ILT
4650 * xcofflink.c: Extensive changes to support linking shared objects
4651 and generating a .loader section.
4652 * libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
b73322d9
ILT
4653 (struct xcoff_section_tdata): Add lineno_count, first_symndx,
4654 last_symndx, and ldrel_count fields.
28a0c103
ILT
4655 * libcoff.h: Rebuild.
4656 * coff-rs6000.c (xcoff_howto_table): Correct reloc names.
4657 * coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
4658 is set.
4659 * bfd-in.h (bfd_xcoff_import_symbol): Declare.
4660 (bfd_xcoff_export_symbol): Declare.
4661 (bfd_xcoff_size_dynamic_sections): Declare.
4662 * bfd-in2.h: Rebuild.
4663
aadf04f7
SS
4664Tue Oct 24 17:44:20 1995 Stan Shebs <shebs@andros.cygnus.com>
4665
4666 * configure.in: Add xcofflink.o to pmac_xcoff_vec.
4667 * configure: Rebuild.
4668 * mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
4669 * coff-pmac.c: Include coff-rs6000.c instead of duplicating its
4670 contents.
4671 (pmac_xcoff_vec): Update to use new xcoff support.
4672 * coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
4673 (xcoff_write_armap): Declare buf as unsigned char.
4674 * xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.
4675
4676 * mpw-make.sed: Generalize subdir_do edit.
4677
ddf4639b
JL
4678Tue Oct 24 10:25:01 1995 Jeffrey A Law (law@cygnus.com)
4679
4680 * hppabsd-core.c (make_bfd_asection): Initialize asect->filepos
4681 correctly. Don't initialize asect->vma.
4682
e7bedf65
KR
4683Fri Oct 20 13:23:48 1995 Ken Raeburn <raeburn@cygnus.com>
4684
4685 * opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use
4686 something a little less than the page size.
4687
4688Thu Oct 19 13:06:09 1995 Ian Lance Taylor <ian@cygnus.com>
4689
4690 * coff-i960.c (coff_i960_adjust_symndx): Clear *adjustedp.
4691
3a70e298
SC
4692Wed Oct 18 16:20:08 1995 steve chamberlain <sac@slash.cygnus.com>
4693
4694 * coff-i386.c (coff_i386_reloc_type_lookup): New.
4695 * coffcode.h (coff_write_object_contents): If .bss is before
4696 .data us that as data_start.
4697 * cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
4698 calc correct.
4699 * peicode.h (add_data_entry): Use _cooked_size of data directory.
4700 (coff_swap_outhdr_out): Hardwire in version number.
4701
5a2846e3
KR
4702Wed Oct 18 16:50:54 1995 Ken Raeburn <raeburn@cygnus.com>
4703
3c3a5268
KR
4704 * sunos.c (sunos_add_dynamic_symbols): Rename local variables
4705 major and minor to *_vno, since the former are also macros in
4706 SunOS header files. Cast result of bfd_alloc to appropriate
4707 type.
4708
5a2846e3
KR
4709 * coffgen.c (coff_find_nearest_line): Cast used_by_bfd value
4710 before assigning to sec_data.
4711
0f6c885e
ILT
4712Wed Oct 18 13:25:17 1995 Ian Lance Taylor <ian@cygnus.com>
4713
4714 * ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is
4715 now relative to the section, not absolute.
4716 * ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
4717 get the file name when there is a N_SO directory name. When
4718 handling stabs, remember that section->vma was added to the
4719 offset.
4720
11fa6636
ILT
4721Tue Oct 17 18:24:54 1995 Ian Lance Taylor <ian@cygnus.com>
4722
4723 * sunos.c (struct sunos_link_hash_table): Add needed field.
4724 (sunos_link_hash_table_create): Call bfd_release, not free.
4725 (sunos_link_hash_table_create): Initialize needed field.
4726 (sunos_add_dynamic_symbols): Record needed objects.
4727 (bfd_sunos_get_needed_list): New function.
4728 * bfd-in.h (bfd_sunos_get_needed_list): Declare.
4729 * bfd-in2.h: Rebuild.
4730
c974e19e
SC
4731Mon Oct 16 14:43:59 1995 steve chamberlain <sac@slash.cygnus.com>
4732
4733 * libcoff-in.h (pe_data_type.in_reloc_p): New.
4734
22a35f0b
ILT
4735Mon Oct 16 10:52:50 1995 Ian Lance Taylor <ian@cygnus.com>
4736
54406786
ILT
4737 * bfd-in.h (struct bfd_link_needed_list): Rename from
4738 bfd_elf_link_needed_list.
4739 * bfd-in2.h: Rebuild.
4740 * elf.c, elflink.h, libelf.h: Corresponding changes.
4741
dd984644
ILT
4742 Add start at AIX linker support; no shared libraries yet.
4743 * xcofflink.c: New file.
4744 * configure.in (rs600coff_vec): Use xcofflink.o.
4745 * configure: Rebuild.
4746 * libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices
4747 fields.
4748 (struct xcoff_section_tdata): Define.
4749 (xcoff_section_data): Define macro.
4750 (_bfd_xcoff_bfd_link_hash_table_create): Declare.
4751 (_bfd_xcoff_bfd_link_add_symbols): Declare.
4752 (_bfd_xcoff_bfd_final_link): Declare.
4753 (_bfd_ppc_xcoff_relocate_section): Declare.
4754 * libcoff.h: Rebuild.
4755 * coff-rs6000.c: Clean up a bit.
4756 (xcoff_mkobject): Default modtype to 1L, not RE. Initialize
4757 cputype, csects, and debug_indices.
4758 (xcoff_copy_private_bfd_data): Copy cputype.
4759 (xcoff_howto_table): Rename from rs6000coff_howto_table.
4760 (xcoff_rtype2howto): Rename from rs6000coff_rtype2howto.
4761 (xcoff_reloc_type_lookup): Rename from
4762 rs6000coff_reloc_type_lookup.
4763 (coff_relocate_section): Define.
4764 (_bfd_xcoff_sizeof_headers): Define.
4765 (_bfd_xcoff_bfd_get_relocated_section_contents): Define.
4766 (_bfd_xcoff_bfd_relax_section): Define.
4767 (_bfd_xcoff_bfd_link_split_section): Define.
4768 (rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not
4769 coff.
4770 * coffcode.h (coff_compute_section_file_positions): If AIX,
4771 increment sofar by SMALL_AOUTSZ if not executable.
4772 (coff_write_object_contents): If AIX, always output an a.out
4773 header; if not executable, header size of SMALL_AOUTSZ.
4774 * hash.c (struct bfd_strtab_hash): Add xcoff field.
4775 (_bfd_stringtab_init): Initialize xcoff field.
4776 (_bfd_xcoff_stringtab_init): New function.
4777 (_bfd_stringtab_add): In XCOFF mode, leave two bytes for length.
4778 (_bfd_stringtab_emit): In XCOFF mode, write out length.
4779 * libbfd-in.h (_bfd_xcoff_stringtab_init): Declare.
4780 * libbfd.h: Rebuild.
4781 * Makefile.in: Rebuild dependencies.
4782 (BFD32_BACKENDS): Add xcofflink.o.
4783 (CFILES): Add xcofflink.c.
4784
22a35f0b
ILT
4785 * elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not
4786 SEC_NO_FLAGS, for .acommon section. From Peter Schauer
4787 <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>.
4788
fb417a21
MM
4789Sat Oct 14 21:36:02 1995 Michael Meissner <meissner@tiktok.cygnus.com>
4790
4791 * coff-ppc.c (in_reloc_p): Add, clone from coff-i386.c.
4792
4793Fri Oct 13 17:48:43 1995 Ken Raeburn <raeburn@cygnus.com>
4794
4795 * acconfig.h (HAVE_SYS_PROCFS_H): Undef, with comment.
4796 * config.in: Regenerated.
4797
4798 * opncls.c (getpagesize) [!HAVE_GETPAGESIZE]: Define as 2048.
4799 (_bfd_chunksize): New variable.
4800 (_bfd_new_bfd): Set it to getpagesize() if negative, and use it
4801 for obstack chunk size.
4802 * configure.in: Check for getpagesize.
4803 * configure: Regenerated.
4804
4805 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4806
4807 * trad-core.c (rawptr): Make it a local variable of
4808 ptrace_unix_core_file_p.
4809
b1e46369
SC
4810Fri Oct 13 11:22:01 1995 steve chamberlain <sac@slash.cygnus.com>
4811
4812 * coff-arm.c (in_reloc_p): New.
4813 * coff-i386.c (in_reloc_p): New.
4814 * coffcode.h: Allways include peicode.h if COFF_WITH_PE.
4815 (coff_write_object_contents): Only set has_reloc_section
4816 if PE_IMAGE.
4817 * cofflink.c (_bfd_coff_generic_relocate_section): Call
4818 in_reloc_p to decide if reloc should be emitted.
4819 * libcoff.h (pe_data_type.in_reloc_p): New.
4820 * peicode.h (pe_mkobject): Initialize in_reloc_p.
4821
ee9f09cd
ILT
4822Wed Oct 11 00:49:29 1995 Ian Lance Taylor <ian@cygnus.com>
4823
b1e46369
SC
4824 * cofflink.c (_bfd_coff_internal_syment_name): Move to coffgen.c.
4825 (_bfd_coff_read_internal_relocs): Likewise.
4826 * coffgen.c (_bfd_coff_internal_syment_name): Copy from coffgen.c.
4827 (_bfd_coff_read_internal_relocs): Likewise.
4828
ee9f09cd
ILT
4829 * elflink.h (elf_link_add_object_symbols): Correct conditions
4830 under which type and size change warnings are issued.
4831
78b31b6b
ILT
4832Tue Oct 10 18:32:46 1995 Ian Lance Taylor <ian@cygnus.com>
4833
4834 * coffgen.c (coff_count_linenumbers): Don't count line numbers for
4835 a symbol which is not in a real section.
4836 (coff_write_native_symbol): Corresponding change.
4837
4838 * cofflink.c (_bfd_coff_link_hash_newfunc): Rename from
4839 coff_link_hash_newfunc and make non-static.
4840 (_bfd_coff_link_hash_table_init): New function, broken out of
4841 _bfd_coff_link_hash_table_create.
4842 (_bfd_coff_link_hash_table_create): Use it.
4843 (process_embedded_commands): Make static.
4844 * libcoff-in.h ((_bfd_coff_link_hash_newfunc): Declare.
4845 (_bfd_coff_link_hash_table_init): Declare.
4846 * libcoff.h: Rebuild.
4847
4848 * coffcode.h (coff_mkobject_hook): If RS6000COFF_C, set cputype
4849 field in XCOFF tdata.
4850 (coff_set_arch_mach_hook): Check ifdef RS6000COFF_C, not ifdef
4851 U802ROMAGIC, for clarity. Try to set arch and machine correctly
4852 based on cputype stored in a.out header, or in n_type of initial
4853 .file symbol.
4854 (coff_write_object_contents): Set cputype correctly in a.out
4855 header.
4856 (coff_slurp_symbol_table): Add casts to file_ptr to avoid
4857 warnings.
4858 * coffswap.h (coff_swap_aouthdr_in): Swap in cputype field.
4859 (coff_swap_aouthdr_out): Swap out cputype field. Don't clear
4860 old resv1 field.
4861 * libcoff-in.h (struct xcoff_tdata): Add cputype field.
4862 * libcoff.h: Rebuild.
4863
4864 * cpu-rs6000.c (rs6000_compatible): New static function.
4865 (bfd_rs6000_arch): Use it.
4866 * cpu-powerpc.c (powerpc_compatible): New static function.
4867 (arch_info_struct): Define various flavours of PowerPC.
4868 (bfd_powerpc_arch): Use powerpc_compatible. Point at
4869 arch_info_struct.
4870
9dd7e56f
FF
4871Tue Oct 10 10:50:46 1995 Fred Fish <fnf@cygnus.com>
4872
78b31b6b 4873 * Makefile.in (FLAGS_TO_PASS): Remove BISON.
9dd7e56f 4874
8235c112
ILT
4875Tue Oct 10 01:28:29 1995 Ian Lance Taylor <ian@cygnus.com>
4876
4877 * elflink.h (elf_link_add_object_symbols): Don't warn about
4878 changing the size or type if the old definition was weak.
4879
0322af0d
ILT
4880Mon Oct 9 11:24:08 1995 Ian Lance Taylor <ian@cygnus.com>
4881
49488f2b
ILT
4882 * coffcode.h (combined_entry_type): Add fix_line field.
4883 (coff_slurp_line_table): Warn if we try to set the lineno field of
4884 a symbol twice.
4885 (coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and
4886 C_EINCL by setting fix_line. Fix C_BSTAT symbol value.
4887 * coffgen.c (coff_mangle_symbols): Handle fix_line.
4888 (coff_write_symbol): Only use N_DEBUG if the symbol is in the
4889 absolute section.
4890 (coff_print_symbol): Print fix_value symbols in a useful fashion.
4891 * libcoff.h: Rebuild.
4892
5f710a3a
ILT
4893 * libcoff-in.h (struct xcoff_tdata): Define.
4894 (xcoff_data): Define.
4895 * bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
4896 * bfd-in2.h, libcoff.h: Rebuild.
4897 * coff-rs6000.c (xcoff_mkobject): New static function.
4898 (coff_mkobject): Define.
4899 (xcoff_copy_private_bfd_data): New static function.
4900 (coff_bfd_copy_private_bfd_data): Define.
4901 (rs6000coff_howto_table): Change R_TOC complain_on_overflow from
4902 signed to bitfield.
4903 (rs6000coff_vec): Add DYNAMIC to object_flags.
4904 * coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
4905 .loader sections specially.
4906 (coff_new_section_hook): If RS6000COFF_C, get the .text and .data
4907 section alignment from the XCOFF tdata information.
4908 (coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
4909 F_SHROBJ, and copy the extra a.out header information into the
4910 XCOFF tdata structure.
4911 (coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
4912 F_DYNLOAD and the extra a.out header information.
4913 (coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
4914 C_HIDEXT symbol with attached csect information.
4915 * coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
4916 in the o_maxdata field.
4917 (coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
4918 * coffgen.c (coff_renumber_symbols): Don't move any symbol to the
4919 end if BSF_NOT_AT_END is set.
3f2c5b2d 4920
0322af0d
ILT
4921 * targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
4922 _bfd_read_ar_hdr_fn.
4923 * libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
4924 * bfd-in2.h, libbfd.h: Rebuild.
4925 * archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr
4926 return value.
4927 (do_slurp_bsd_armap, do_slurp_coff_armap): Likewise.
4928 (bfd_slurp_bsd_armap_f2): Likewise.
4929 (_bfd_slurp_extended_name_table): Likewise.
4930
3266eaff
KR
4931Fri Oct 6 16:18:35 1995 Ken Raeburn <raeburn@cygnus.com>
4932
4933 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4934
4935 * archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS
4936 when the symbol table is empty.
4937
4938 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve
4939 space for section symbols, since we don't output them either.
4940 (elf_m68k_adjust_dynindx): Removed.
4941
4942 * ptrace-core.c (rawptr): Make it a local variable of
4943 ptrace_unix_core_file_p.
3266eaff 4944
249479fa
MM
4945Fri Oct 6 12:24:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
4946
45b5d2f0
MM
4947 * coff-rs6000.c (xcoff_write_archive_contents): Return false, not
4948 NULL.
4949
249479fa
MM
4950 * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and
4951 Mac object file formats.
4952
c53fac12
ILT
4953Fri Oct 6 12:04:02 1995 Ian Lance Taylor <ian@cygnus.com>
4954
4372f33f
ILT
4955 * coffgen.c (coff_fix_symbol_name): Don't try to set up file
4956 auxent if there isn't one.
4957 (coff_write_symbols): If there is no file auxent, use SYMNMLEN
4958 rather than FILNMLEN as the maximum name length.
4959
0fc9ada9
ILT
4960 * coffcode.h (bfd_coff_backend_data): Add new field
4961 _bfd_coff_print_aux.
4962 (bfd_coff_print_aux): New static function.
4963 (coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the
4964 scnlen field of an XTY_LD csect aux entry.
4965 (coff_print_aux): New static function.
4966 (coff_slurp_symbol_table): Don't pointerize scnlen field; now done
4967 in coff_pointerize_aux_hook.
4968 (bfd_coff_std_swap_table): Initialize new field.
4969 * coffgen.c (coff_print_symbol): Call bfd_coff_print_aux.
4970 * libcoff.h: Rebuild.
4971 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
4972 * coff-mips.c (mips_ecoff_backend_data): Likewise.
4973
7860fe38
ILT
4974 * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG
4975 if there are symbols, for native AIX ld compatibility.
4976
c80cc833
ILT
4977 * coffcode.h (bfd_coff_backend_data): Add new field
4978 _bfd_coff_pointerize_aux_hook.
4979 (coff_pointerize_aux_hook): Define as a function if RS6000COFF_C
4980 or I960, and as 0 otherwise.
4981 (bfd_coff_std_swap_table): Initialize new field.
4982 * libcoff.h: Rebuild.
4983 * coffgen.c (coff_pointerize_aux): Change parameters to take
4984 symbol pointer instead of type and class, and to take aux index.
4985 Call _bfd_coff_pointerize_aux_hook if it is defined.
4986 (coff_get_normalized_symtab): Always call coff_pointerize_aux.
4987 * coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields.
4988 * coff-mips.c (mips_ecoff_backend_data): Likewise.
4989
c53fac12
ILT
4990 * coff-rs6000.c: Add full support for AIX archives. Rewrite old
4991 read-only/host-only support.
4992
4993 * coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be
4994 BSF_LOCAL.
d11e6b52
ILT
4995 (OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if
4996 RS6000COFF_C.
c53fac12
ILT
4997
4998 * targets.c (bfd_target): Add _bfd_read_ar_hdr field. Modify
4999 BFD_JUMP_TABLE_ARCHIVE accordingly.
5000 * libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
5001 (_bfd_compute_and_write_armap): Declare.
5002 (_bfd_generic_read_ar_hdr): Declare.
5003 (_bfd_read_ar_hdr): Define.
5004 (_bfd_noarchive_read_ar_hdr): Define.
5005 (_bfd_archive_bsd_read_ar_hdr): Define.
5006 (_bfd_archive_coff_read_ar_hdr): Define.
5007 * archive.c: Change all callers of _bfd_snarf_ar_hdr to call
5008 _bfd_read_ar_hdr instead.
5009 (_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
5010 (_bfd_compute_and_write_armap): Rename from
5011 compute_and_write_armap. Make non-static. Change all callers.
5012 * ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
5013 than _bfd_snarf_ar_hdr.
5014 * aout-target.h (MY_read_ar_hdr): Define if not defined.
5015 * ieee.c (ieee_read_ar_hdr): Define.
5016 * libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
5017 * oasys.c (oasys_read_ar_hdr): Define.
5018 * som.c (som_read_ar_hdr): Define.
5019 * bfd-in2.h, libbfd.h: Rebuild.
5020
f8e47484
SC
5021Thu Oct 5 14:04:07 1995 steve chamberlain <sac@slash.cygnus.com>
5022
5023 * peicode.c (coff_swap_filehdr_in): If symptr is
5024 zero, there aren't any symbols, even if nsyms is set.
5025
2b874a2d
ILT
5026Thu Oct 5 11:45:02 1995 Ian Lance Taylor <ian@cygnus.com>
5027
aca73687
ILT
5028 * libecoff.h (struct ecoff_backend_data): Add adjust_headers
5029 field.
5030 * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
5031 sections, and set styp correctly for them: .got, .hash, .dynamic,
5032 .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
5033 (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
5034 types.
5035 (ecoff_sort_hdrs): New static function.
5036 (ecoff_compute_section_file_positions): Return boolean, not void.
5037 Sort the sections by VMA before looking through them. Put the
5038 first non SEC_ALLOC section on a new page. Put every SEC_ALLOC
5039 section on an appropriate boundary within the page.
5040 (ecoff_compute_reloc_file_positions): Check return value of
5041 ecoff_compute_section_file_positions.
5042 (_bfd_ecoff_set_section_contents): Likewise.
5043 (_bfd_ecoff_write_object_contents): Check for various Alpha
5044 section types when incrementing text_size and data_size. Call
5045 adjust_headers backend function if it exists.
5046 * coff-alpha.c (alpha_adjust_headers): New static function.
5047 (alpha_ecoff_backend_data): Initialize adjust_headers field.
5048 * coff-mips.c (mips_ecoff_backend_data): Likewise.
5049
2b874a2d
ILT
5050 * hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6.
5051
c780e5db
JL
5052Wed Oct 4 18:15:02 1995 Jeff Law (law@hurl.cygnus.com)
5053
5054 * rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead
5055 of ALTERNATE_AIX_CORE_FORMAT.
5056 * configure.in (aix4): No longer need CORE_FLAGS.
5057 * configure: Updated.
5058
2a01c351
KR
5059Wed Oct 4 15:36:36 1995 Ken Raeburn <raeburn@cygnus.com>
5060
5061 NS32k changes from Ian Dall:
5062 * aoutx.h (MY_final_link_relocate, MY_relocate_contents): New
5063 macros.
5064 (aout_link_input_section_std, aout_link_input_section_ext,
5065 aout_link_reloc_link_order): Call them instead of _bfd_*
5066 versions.
5067 * aout-target.h (MY_exec_header_not_counted): New macro, defaults
5068 to zero.
5069 (backend_data): Use it instead of hardcoded zero.
5070
5071 * aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
5072 (MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
5073
5074 * ns32knetbsd.c: Include bfd.h.
5075 (MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
5076 (MY_bfd_reloc_type_lookup): Declare function too.
5077 * pc532-mach.c (set_sizes): Don't declare.
5078 (MY_text_includes_header, MY_exec_header_not_counted): Define.
5079 (backend_data, MY_backend_data): Don't define.
5080
5081 * config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
5082 ns32k-*-lites* like ns32k-*-netbsd*.
5083
5084 * hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to
5085 compile on lites.
5086
5944d75b
ILT
5087Wed Oct 4 14:15:52 1995 Ian Lance Taylor <ian@cygnus.com>
5088
5089 * coffcode.h (coff_write_object_contents): Restore setting
5090 f_timdat to 0, deleted on August 22.
5091
db344f82
SC
5092Tue Oct 3 16:28:32 1995 steve chamberlain <sac@slash.cygnus.com>
5093
5094 * coffcode.h (coff_bfd_copy_private_symbol_data,
5095 coff_bfd_copy_private_section_data,
5096 coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
5097 * peicode.h (coff_bfd_copy_private_bfd_data): New
5098 (pe_bfd_copy_private_bfd_data): New.
5099 (coff_swap_scnhdr_in): Swap bss size into the right place.
5100 (pe_print_private_bfd_data): Add some newlines.
5944d75b 5101
c780e5db 5102Tue Oct 3 11:53:04 1995 Jeff Law (law@hurl.cygnus.com)
97f1feda
JL
5103
5104 * som.c (setup_sections): Don't die if a space has no subspaces.
5105
3d7c42c9
ILT
5106Mon Oct 2 14:08:55 1995 Ian Lance Taylor <ian@cygnus.com>
5107
5108 * elflink.h (elf_link_add_object_symbols): Don't let a weak
5109 dynamic symbol override a common symbol. Don't change the size or
5110 type if they have been set and the new symbol is not a definition.
5111 Warn if the size or type changes.
5112
c780e5db 5113Sun Oct 1 01:34:41 1995 Jeff Law (law@hurl.cygnus.com)
709af562
JL
5114
5115 * som.c (som_begin_writing): Don't write the symbol table or
5116 symbol strings.
5117 (som_finish_writing): Write them here. Place them after the
5118 subspace data, but before the relocs.
5119
5120Fri Sep 29 11:01:55 1995 Ian Lance Taylor <ian@cygnus.com>
5121
5122 * sunos.c (sunos_add_one_symbol): Just pass false, not
5123 info->shared_library, to sunos_create_dynamic_sections.
5124 (sunos_scan_ext_relocs): Don't warn about a reloc in the .text
5125 section.
5126 (sunos_check_dynamic_reloc): Remove .text section assertion.
5127
7009e451
SS
5128Thu Sep 28 18:48:47 1995 Stan Shebs <shebs@andros.cygnus.com>
5129
5130 * config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*.
5131 * configure, configure.in: Add pmac_xcoff_vec case.
5132 * Makefile.in (BFD32_BACKENDS): Add coff-pmac.o.
5133 * coff-pmac.c: New file, PowerMac XCOFF support.
5134 * coffcode.h (coff_set_arch_mach_hook): Add PowerMac case.
5135 * targets.c (pmac_xcoff_vec): Declare.
5136
5137 * mpw-config.in: Various changes to be compatible with the
5138 autoconf-based configury.
5139 * mpw-make.sed: New file, sed commands to translate Unix
5140 makefile into MPW syntax.
5141 * mpw-make.in: Remove.
5142 * hosts/mpw.h: Remove.
5143 * bfd-in.h, bfd-in2.h: If MPW, include the file that defines
5144 true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED.
5145
b91537be
SC
5146Thu Sep 28 17:06:23 1995 steve chamberlain <sac@slash.cygnus.com>
5147
5148 * binary.c (binary_get_symtab): Return an empty string on error.
5149 * opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB.
5150
30360a6f
KK
5151Thu Sep 28 15:30:44 1995 Kim Knuttila <krk@nellie>
5152
5153 * coff-ppc.c: Reformatted according to gnu conventions
5154 Removed irrelevant "if 0" code
5155
20d1e233
ILT
5156Thu Sep 28 11:19:53 1995 Ian Lance Taylor <ian@cygnus.com>
5157
69fd4fdd
ILT
5158 * hp300hpux.c (convert_sym_type): Treat secondary symbols as weak
5159 symbols rather than as indirect symbols.
5160 (MY(slurp_symbol_table)): Don't do anything special about
5161 secondary symbols.
5162
46b5a892
ILT
5163 * coffcode.h (coff_new_section_hook): Make sure that the alignment
5164 of .ctors and .dtors sections is no larger than 2.
5165
9db59230
ILT
5166 * sunos.c (sunos_add_one_symbol): Don't change
5167 bfd_link_hash_common to bfd_link_hash_new, since it may be on the
5168 undef list.
5169 (bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the
5170 dynamic symbols when creating a shared library.
5171 (sunos_scan_ext_relocs): Handle relocs correctly when creating a
5172 shared library.
5173 (sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as
5174 written even if it is not defined in a regular object.
5175 (sunos_write_dynamic_symbol): Use plt_offset for the address of
5176 the jump table reloc. Add an assertion. Use RELOC_JMP_SLOT
5177 rather than the constant 22.
5178 (sunos_check_dynamic_reloc): Handle creating a shared library.
5179 (sunos_finish_dynamic_link): Set the first entry in the GOT to
5180 zero when creating a shared library.
5181 * aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC,
5182 write it out at the start of the symbol table.
5183
20d1e233
ILT
5184 * Makefile.in (BFD32_BACKENDS): Add coff-arm.o.
5185
a11e10fe
DE
5186Thu Sep 28 00:58:05 1995 Doug Evans <dje@deneb.cygnus.com>
5187
5188 * config.bfd: Add arm-*-coff.
5189 * configure.in, configure: Add armcoff_{little,big}_vec.
5190 * targets.c (armcoff_{little,big}_vec): Declare.
5191 (bfd_target_vector): Add armcoff_{little,big}_vec.
5192 * coff-arm.c (armcoff_{little,big}_vec): Always define.
5193
99062cfc
ILT
5194Wed Sep 27 10:37:14 1995 Ian Lance Taylor <ian@cygnus.com>
5195
5196 * targets.c (bfd_find_target): Remove debugging code.
5197
deacbe0f
KK
5198Wed Sep 27 07:23:39 1995 Kim Knuttila <krk@nellie>
5199
5200 * coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE
5201 support on powerpc.
5202 * Makefile.in: added *-ppc files
5203 * coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to
5204 allow pe based .o's to be shared with other tools on ppc/NT
5205 * config.bfd: added powerpc[le]-[pe|winnt] config support
5206 * configure, configure.in: added bfd_powerpc[le]_pe[i]_vec
5207 * peicode.h: Added more section flags for PE on ppc
5208 Added coff_swap_filehdr_out to allow peicode.h to be
5209 used for non-image PE files on ppc.
5210 Check for image, or not, before copying pe_opthdr
5211 * targets.c: Added new bfd's
30360a6f
KK
5212 * targets.c: Removed two inactive bfds that shouldn't have made it this
5213 far.
deacbe0f 5214
d22b02e0
MM
5215Tue Sep 26 14:06:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
5216
5217 * elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use
5218 explicit values to initialize all relocs. Change all users.
5219 (ppc_elf_brtaken_inner): New function to handle branch predicition
5220 relocs.
5221 (ppc_elf_brtaken_reloc): Ditto.
5222 (ppc_elf_howto_raw): Use new functions. Make sure all unsupported
5223 relocs use ppc_elf_unsupported_reloc.
5224 (ppc_elf_merge_private_bfd_data): Keep track of whether an error
5225 needs to be reported.
5226 (ppc_elf_relocate_section): Support branch prediction relocs.
5227
fcf490c0
ILT
5228Tue Sep 26 12:48:05 1995 Ian Lance Taylor <ian@cygnus.com>
5229
e6cb7b41
ILT
5230 * bfd.c (bfd_assert): Remove \n from string passed to
5231 _bfd_error_handler.
5232
1af85fbb
ILT
5233 * coff-i386.c: (TWO_DATA_SECS): Don't define.
5234 * coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook.
5235 (bfd_coff_make_section_hook): Don't define.
5236 (coff_make_section_hook): Remove.
5237 (sec_to_styp_flags): Remove TWO_DATA_SECS case.
5238 (styp_to_sec_flags): Likewise.
5239 (coff_write_object_contents): Likewise.
5240 (bfd_coff_std_swap_table): Don't initialize make_section_hook
5241 field.
5242 * libcoff.h: Rebuild.
5243 * coffgen.c (make_a_section_from_file): Just call
5244 bfd_make_section_anyway, not bfd_make_section or
5245 bfd_coff_make_section_hook.
5246 * ecoff.c (_bfd_ecoff_make_section_hook): Remove.
5247 * libecoff.h (_bfd_ecoff_make_section_hook): Don't declare.
5248 * coff-alpha.c (alpha_ecoff_backend_data): Don't initialize
5249 make_section_hook field.
5250 * coff-mips.c (mips_ecoff_backend_data): Likewise.
5251
fcf490c0
ILT
5252 * aoutx.h (translate_from_native_sym_flags): Don't try to stuff
5253 pointers into value field for warning and indirect symbols; just
5254 leave the value field alone.
5255 * linker.c (generic_link_add_symbol_list): Use next symbol for
5256 warning and indirect symbols, rather than looking in symbol value.
5257 * ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
5258 parameter. Change all callers. Remove support for indirect
5259 symbols; it didn't work anyhow.
5260 (_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
5261 * syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
5262 * bfd-in2.h: Rebuild.
5263
cc47d19a
MM
5264Mon Sep 25 16:04:09 1995 Michael Meissner <meissner@tiktok.cygnus.com>
5265
5266 * elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs,
5267 go back to telling the tools this reloc operates on 32 bits.
5268
81449d47
ILT
5269Mon Sep 25 11:48:02 1995 Ian Lance Taylor <ian@cygnus.com>
5270
7a7fbffb
ILT
5271 * aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler
5272 rather than a direct fprintf.
5273 * archive.c (_bfd_write_archive_contents): Likewise.
5274 * coffcode.h (coff_slurp_symbol_table): Likewise.
5275 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise.
5276 (ppc_elf_unsupported_reloc): Likewise.
5277 (ppc_elf_relocate_section): Likewise.
5278 * i386linux.c (linux_tally_symbols): Likewise.
5279 (linux_finish_dynamic_link): Likewise.
5280 * osf-core.c (osf_core_core_file_p): Likewise.
5281 * rs6000-core.c (rs6000coff_get_section_contents): Likewise.
5282 * som.c (som_sizeof_headers): Likewise.
5283 * srec.c (srec_bad_byte): Likewise.
5284 * bfd.c (bfd_assert): Likewise. Also change file to be const.
5285 * libbfd-in.h (bfd_assert): Declare first parameter const.
5286 * libbfd.h: Rebuild.
5287 * coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning
5288 bfd_reloc_overflow is enough.
5289 * coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort.
5290 * coff-h8500.c (rtype2howto): Likewise.
5291 * coff-z8k.c (rtype2howto): Likewise.
5292 * coffcode.h (dummy_reloc16_extra_cases): Likewise.
5293 * elf.c (_bfd_elf_get_lineno): Likewise.
5294 (_bfd_elf_no_info_to_howto): Likewise.
5295 (_bfd_elf_no_info_to_howto_rel): Likewise.
5296 * hp300hpux.c (convert_sym_type): Likewise.
5297 (MY(swap_std_reloc_in)): Likewise.
5298 * elf.c (bfd_section_from_shdr): Remove #if 0 sections.
5299
f1c6dd5d
ILT
5300 * libaout.h (struct aoutdata): Add line_buf field.
5301 * aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
5302 and filename_buffer. Instead, use a malloc buffer stored in the
5303 new line_buf field. Remove length restrictions.
5304
f0500a41
ILT
5305 * coffgen.c (string_size): Remove static variable.
5306 (debug_string_size, debug_string_section): Likewise.
5307 (coff_fix_symbol_name): Add string_size_p, debug_string_section_p,
5308 and debug_string_size_p parameters. Use them instead of the
5309 global variables. Change all callers.
5310 (coff_write_symbol): Likewise.
5311 (coff_write_alien_symbol, coff_write_native_symbol): Likewise.
5312 (coff_write_symbols): Add local variables to replace removed
5313 global variables.
5314
25b5a53d
ILT
5315 * libcoff-in.h (struct coff_section_tdata): Add offset, i,
5316 function, and line_base fields.
5317 * libcoff.h: Rebuild.
5318 * coffgen.c (coff_find_nearest_line): Use section tdata to cache
5319 information, rather than using static variables.
5320
641ac26a
ILT
5321 * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
5322 file. From Peter DeWolf <pld@amt.tay1.dec.com>.
5323
81449d47
ILT
5324 * init.c (initialized): Remove static variable.
5325 (bfd_init): Don't bother setting initialized.
5326 (bfd_check_init): Remove.
5327 * opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
5328 * libbfd.h: Rebuild.
5329
138b9b81
PS
5330Sat Sep 23 01:22:23 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5331
5332 * rs6000-core.c (rs6000coff_core_p): Don't check the core file
5333 size for full core dumps. Copy core file header to private data.
5334 (rs6000coff_core_file_failing_command,
5335 rs6000coff_core_file_failing_signal): New functions to extract
5336 the file name and terminating signal from the core file.
5337 * coff-rs6000.c: Use them.
5338
2ffbb79a
ILT
5339Fri Sep 22 17:44:47 1995 Ian Lance Taylor <ian@cygnus.com>
5340
5341 Change arch info to be const, initialized at compile time.
5342 * archures.c: Reindent many functions. Change CONST to const.
5343 (bfd_arch_info_type): Make arch_name const. Remove disassemble;
5344 nothing set it anyhow. Make next const.
5345 (bfd_arch_info_list): Remove.
5346 (bfd_archures_list): Rename from archures_init_table. Change from
5347 a table of function pointers to a table of bfd_arch_info_type
5348 structure addresses.
5349 (bfd_scan_arch): Rewrite accordingly. Return a const pointer.
5350 (bfd_lookup_arch): Likewise.
5351 (bfd_set_arch_info): Rewrite accordingly. Change argument to be a
5352 const pointer.
5353 (bfd_default_arch_struct): Make const.
5354 (bfd_arch_init, bfd_arch_linkin): Remove.
5355 (bfd_get_arch_info): Return a const pointer.
5356 * init.c (bfd_init): Don't call bfd_arch_init.
5357 * bfd.c (struct _bfd): Make arch_info const.
5358 * bfd-in2.h: Rebuild.
5359 * libbfd.h: Rebuild.
5360 * configure.in: Put & before everything in $selarchs.
5361 * configure: Rebuild.
5362 * cpu-*.c: Change bfd_*_arch from a function which calls
5363 bfd_arch_linkin to a const structure.
5364 * ieee.c (ieee_object_p): Make arch const.
5365
02f85cda
MM
5366Fri Sep 22 16:23:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
5367
5368 * reloc.c (bfd_reloc_code_type): Add relocations to support all of
5369 PowerPC V.4.
5370 * bfd-in2.h: Regenerate.
5371 * libbfd.h: Regenerate.
5372
5373 * elf32-ppc.c (reloc_type): Update names to match current draft.
5374 (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
5375 relative. Update names to current V.4 draft.
5376 (ppc_elf_reloc_type_lookup): Add support for more relocations.
5377 (ppc_elf_relocate_section): Rename relocations to match draft.
5378
dd82c578
MM
5379Thu Sep 21 21:53:18 1995 Michael Meissner <meissner@cygnus.com>
5380
5381 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
5382 compiled with -mrelocatable-lib to be linked with either normal
5383 modules or -mrelocatable modules.
5384
f69e888e
ILT
5385Wed Sep 20 12:03:26 1995 Ian Lance Taylor <ian@cygnus.com>
5386
e18c4e8f
ILT
5387 * coffcode.h (coff_write_object_contents): Clear the vstamp field
5388 in the a.out header.
5389
f69e888e
ILT
5390 * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
5391 a reloc against a local symbol, even if it's not a section.
5392
a5655244
ILT
5393Tue Sep 19 17:02:26 1995 Ian Lance Taylor <ian@cygnus.com>
5394
5395 * targets.c (bfd_target): Remove unused align_power_min field.
5396 * bfd-in2.h: Rebuild.
5397 * All backends: Remove initialization of align_power_min.
5398
500d7394
SC
5399Tue Sep 19 14:02:21 1995 steve chamberlain <sac@slash.cygnus.com>
5400
5401 * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
500d7394 5402
049df0a8
ILT
5403Mon Sep 18 14:35:01 1995 Arne H. Juul <arnej@pvv.unit.no>
5404
5405 * config.bfd (mips-dec-netbsd*): New target.
5406 * configure.host (mips-dec-netbsd*): New host.
5407 * configure.in (mips-dec-netbsd*): New native.
5408 * configure: Rebuild.
5409
1862bbd8
ILT
5410Fri Sep 15 10:24:36 1995 Ian Lance Taylor <ian@cygnus.com>
5411
5412 Make the COFF backend linker merge common types:
5413 * cofflink.c (struct coff_debug_merge_element): Define.
5414 (struct coff_debug_merge_type): Define.
5415 (struct coff_debug_merge_hash_entry): Define.
5416 (struct coff_debug_merge_hash_table): Define.
5417 (coff_debug_merge_hash_table_init): Define.
5418 (coff_debug_merge_hash_table_free): Define.
5419 (coff_debug_merge_hash_lookup): Define.
5420 (struct coff_final_link_info): Add debug_merge field.
5421 (coff_debug_merge_hash_newfunc): New static function.
5422 (_bfd_coff_final_link): Allocate and free debug_merge table.
5423 (coff_link_input_bfd): Merge identical enum, struct and union
5424 types.
5425
a208a70f
ILT
5426Thu Sep 14 14:53:58 1995 Ian Lance Taylor <ian@cygnus.com>
5427
5428 Convert i960 COFF to use COFF backend linker.
5429 * coff-i960.c (coff_i960_relocate): Use a coff_section_data
5430 structure to store the symbol being used.
5431 (coff_i960_start_final_link): New static function.
5432 (coff_i960_relocate_section): New static function.
5433 (coff_i960_adjust_symndx): New static function.
5434 (coff_start_final_link): Define.
5435 (coff_relocate_section): Define.
5436 (coff_adjust_symndx): Define.
5437 * coffcode.h (bfd_coff_backend_data): Add new callback function
5438 _bfd_coff_start_final_link.
5439 (bfd_coff_start_final_link): Define.
5440 (coff_start_final_link): Define if not defined.
5441 (bfd_coff_std_swap_table): Add coff_start_final_link.
5442 * cofflink.c (_bfd_coff_internal_syment_name): Make globally
5443 visible.
5444 (_bfd_coff_final_link): Call bfd_coff_start_final_link if the
5445 function callback is not NULL.
5446 * libcoff-in.h (struct coff_section_tdata): Add tdata field.
5447 (_bfd_coff_internal_syment_name): Declare.
5448 * libcoff.h: Rebuild.
5449 * configure.in (icoff_big_vec): Add cofflink.o.
5450 (icoff_little_vec): Likewise.
5451 * configure: Rebuild.
5452
f0abedbe
FF
5453Wed Sep 13 17:38:23 1995 Fred Fish <fnf@rtl.cygnus.com>
5454
5455 * Makefile.in (clean-info): Remove extraneous tab from line
5456 following action.
5457
aa4b3dc5
ILT
5458Wed Sep 13 13:27:53 1995 Ian Lance Taylor <ian@cygnus.com>
5459
5460 * cofflink.c (coff_link_input_bfd): Fail if a section with no
5461 contents has relocs.
5462
4ca63811 5463Thu Sep 12 12:45:34 1995 steve chamberlain <sac@slash.cygnus.com>
beee31b1
SC
5464
5465 * coffcode.h (coff_compute_section_file_positions): Keep the
5466 raw size safe.
5467 (coff_write_object_contents): Remember if it's a relocatable
5468 file.
5469 * libcoff-in.h (pe_data_type): New member 'has_reloc_section'
5470 * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
5471 if relocatable file. Swap out saved raw size.
5472
ae115e51
ILT
5473Tue Sep 12 12:14:33 1995 Ian Lance Taylor <ian@cygnus.com>
5474
9521bac3
ILT
5475 * Makefile.in (do_maintainer_clean): Rename from do_realclean.
5476 (maintainer-clean): Rename from realclean, passing
5477 maintainer-clean down to subdirectories, but leave realclean as a
5478 synonym.
5479
4ca63811
ILT
5480 * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
5481 warning callback.
5482
5aa4c3ff
ILT
5483 * dep-in.sed: Remove config.h from generated dependencies.
5484
396aaeb2
ILT
5485 * sunos.c (sunos_slurp_dynamic_symtab): New static function,
5486 broken out of sunos_canonicalize_dynamic_symtab.
5487 (sunos_canonicalize_dynamic_symtab): Call new function
5488 sunos_slurp_dynamic_symtab.
5489 (sunos_add_dynamic_symbols): Add three new parameters. Return the
5490 dynamic symbol table to the caller.
5491 * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
5492 callback to override the symbols being read.
5493 * libaout.h (struct aout_backend_data): Add three new parameters
5494 to add_dynamic_symbols callback.
5495
ae115e51
ILT
5496 Extensive minor changes to avoid various gcc warnings. Also:
5497 * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
5498 * archures.c (bfd_arch_info_type): Change mach field from long to
5499 unsigned long.
5500 (bfd_lookup_arch): Change machine parameter from long to unsigned
5501 long.
5502
b088e4b2
ILT
5503Mon Sep 11 10:55:47 1995 Ian Lance Taylor <ian@cygnus.com>
5504
5505 * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
5506 a symbol with a non-zero plt_offset.
5507
1dff7902
ILT
5508Fri Sep 8 11:47:24 1995 Ian Lance Taylor <ian@cygnus.com>
5509
2b71e1e4
ILT
5510 * elfcode.h (align_file_position): Remove; not used.
5511
1dff7902
ILT
5512 * configure.in: Only check for <sys/procfs.h> on a native system,
5513 and make sure it defines prstatus_t.
5514 * configure: Rebuild.
5515
870015b1
ILT
5516Thu Sep 7 12:48:01 1995 Ian Lance Taylor <ian@cygnus.com>
5517
535c89f0
ILT
5518 * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
5519
936b870c
ILT
5520 * config.in: Rename from config.h.in.
5521 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
a7873a6c 5522 Check for config.h:config.in when creating stamp-h.
936b870c 5523 * configure: Rebuild.
a7873a6c
ILT
5524 * Makefile.in (stamp-h): Depend upon config.in rather than
5525 config.h.in. Set CONFIG_HEADERS to config.h:config.in when
5526 calling config.status.
936b870c 5527
870015b1
ILT
5528 * Makefile.in (do_distclean): Remove config.h and stamp-h.
5529 (Makefile): Just rebuild Makefile.
5530 (config.h, stamp-h): New targets.
5531 * configure.in: Create stamp-h when rebuilding config.h.
5532 * configure: Rebuild.
5533
b7577823
ILT
5534Wed Sep 6 15:00:33 1995 Ian Lance Taylor <ian@cygnus.com>
5535
5536 * configure.in: Call AC_CONFIG_HEADER. Substitute
5537 HOST_64BIT_LONG. Check that various header files exist. Check
5538 that fcntl exists. Call BFD_BINARY_FOPEN. Check whether malloc
5539 and/or free need to be declared. Don't make a link to sysdep.h.
5540 Define TRAD_HEADER for various hosts.
5541 * configure: Rebuild.
5542 * configure.host: Don't set my_host. Add definitions taken from
5543 host header files for various entries. Remove entries which now
5544 do nothing.
5545 * acconfig.h: New file.
5546 * config.h.in: New file, built by autoheader.
5547 * sysdep.h: New file.
5548 * Makefile.in (do_distclean): Don't remove sysdep.h.
5549 (RECONFIG): Remove.
5550 (LOCAL_H_DEPS): New variable.
5551 ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
5552 $(RECONFIG).
5553 ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
5554 ($(OPTIONAL_BACKENDS)): Likewise.
5555 (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
5556 looking through sysdep.h.
5557 * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
5558 (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
5559 (fprintf_vma, sprintf_vma): Likewise.
5560 (int64_type, uint64_type): Don't define.
5561 * bfd-in2.h: Rebuild.
5562 * archures.c, bfd.c, srec.c: Include <ctype.h>.
5563 * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
5564 * lynx-core.c: Include stuff from old hosts/lynx.h.
5565 * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
5566 rather than NO_FCNTL.
5567 * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
5568 rather than NATIVE_HPPAHPUX_COMPILER.
5569 * trad-core.c: Don't include <errno.h>. Include TRAD_HEADER if it
5570 is defined.
5571 * hosts/*.h: Remove all header files which merely include,
5572 declare, and define things. Leave header files which define
5573 information needed by trad-core.c.
5574
5575 * aclocal.m4 (BFD_BINARY_FOPEN): Define.
5576 (BFD_CC_FOR_BUILD): Define.
5577 * configure.in: Use BFD_CC_FOR_BUILD.
5578 * configure: Rebuild.
5579
7a93ebdd
ILT
5580Tue Sep 5 19:35:28 1995 Ian Lance Taylor <ian@cygnus.com>
5581
4c2e4d0e
ILT
5582 * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
5583 * configure: Rebuild.
5584
7a93ebdd
ILT
5585 * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
5586 a global symbol.
5587
866bb9e5
JM
5588Tue Sep 5 12:48:26 1995 Jason Molenda (crash@phydeaux.cygnus.com)
5589
5590 * config.bfd: i386pe_ve -> i386pe_vec.
5591
2b79a104
ILT
5592Mon Sep 4 14:02:43 1995 Ian Lance Taylor <ian@cygnus.com>
5593
f515fb2f
ILT
5594 * configure.host: Incorporate host Makefile fragments by setting
5595 shell variables.
5596 * configure.in: Call AC_PROG_CC. Substitute CFLAGS, HDEFINES and
5597 AR. Call AC_PROG_INSTALL. Substitute CC_FOR_BUILD, choosing a
5598 value based on whether the code is being compiled by a cross
5599 compiler. Don't substitute host_makefile_frag or frags.
5600 * aclocal.m4: New file to define local AC_PROG_CC.
5601 * configure: Rebuild.
5602 * Makefile.in (INSTALL): Set to @INSTALL@.
5603 (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
5604 (INSTALL_DATA): Set to @INSTALL_DATA@.
5605 (AR): Set to @AR@.
5606 (CC): Define as @CC@.
5607 (CFLAGS): Set to @CFLAGS@.
5608 (CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
5609 (@host_makefile_frag@): Remove.
5610 (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@. Move $(CFLAGS)
5611 after other options.
5612 (config.status): Remove dependency upon @frags@.
5613 * config/*.mh, config/README: Remove.
5614
2b79a104
ILT
5615 * config.bfd: Rewrite to incorporate the contents of the Makefile
5616 fragments by setting shell variables, rather than merely returning
5617 the name of a Makefile fragment.
5618 * configure.in: Use shell variables set by config.bfd rather than
5619 looking at the target Makefile fragment files. Don't substitute
5620 target_makefile_frag. Do substitute TDEFINES.
5621 * configure: Rebuild.
5622 * Makefile.in (@target_makefile_frag@): Remove.
5623 (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
5624 * config/*.mt: Remove.
5625
2cb159a5
KR
5626Mon Sep 4 03:13:28 1995 Ken Raeburn <raeburn@cygnus.com>
5627
5628 * configure.in: Put changequote lines around "i[345]86" patterns
5629 section of core file support.
5630
ef07871c
JL
5631Sun Sep 3 11:31:58 1995 Jeff Law (law@snake.cs.utah.edu)
5632
5633 * som.c (som_bfd_print_private_bfd_data): Define to use the
5634 generic version.
5635
1613e075
SC
5636Fri Sep 1 17:08:40 1995 steve chamberlain <sac@slash.cygnus.com>
5637
5638 * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
5639 entry, text_start and data_start.
5640
a52a3ce8
ILT
5641Fri Sep 1 18:06:28 1995 Ian Lance Taylor <ian@cygnus.com>
5642
a21227ef
ILT
5643 * Makefile.in (OFILES): Remove $(TDEPFILES).
5644 * config/apollo.mt (TDEPFILES): Remove.
5645 * config/README: Update.
5646
a52a3ce8
ILT
5647 * configure.in: For a native configuration, set COREFILE and
5648 COREFLAG based on the canonical host name.
5649 * configure: Rebuild.
5650 * Makefile.in: Rebuild dependencies.
5651 (ALL_CFLAGS): Add @COREFLAG@.
5652 (OFILES): Replace $(HDEPFILES) with @COREFILE@.
5653 * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
5654 support routines. Check LYNX_CORE rather than HOST_LYNX.
5655 * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
5656 * i386lynx.c: Likewise.
5657 * m68klynx.c: Likewise.
5658 * sparclynx.c: Likewise.
5659 * rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
5660 * *-core.c: Comment changes.
5661 * config/decstation.mh (HDEPFILES): Remove.
5662 (HDEFINES): Remove -DTRAD_CORE.
5663 * config/irix3.mh (RANLIB): Remove.
5664 * config/irix4.mh (HDEPFILES, RANLIB): Remove.
5665 (HDEFINES): Remove -DIRIX_CORE.
5666 * config/riscos.mh (RANLIB, HDEPFILES): Remove.
5667 (HDEFINES): Remove -DTRAD_CORE.
5668 * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
5669 * config/ultra3.mh (RANLIB): Remove.
5670 * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
5671 * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
5672 * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
5673 * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
5674 * config/hppahpux.mh, config/hppaosf.mh: Remove.
5675 * config/i386aix.mh, config/i386bsd.mh: Remove.
5676 * config/i386linux.mh, config/i386mach3.mh: Remove.
5677 * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
5678 * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
5679 * config/mipsmach3.mh, config/news-mips.mh: Remove.
5680 * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
5681 * config/rs600.mh, config/rs6000lynx.mh: Remove.
5682 * config/solaris2.mh, config/stratus.mh: Remove.
5683 * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
5684 * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
5685
d6f672b8
ILT
5686Fri Sep 1 15:18:50 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
5687
5688 * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
5689 DT_FINI entry if the appropriate symbol is not in the hash table.
5690
5691 * libelf.h (struct elf_backend_data): Add create_program_headers
5692 and want_hdr_in_seg fields.
5693 * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
5694 defined.
5695 (elf_backend_create_program_headers): Likewise.
5696 (elfNN_bed): Initialize create_program_headers and
5697 want_hdr_in_seg.
5698 * elf.c (get_program_header_size): Call create_program_headers
5699 backend routine.
5700 (map_program_segments): Check want_hdr_in_seg backend field. Call
5701 create_program_headers backend routine.
5702
5703 * elf.c (assign_file_positions_except_relocs): Align non allocated
5704 sections when creating an executable.
5705
5706 * elfcode.h (elf_swap_phdr_in): Make non static.
5707 (elf_swap_phdr_out): Make non static.
5708 * libelf.h (bfd_elf32_swap_phdr_in): Declare.
5709 (bfd_elf32_swap_phdr_out): Declare.
5710 (bfd_elf64_swap_phdr_in): Declare.
5711 (bfd_elf64_swap_phdr_out): Declare.
5712
5713 * ecofflink.c (ecoff_collect_shuffle): New static function.
5714 (_bfd_ecoff_get_accumulated_pdr): New function.
5715 (_bfd_ecoff_get_accumulated_sym): New function.
5716 (_bfd_ecoff_get_accumulated_ss): New function.
5717 * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
5718 (_bfd_ecoff_get_accumulated_sym): Declare.
5719 (_bfd_ecoff_get_accumulated_ss): Declare.
5720 * libbfd.h: Rebuild.
5721
0cb70568
ILT
5722Fri Sep 1 13:20:25 1995 Ian Lance Taylor <ian@cygnus.com>
5723
d6f672b8
ILT
5724 * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
5725
0cb70568
ILT
5726 * elflink.h (elf_link_add_object_symbols): Handle indirect and
5727 warning symbols. If any section is named .gnu.warning.XXX, treat
5728 the contents as a warning to be issued if the symbol XXX is
5729 referenced.
5730 (elf_link_output_extsym): For an indirect or warning symbol, just
5731 output the symbol it points to.
5732
5733 * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
5734 if bfd_hash_allocate fails, since it will already be set.
5735 (generic_link_hash_newfunc): Likewise.
5736 (archive_hash_newfunc): Likewise.
5737 (hash_entry_bfd): New static function.
5738 (_bfd_generic_link_add_one_symbol): Pass new arguments to warning
5739 callback. Allocate a new warning using the hash table newfunc.
5740 Use bfd_hash_replace to update the entry in the hash table, rather
5741 than assuming we can copy the fields with structure assignment.
5742
5743 * hash.c (bfd_hash_replace): New function.
5744 * bfd-in.h (bfd_hash_replace): Declare.
5745 * bfd-in2.h: Rebuild.
5746
f14db880
JSC
5747Fri Sep 1 08:12:50 1995 James G. Smith <jsmith@beauty.cygnus.com>
5748
5749 * config.bfd: Add mips*vr4300-*-elf* target.
5750 * config/mipsbvr4300.mt: Added.
5751
1613e075 5752See file ChangeLog.2
e6d739eb 5753
41126f15
JK
5754\f
5755Local Variables:
5756mode: indented-text
5757left-margin: 8
6ec3bb6a
ILT
5758fill-column: 74
5759version-control: never
5760End:
This page took 0.466333 seconds and 4 git commands to generate.