Sat May 13 10:14:08 1995 Steve Chamberlain <sac@slash.cygnus.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
c7b44b04
MM
1Tue May 9 17:01:38 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2
3 * config.bfd: Add little endian PowerPC support.
4 * configure.in: Ditto.
5 * targets.c: Ditto.
6 * config/ppcle-elf.mt: New file, for little endian PowerPC
7 support.
8 * config/ppc-elf.mt: Add little endian powerpc to the BFD
9 selection vectors.
10 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Complain if
11 linking a different endian object than we expect.
12 (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define, to provide little
13 endian support.
14
15Tue May 2 16:32:24 1995 Jeff Law (law@snake.cs.utah.edu)
16
17 * config.bfd (hppa*-*-lites*): Treat just like hppa*-*-*elf*.
18
19Tue Apr 25 19:38:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
20
21 * coffgen.c (make_a_section_from_file): Initialize lma same as
22 vma.
23
0c3c868b
JM
24Tue Apr 25 11:03:21 1995 Jason Molenda (crash@phydeaux.cygnus.com)
25
26 * hosts/std-host.h: #include ansidecl.h 'cause PTR is used in
27 std-host.h.
28
29Mon Apr 24 23:56:44 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
30
31 * hosts/i386linux.h (HAVE_PROCFS): Don't define it. Added lengthy
32 comment explaining why.
33
423b654e
MM
34Mon Apr 24 10:34:02 1995 Michael Meissner <meissner@cygnus.com>
35
36 * hosts/i386linux.h (HAVE_PROCFS): If NO_PROCFS is defined, don't
37 define HAVE_PROCFS.
38
a96c03cc
MM
39Mon Apr 24 08:33:12 1995 Michael Meissner <meissner@cygnus.com>
40
41 * elf32-ppc.c (ppc_elf_relocate_section): Do not continue
42 processing unknown symbols to prevent a cascade of errors.
43
1f2025d9
KR
44Fri Apr 21 12:48:48 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
45
46 Patches from H.J. Lu for Linux ELF core file support.
47 * elfcode.h (elf_core_file_matches_executable_p) [HAVE_PROCFS]:
48 Use prpsinfo_t instead of struct prpsinfo, for consistency.
49 * hosts/i386linux.h (HAVE_PROCFS): Define.
50
42aade75
SC
51Thu Apr 20 09:07:39 1995 Steve Chamberlain <sac@slash.cygnus.com>
52
53 * linker.c (link_action): Do the right thing when a undefined
54 strong symbol appears after an undefined weak symbol.
55
56Fri Apr 14 16:51:17 1995 Michael Meissner <meissner@tiktok.cygnus.com>
57
58 * elf32-ppc.c (ppc_elf_relocate_section): New function to relocate
59 a whole section for the linker, bypassing bfd_perform_relocation.
60 (ppc_elf_reloc_type_lookup): New function to map the BFD
61 enumeration code into a howto structure.
62 (ppc_elf_howto_raw): Rename from ppc_elf_howto_table.
63 (ppc_elf_howto_table): New array that maps PowerPC relocation
64 numbers to howto structures without a linear search. Change from
65 using bfd_elf_generic_reloc to use ppc_elf_std_reloc.
66 (ppc_elf_howto_init): Initialize ppc_elf_howto_table from
67 ppc_elf_howto_raw.
68 (ppc_elf_reloc_type_lookup): Use a case statement instead of a
69 loop.
70 (ppc_elf_std_reloc): Replacement for bfd_elf_generic_reloc.
71 (ppc_elf_unsupported_reloc): Print a real error message, instead
72 of calling abort.
73 (ppc_elf_addr16_ha_inner): Abstract getting adjustment from
74 ppc_elf_addr16_ha_reloc, so ppc_elf_relocate_section can use it
75 too.
76 (ppc_elf_addr16_ha_reloc): Call it.
77 (ppc_elf_got16_inner): Abstract getting adjustment from
78 ppc_elf_got16_reloc, so ppc_elf_relocate_section can use it too.
79 (ppc_elf_got16_reloc): Call it.
80 (ppc_elf_info_to_howto): Rename from powerpc_info_to_howto.
81
82 * elfcode.h (elf_symbol_from_bfd_symbol): Omit space in debugging
83 output.
84 (elf_symbol_flags): Add debug function to decode flags so that
85 defining DEBUG to be 4 will compile again.
86 (elf_debug_section): Fix typo in debug output.
87
1b283698
KR
88Fri Apr 14 16:03:04 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
89
90 * config.bfd: Add m68*-*-elf*.
91 * elf32-m68k.c: Filled out implementation, except for dynamic
92 linking support.
93 * reloc.c (enum bfd_reloc_code_real): Added *_GOT_PCREL, *_GOTOFF,
94 *_PLT_PCREL, *_PLTOFF, *_68K_* relocations for ELF.
95 * libbfd.h, bfd-in2.h: Regenerated.
96
97Thu Apr 13 14:28:04 1995 Torbjorn Granlund <tege@adder.cygnus.com>
98
99 * coff-m68k.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from
100 1 to 2.
101 (bfd_target): Change minimum section alignment from 1 to 2.
102
56e57a6b
KR
103Wed Apr 12 12:40:04 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
104
105 * aoutx.h (machine_type, case bfd_arch_mips): Treat R8000 like
106 R6000 and R4000 for now.
107
108Tue Apr 4 12:28:25 1995 Stan Shebs <shebs@andros.cygnus.com>
109
110 * mpw-config.in: New file, MPW version of configure.in.
111 * mpw-make.in: New file, MPW version of Makefile.in.
112 * hosts/mpw.h: New file, MPW host definitions.
113 * ecoffswap.h (ecoff_swap_pdr_in, ecoff_swap_pdr_in) [MPW_C]:
114 Alternate versions without ECOFF_64 that chokes MPW C.
115 * coffswap.h (coff_swap_scnhdr_out): Add alternative version with
116 partly-expanded macros.
117
118Thu Mar 30 14:56:21 1995 Ian Lance Taylor <ian@cygnus.com>
119
120 * reloc.c (bfd_perform_relocation): Don't bother to check for
121 overflow if the symbol is undefined.
122
e83f7745
ILT
123Thu Mar 30 14:32:26 1995 H.J. Lu (hjl@nynexst.com)
124
125 * config.bfd: Change linux to default to elf. Using
126 i[345]86-*-linuxaout will build a library which defaults to a.out.
127 * config/i386-laout.mt: Rename from old config/i386-linux.mt.
128 * config/i386-linux.mt: Rename from old config/i386-lelf.mt.
129 Comment out EXTRALIBS.
130 * config/i386-lelf.mt: Remove.
131
75afa884
ILT
132Wed Mar 29 12:01:30 1995 Ian Lance Taylor <ian@cygnus.com>
133
21e061e3
ILT
134 * coff-i960.c (coff_i960_relocate): Cache the section symbol in
135 the used_by_bfd field of the section, to avoid looping for each
136 reloc.
137
75afa884
ILT
138 * cpu-h8500.c (arch_info_struct): Change name from "H8/300" to
139 "h8300" for consistency with other cpu-* files.
140
da7bfa91
ILT
141Tue Mar 28 15:14:11 1995 Ian Lance Taylor <ian@cygnus.com>
142
661cf374
ILT
143 * bout.c (b_out_canonicalize_reloc): Handle SEC_CONSTRUCTOR
144 sections.
145 (b_out_get_reloc_upper_bound): Likewise.
146
da7bfa91
ILT
147 * linker.c (generic_link_add_symbol_list): Skip constructor
148 symbols which the main linker code did not do anything with.
149 (_bfd_generic_link_output_symbols): Use udata.p if it is set,
150 rather than looking the symbol up in the hash table. Just pass
151 through constructor symbols for which udata.p is not set. If the
152 linker defined the symbol, clear the constructor flag.
153
0cd908d2
JL
154Tue Mar 21 10:50:32 1995 Jeff Law (law@snake.cs.utah.edu)
155
156 * som.c (som_set_reloc_info): Sign extend constants from
157 R_DATA_OVERRIDE fixups.
158 * libhppa.h (sign_extend): Renamed from sign_ext. Fix.
159 (low_sign_extend): Likewise.
160
da7bfa91
ILT
161Mon Mar 20 22:39:10 1995 Jeff Law (law@snake.cs.utah.edu)
162
163 * som.c (som_slurp_symbol_table): Tighten test to determine
164 what symbols are section symbols.
165
03788f05
ILT
166Sat Mar 18 01:54:45 1995 Ian Lance Taylor <ian@cygnus.com>
167
168 * elfcode.h (elf_bfd_link_add_symbols): An empty archive is OK.
169
170Fri Mar 17 16:29:02 1995 Jeff Law (law@snake.cs.utah.edu)
171
172 * som.c (som_bfd_copy_private_section_data): Just return true when
173 either the input or output section isn't attached to a SOM BFD.
174 (som_bfd_copy_private_bfd_data): Similarly for BFD private data.
175
7fe4ed45
ILT
176Fri Mar 17 11:50:34 1995 Ian Lance Taylor <ian@cygnus.com>
177
178 * elfcode.h (elf_link_add_object_symbols): Check whether a dynamic
179 object has already been included, and ignore it the second time.
180
181Wed Mar 15 11:56:40 1995 Ian Lance Taylor <ian@cygnus.com>
182
183 * elf32-sparc.c (elf_sparc_howto_table): Change R_SPARC_GOT13 from
184 complain_overflow_bitfield to complain_overflow_signed.
185
186 * libelf.h (bfd_elf32__write_relocs): Don't declare.
187 (bfd_elf64__write_relocs): Don't declare.
188
75236adb
KR
189Tue Mar 14 05:54:33 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
190
191 * stab-syms.c (aout_stab_name): Moved aout_stab_names to be local
192 to this function. Recoded function to stop using table, to
193 improve performance (on i486-netbsd host). Left old version
194 intact under "#if 0" for further performance testing.
195
c4299ed8
ILT
196Mon Mar 13 13:48:49 1995 Ian Lance Taylor <ian@cygnus.com>
197
d0421218
ILT
198 * elfcode.h (write_relocs): Make static. Use PTR argument as a
199 pointer to a boolean variable set to true if something fails.
200 Cast to PTR rather than void *.
201 (sym_is_global): Rewrite for clarity.
202 (map_program_segments): If the program header size is too small,
203 call _bfd_error_handler and return failure rather than aborting.
204 (NAME(bfd_elf,write_object_contents)): Pass boolean variable when
205 calling write_relocs.
206 (elf_symbol_from_bfd_symbol): Use BFD_ASSERT rather than abort.
207 (struct elf_info_failed): Define.
208 (NAME(bfd_elf,size_dynamic_sections)): Declare variables in inner
209 blocks. Pass elf_info_failed structure when calling
210 elf_export_symbol and elf_adjust_dynamic_symbol.
211 (elf_export_symbol): Treat data argument as elf_info_failed rather
212 than bfd_link_info. Set failed field on error.
213 (elf_adjust_dynamic_symbol): Likewise.
214 (struct elf_finfo_failed): Define.
215 (elf_bfd_final_link): Pass elf_finfo_failed structure when calling
216 elf_link_output_extsym. Use BFD_ASSERT rather than abort.
217 (elf_link_output_extsym): Treat data argument as elf_finfo_failed
218 rather than elf_final_link_info. Set failed field on error.
219 (elf_link_input_bfd): Use BFD_ASSERT rather than abort.
220 (elf_reloc_link_order): Likewise.
221
f786a73f
ILT
222 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Only write
223 out PLTRELSZ, PLTREL and JMPREL relocs if there is a .rela.plt
224 section. Solaris 2.4 apparently does not handle empty reloc
225 information correctly.
226
c4299ed8
ILT
227 * archive.c (bsd_write_armap): Cast getuid and getgid results to
228 long, and print with %ld.
229
890b53ef
DE
230start-sanitize-arc
231Sun Mar 12 05:22:10 1995 Doug Evans <dje@chestnut.cygnus.com>
232
233 * elf32-arc.c (elf_arc_howto_table): Relocs with implicit addends
234 don't work too well with zero src_masks. Correct values.
235end-sanitize-arc
236
6a107a28
ILT
237Fri Mar 10 16:41:05 1995 Ian Lance Taylor <ian@cygnus.com>
238
239 * aoutx.h (translate_to_native_sym_flags): Always use the output
240 section if it is not NULL.
241
2f675427
ILT
242Thu Mar 9 15:06:25 1995 Ian Lance Taylor <ian@cygnus.com>
243
99514eec
ILT
244 * coffswap.h (coff_swap_scnhdr_out): If the line number count or
245 the reloc count does not fit, print an error and return 0.
246 * coffcode.h (coff_write_object_contents): Check return value of
247 coff_swap_scnhdr_out.
248 * ecoff.c (_bfd_ecoff_write_object_contents): Check return value
249 of bfd_coff_swap_scnhdr_out.
250
0318ed31
ILT
251 * bfd.c: Include <stdarg.h> or <varargs.h>, depending upon
252 ANSI_PROTOTYPES.
253 (bfd_error_handler_type): New global type.
254 (_bfd_error_program_name): New static variable.
255 (_bfd_default_error_handler): New static function.
256 (_bfd_error_handler): New BFD private global variable.
257 (bfd_set_error_handler): New globally visible function.
258 (bfd_set_error_program_name): New globally visible function.
259 * libbfd-in.h (_bfd_error_handler): Declare.
260 * bfd-in2.h, libbfd.h: Rebuild.
261
2f675427
ILT
262 * aoutx.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter,
263 and use it instead of bfd_get_symcount. Check r_index after
264 setting r_extern based on whether this is a base relative reloc.
265 (NAME(aout,swap_std_reloc_IN)): Add symcount parameter, and use it
266 instead of bfd_get_symcount.
267 (NAME(aout,slurp_reloc_table)): Pass bfd_get_symcount to reloc
268 swap routines.
269 * libaout.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter
270 to declaration.
271 (NAME(aout,swap_std_reloc_in)): Likewise.
272 * sunos.c (sunos_canonicalize_dynamic_reloc): Pass
273 info->dynsym_count to reloc swap routines.
274 * aout-ns32k.c (MY_swap_std_reloc_in): Add symcount parameter.
275 * hp300hpux.c (MY(swap_std_reloc_in)): Likewise.
276 (MY(slurp_reloc_table)): Pass bfd_get_symcount to reloc swap
277 routine.
278 * i386lynx.c (NAME(lynx,swap_ext_reloc_in)): Add symcount
279 parameter.
280 (NAME(lynx,swap_std_reloc_in)): Likewise.
281 (NAME(lynx,slurp_reloc_table)): Pass bfd_get_symcount to reloc
282 swap routines.
283
284Thu Mar 9 12:04:05 1995 Michael Meissner <meissner@tiktok.cygnus.com>
285
286 * bfd.c (bfd_merge_private_bfd_data): New function vector to be
287 called by the linker to merge any private bfd data of the input
288 files and the output file. Used by the PowerPC ELF support to
289 check whether -mrelocatable is used for all modules.
290 (bfd_set_private_flags): New function vector to be called by the
291 assembler to set private flags. Used by the PowerPC ELF support
292 to set that a particular object file was assembled with the
293 -mrelocatable option.
294
295 * targets.c (BFD_JUMP_TABLE_COPY): Add intiialization of the
296 bfd_merge_private_bfd_data and bfd_set_private_flags function
297 vectors.
298
299 * bfd-in2.h, libbfd-in.h: Rebuild with bfd.c and targets.c
300 changes.
301
302 * elf32-ppc.c (ppc_elf_set_private_flags): New function to set the
303 ELF e_flags field.
304 (ppc_elf_copy_private_bfd_data): Copy the e_flags field from the
305 input file to the output file.
306 (ppc_elf_merge_private_bfd_data): Check for a mismatch between the
307 e_flags field of all of the linker input files.
308
309 * libelf.h (elf_obj_tdata): Add ppc_flags_init field so that the
310 PowerPC support can check if compataible e_flags are present.
311
312 * aout-target.h: Add NOP for the bfd_merge_private_bfd_data
313 and bfd_set_private_flags function vectors.
314 * coffcode.h: Ditto.
315 * elf32-target.h: Ditto.
316 * elf64-target.h: Ditto.
317 * libbfd.h: Ditto.
318 * libecoff.h: Ditto.
319 * som.c: Ditto.
320
a48769bf
ILT
321Wed Mar 8 00:53:54 1995 Ian Lance Taylor <ian@cygnus.com>
322
0f6020cb
ILT
323 * cpu-mips.c (arch_info_struct): Add mips:8000 entry.
324
a48769bf
ILT
325 * elfcode.h (swap_out_syms): Mark an undefined BSF_WEAK symbol as
326 STB_WEAK rather than STB_GLOBAL.
327
91766660
DE
328start-sanitize-arc
329Tue Mar 7 20:34:43 1995 Doug Evans <dje@chestnut.cygnus.com>
330
331 * configure.in (SELECT_VECS): Split bfd_elf32_arc_vec into big/little.
332 * targets.c (bfd_target_vector): Likewise.
333 * elf32-arc.c (TARGET_BIG_SYM): Define.
334 (TARGET_BIG_NAME): Define.
335 * config/arc-elf.mt (DEFAULT_VECTOR): Set to bfd_elf32_littlearc_vec.
336 (SELECT_VECS): Add bfd_elf32_bigarc_vec.
337end-sanitize-arc
338
d2117860
ILT
339Tue Mar 7 12:23:47 1995 Ian Lance Taylor <ian@cygnus.com>
340
f135c692
ILT
341 * coffcode.h (bfd_coff_backend_data): Add new field
342 _bfd_coff_adjust_symndx.
343 (bfd_coff_adjust_symndx): Define.
344 (coff_adjust_symndx): Define as NULL if not already defined.
345 (bfd_coff_std_swap_table): Initialize new field to
346 coff_adjust_symndx.
347 * cofflink.c (coff_link_input_bfd): Call coff_adjust_symndx if it
348 is defined.
349 * coff-a29k.c (coff_a29k_adjust_symndx): New static function.
350 (coff_adjust_symndx): Define before including coffcode.h.
351 * libcoff.h: Rebuild.
352
597e3d58
ILT
353 * format.c (bfd_check_format_matches): Skip binary_vec when
354 searching through bfd_target_vector.
355
d2117860
ILT
356 * elfcode.h (elf_sort_hdrs): Check SHT_NOBITS before checking
357 sh_size.
358
df168c35
DE
359Mon Mar 6 23:31:36 1995 Doug Evans <dje@chestnut.cygnus.com>
360
361 * elfcode.h (elf_sort_hdrs): Keep SHT_NOBITS sections after
362 !SHT_NOBITS ones.
363
0f4161dd
JL
364Mon Mar 6 09:53:08 1995 Jeff Law (law@snake.cs.utah.edu)
365
366 * cpu-hppa.c (arch_info_struct): Support both PA1.0 and PA1.1
367 machine types.
368 (bfd_hppa_arch): Link in both PA1.0 and PA1.1 architecture info
369 structures.
370 * libhppa.h (enum pa_arch): New enumeration to describe the
371 different variants of the PA architecture.
372 * som.c (som_object_setup): Use new enumeration to set machine
373 type.
374 (som_finish_writing): If the machine type is PA1.1, then use the
375 PA1.1 machine identifier in the output file.
376
773033d2
ILT
377Thu Mar 2 15:58:24 1995 Ian Lance Taylor <ian@cygnus.com>
378
0f4161dd
JL
379 * aoutx.h (NAME(aout,swap_ext_reloc_in)): Treat the index of a
380 base relative reloc as an index into the symbol table, regardless
381 of the setting of r_extern.
382 (NAME(aout,swap_std_reloc_in)): Likewise.
383
773033d2
ILT
384 * aoutx.h (NAME(aout,set_section_contents)): Double check that the
385 caller is writing to a valid section.
386
c9f92c11
ILT
387Thu Mar 2 14:37:57 1995 Bryan Ford <baford@cs.utah.edu>
388
389 * binary.c: Add support for reading binary files. Loads the raw
390 contents of the file into a data section and wraps some symbols
391 around it. The symbols `_binary_<filename>_start' and
392 `_binary_<filename>_end' indicate the start and end of the data,
393 while `_binary_<filename>_size' is an absolute symbol whose value
394 is the size of the data. <filename> is the name of the binary
395 input file, with all non-alphanumeric characters converted to
396 underscores.
397
398 * archures.c (bfd_arch_get_compatible): Assume users knows what
399 they're doing if one of the architectures is bfd_arch_unknown.
400
35983432
MM
401Wed Mar 1 17:30:46 1995 Michael Meissner <meissner@cygnus.com>
402
403 * elf32-ppc.c (elf_powerpc_howto_table): For relocation
404 R_PPC_GOT16, change complain_on_overflow to be
405 complain_overflow_signed.
406
8760f77c
JM
407Wed Mar 1 11:52:55 1995 Jason Molenda <crash@phydeaux.cygnus.com>
408
409 * configure.host: Recognize powerpc-*-aix*.
410
d842ea0b
ILT
411Wed Mar 1 11:57:39 1995 Ian Lance Taylor <ian@cygnus.com>
412
46cde095
ILT
413 * coff-i960.c (COFF_PAGE_SIZE): Define.
414
d842ea0b
ILT
415 * configure.in: Rewrite output of TDEFAULTS to avoid relying on
416 semantics of single quotes in parameter substitution.
417
c47c90f4
ILT
418Tue Feb 28 12:53:09 1995 Ian Lance Taylor <ian@cygnus.com>
419
afbc1a16
ILT
420 * elfcode.h (elf_sort_hdrs): Sort empty sections before non-empty
421 sections, if they have the same VMA.
422
c47c90f4
ILT
423 * config.bfd (i[345]86-*-linuxelf*): New target. Use i386-lelf.
424 (i[345]86-*-gnuelf*): New target. Use i386-gelf.
425 * config/i386-lelf.mt: New file.
426 * config/i386-gelf.mt: New file.
427
490d89a7
KH
428Mon Feb 27 12:58:25 1995 Kung Hsu <kung@mexican.cygnus.com>
429
430 * config.bfd: add a29k-*-vxworks configuration.
431
432Wed Feb 22 14:40:26 1995 Ian Lance Taylor <ian@cygnus.com>
433
434 * libaout.h (NAME(aout,slurp_reloc_table)): Change declaration to
435 use reloc_howto_type rather than const struct reloc_howto_struct.
436
19a68138
ILT
437Tue Feb 21 18:19:22 1995 Ian Lance Taylor <ian@cygnus.com>
438
439 * bout.c (b_out_slurp_reloc_table): Don't return an error if asked
440 for relocations for the .bss section.
441
ee4d24c6
JL
442Tue Feb 21 15:13:05 1995 Jeff Law (law@snake.cs.utah.edu)
443
444 * som.c (som_bfd_ar_write_symbol_stuff): Handle objects with odd
445 lengths.
446
eaba5169
MM
447Fri Feb 17 12:34:36 1995 Michael Meissner <meissner@cygnus.com>
448
449 * elf32-ppc.c (ppc_elf_got16_reloc): Make GOT style relocs add
450 32768, so the GOT pointer can point to 16384 pointers, instead of
451 8192.
452
6dc6a81a
ILT
453Fri Feb 17 11:45:38 1995 Ian Lance Taylor <ian@cygnus.com>
454
ebb6075d
ILT
455 * hosts/sysv4.h: Include <unistd.h>, <stdlib.h>, and <time.h>.
456 Only define SEEK_SET and SEEK_CUR if they are not already defined.
457 Remove all external function declarations.
458
cd0456a2
ILT
459 * syms.c (bfd_decode_symclass): Return 'W' for a weak symbol.
460
6936966a
ILT
461 * coffgen.c (coff_real_object_p): Set start address and flags
462 before calling coff_mkobject_hook. Restore them on failure.
463 * ecoff.c (_bfd_ecoff_mkobject_hook): If not ECOFF_AOUT_ZMAGIC,
464 clear D_PAGED.
465
6dc6a81a
ILT
466 * coffgen.c: Reindented.
467
b596295f
DE
468Thu Feb 16 14:37:23 1995 Doug Evans <dje@cygnus.com>
469
470 * reloc.c (bfd_perform_relocation): Don't use bitpos in overflow
471 calculations.
472 (bfd_install_relocation): Likewise.
473
fe46552d
ILT
474Thu Feb 16 13:22:29 1995 Ian Lance Taylor <ian@cygnus.com>
475
476 * hosts/std-host.h: Remove all function declarations which return
477 int or void, except the one for free.
478
bcbe2c71
MM
479Wed Feb 15 14:54:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
480
481 * elf32-ppc.c (elf_powerpc_howto_table): Use a destination mask of
482 0xffffffff for R_PPC_REL32, not 0.
483 (powerpc_reloc_map): Add low 16 bit, high 16 bit, and high 16 bit
484 adjusted relocations.
485
486Tue Feb 14 17:47:17 1995 Ian Lance Taylor <ian@cygnus.com>
487
488 * elf32-mips.c (struct mips_elf_find_line): Define.
489 (mips_elf_find_nearest_line): New static function.
490 (bfd_elf32_find_nearest_line): Define.
491 * libelf.h (struct elf_obj_tdata): Add find_line_info field.
492
493 * ecoff.c (_bfd_ecoff_swap_tir_in): Move to ecofflink.c.
494 (_bfd_ecoff_swap_tir_out): Likewise.
495 (_bfd_ecoff_swap_rndx_in): Likewise.
496 (_bfd_ecoff_swap_rndx_out): Likewise.
497 (cmp_fdrtab_entry): Likewise.
498 (mk_fdrtab): Likewise.
499 (lookup): Likewise.
500 (_bfd_ecoff_find_nearest_line): Just call _bfd_ecoff_locate_line
501 to do most of the work. Allocate find_line_info if necessary.
502 * ecofflink.c: Include "aout/stab_gnu.h".
503 (_bfd_ecoff_swap_tir_in): Move in from ecoff.c.
504 (_bfd_ecoff_swap_tir_out): Likewise.
505 (_bfd_ecoff_swap_rndx_in): Likewise.
506 (_bfd_ecoff_swap_rndx_out): Likewise.
507 (cmp_fdrtab_entry): Likewise. Use PTR instead of void *.
508 (mk_fdrtab): Move in from ecoff.c. Add debug_info, debug_swap,
509 and line_info arguments, and use them instead of ecoff_data.
510 (fdrtab_lookup): Move in from lookup in ecoff.c. Remove abfd
511 argument, add line_info argument. Use it instead of ecoff_data.
512 (_bfd_ecoff_locate_line): New function, mostly from the old
513 _bfd_ecoff_find_nearest_line in ecoff.c.
514 * libecoff.h (ecoff_data_type): Remove find_buffer, fdrtab_len and
515 fdrtab fields, replacing them find_line_info field.
516 (_bfd_ecoff_swap_tir_in): Declare.
517 (_bfd_ecoff_swap_tir_out): Declare.
518 (_bfd_ecoff_swap_rndx_in): Declare.
519 (_bfd_ecoff_swap_rndx_out): Declare.
520 * libbfd-in.h (_bfd_ecoff_locate_line): Declare.
521 * libbfd.h: Rebuild.
522 * configure.in: Don't use ecoff.o for bfd_elf32_bigmips_vec or
523 bfd_elf32_littlemips_vec.
524 * Makefile.in: Rebuild dependencies.
525
8c9bfee3
MM
526Tue Feb 14 14:04:22 1995 Michael Meissner <meissner@tiktok.cygnus.com>
527
528 * libelf.h (elf_backend_data): Add fields elf_machine_alt1 and
529 elf_machine_alt2 which provide alternate versions of the machine
530 code.
531
532 * elf32-ppc.c (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Define to
533 recognize old versions of the PowerPC machine code.
534
535 * elf32-target.h (elf32_bed): Initialize alternate machine code
536 fields defined by ELF_MACHINE_ALT1 and ELF_MACHINE_ALT2.
537
538 * elf64-target.h (elf64_bed): Initialize alternate machine code
539 fields defined by ELF_MACHINE_ALT1 and ELF_MACHINE_ALT2.
540
541 * elfcode.h (elf_object_p, elf_core_file_p): In addition to the
542 main machine code field, check the two alternate machine code
543 fields.
544
aed59269
ILT
545Tue Feb 14 12:46:48 1995 Ian Lance Taylor <ian@cygnus.com>
546
547 * aoutf1.h (MACHTYPE_OK): Don't define if already defined. Don't
548 accept M_SPARC if bfd_arch_sparc is not in the list of supported
549 architectures, and don't accept a 680x0 machine type if
550 bfd_arch_m68k is not in the list of supported architectures.
551 * aout0.c (MACHTYPE_OK): Define.
552
1f932736
ILT
553Mon Feb 13 23:25:38 1995 Ian Lance Taylor <ian@cygnus.com>
554
555 * aoutx.h (NAME(aout,swap_ext_reloc_in)): Don't return a pointer
556 to garbage if the symbol index is out of range.
557 (NAME(aout,swap_std_reloc_in)): Likewise.
558
866da18e 559start-sanitize-arc
405affcc
ILT
560Mon Feb 13 09:35:30 1995 Doug Evans <dje@canuck.cygnus.com>
561
562 * elf32-arc.c (reloc_type): New type R_ARC_B26.
563 (elf_arc_howto_table): Likewise.
564 * reloc.c (BFD_RELOC_ARC_B26): Likewise.
565
866da18e
DE
566Thu Feb 9 17:31:40 1995 Doug Evans <dje@canuck.cygnus.com>
567
568 * archures (bfd_mach_arc_base): #define.
569 (bfd_mach_arc_host, bfd_mach_arc_graphics, bfd_mach_arc_audio): Ditto.
570 * cpu-arc.c (arch_info_struct): Define entries for each cpu variant.
571 (bfd_arc_arch): Link each one in.
572 (arc_get_mach): New function.
573 * elf32-arc.c (arc_info_to_howto_rel): Renamed from arc_info_to_howto.
574 (elf_info_to_howto_rel): Update.
575 (arc_elf_object_p, arc_elf_final_write_processing): New functions.
576 (elf_backend_object_p): Define.
577 (elf_backend_final_write_processing): Define.
578 (USE_REL): Define.
579end-sanitize-arc
580
10bf6ddf
KR
581Thu Feb 9 18:36:52 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
582
583 * Makefile.in (BFD32_BACKENDS): Add i386msdos.o.
584
62e5acdc
ILT
585Thu Feb 9 12:02:35 1995 Ian Lance Taylor <ian@cygnus.com>
586
c93e959c
ILT
587 * i386linux.c (NEEDS_SHRLIB): Define.
588 (linux_tally_symbols): Crash if a NEEDS_SHRLIB symbol is
589 undefined. From hjl@nynexst.com (H.J. Lu).
590
6581a70a
ILT
591Wed Feb 8 17:26:00 1995 Ian Lance Taylor <ian@cygnus.com>
592
593 * linker.c (generic_link_check_archive_element): Allocate common
594 symbol information structure. Don't bother to check for common
595 symbol size overflow.
596 (_bfd_generic_link_add_one_symbol): Likewise.
597 * aoutx.h (aout_link_check_ar_symbols): Likewise.
598 * linker.c (generic_link_check_archive_element): Adjust references
599 to common symbol information for new structure.
600 (_bfd_generic_link_add_one_symbol): Likewise.
601 * aoutx.h (aout_link_check_ar_symbols): Likewise.
602 (aout_link_add_symbols): Likewise.
603 * ecoff.c (ecoff_link_add_externals): Likewise.
604 * elfcode.h (elf_link_add_object_symbols): Likewise.
605 (elf_link_output_extsym): Likewise.
606 * sunos.c (sunos_add_one_symbol): Likewise.
607
121a8465
DE
608Wed Feb 8 09:53:42 1995 Doug Evans <dje@canuck.cygnus.com>
609
610 * elfcode.h (elf_sort_hdrs): Put SHT_NOBITS sections after !SHT_NOBITS.
611
28860f46
JL
612Tue Feb 7 16:27:33 1995 Jeff Law (law@snake.cs.utah.edu)
613
614 * som.c (som_bfd_find_nearest_line): Just return false, don't
615 abort.
616
2559e014
KR
617Tue Feb 7 14:43:33 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
618
619 * ecoff.c: Reformatted some comments and brace constructs in
620 recent changes to GNU style.
621 (cmp_fdrtab_entry, mk_fdrtab, lookup): Use old-style function
622 definitions.
623
95b0f14b
ILT
624Tue Feb 7 14:21:28 1995 Ian Lance Taylor <ian@cygnus.com>
625
626 * ecoffswap.h (ecoff_swap_pdr_in): Zero out intern before setting
627 any of the fields.
628
97d5a149
KR
629Mon Feb 6 20:01:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
630
631 Sat Feb 4 14:20:24 1995 David Mosberger-Tang <davidm@piston.cs.arizona.edu>
632
633 * ecoffswap.h (ecoff_swap_pdr_in, ecoff_swap_pdr_out): added
634 internalizing/externalizing new "prof" field.
635
636 * libecoff.h (ecoff_tdata): added fdrtab.
637
638 * ecoff.c (_bfd_ecoff_find_nearest_line): Fixed.
639
6c97aedf
ILT
640Mon Feb 6 14:25:24 1995 Ian Lance Taylor <ian@cygnus.com>
641
59474174
ILT
642 * libelf.h (struct elf_link_hash_table): Add saw_needed field.
643 * elfcode.h (elf_link_add_object_symbols): Set saw_needed if
644 DT_NEEDED seen in .dynamic section.
645 (elf_link_output_extsym): Warn if an undefined symbol is
646 only referenced from a dynamic object, and not making a shared
647 object, and saw_needed is false.
648 * elf.c (_bfd_elf_link_hash_table_init): Initialize saw_needed.
649
0bef7f72
ILT
650 * libelf.h (ELF_LINK_HASH_DEFINED_WEAK): Don't define.
651 * elfcode.h (elf_link_add_object_symbols): Don't clear or set
652 ELF_LINK_HASH_DEFINED_WEAK.
653 (elf_link_output_extsym): Don't check ELF_LINK_HASH_DEFINED_WEAK.
654
6c97aedf
ILT
655 Distinguish a weak defined symbol from a regular defined symbol.
656 * linker.c (enum link_action): Add DEFW.
657 (link_action): Add bfd_link_hash_defweak column.
658 (_bfd_generic_link_add_one_symbol): Add DEFW case. Handle
659 bfd_link_hash_defweak in a few other cases.
660 * Many files (bfd_link_hash_undefweak): Renamed from
661 bfd_link_hash_weak.
662 * aoutx.h (aout_link_write_symbols): Handle bfd_link_hash_defweak.
663 (aout_link_write_other_symbol): Likewise.
664 (aout_link_input_section_std): Likewise.
665 (aout_link_input_section_ext): Likewise.
666 * bout.c (get_value): Likewise.
667 * coff-a29k.c (coff_a29k_relocate_section): Likewise.
668 * coff-alpha.c (alpha_convert_external_reloc): Likewise.
669 (alpha_relocate_section): Likewise.
670 * coff-mips.c (mips_relocate_section): Likewise.
671 (mips_relax_section): Likewise.
672 (bfd_mips_ecoff_create_embedded_relocs): Likewise.
673 * cofflink.c (coff_write_global_sym): Likewise.
674 (_bfd_coff_generic_relocate_section): Likewise.
675 * ecoff.c (ecoff_link_add_externals): Likewise.
676 (ecoff_link_write_external): LIkewise.
677 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
678 (elf32_hppa_size_stubs): Likewise.
679 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
680 (elf_i386_relocate_section): Likewise.
681 (elf_i386_finish_dynamic_symbol): Likewise.
682 * elf32-mips.c (mips_elf_output_extsym): Likewise.
683 (mips_elf_relocate_section): Likewise.
684 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
685 (elf32_sparc_relocate_section): Likewise.
686 * elfcode.h (elf_link_add_object_symbols): Likewise.
687 (elf_adjust_dynamic_symbol): Likewise.
688 (elf_bfd_final_link): Likewise.
689 (elf_link_output_extsym): Likewise.
690 * i386linux.c (linux_add_one_symbol): Likewise.
691 (linux_tally_symbols): Likewise.
692 (linux_finish_dynamic_link): Likewise.
693 * linker.c (_bfd_generic_link_output_symbols): Likewise.
694 (set_symbol_from_hash): Likewise.
695 * reloc16.c (bfd_coff_reloc16_get_value): Likewise.
696 (bfd_perform_slip): Likewise.
697 * sunos.c (sunos_add_one_symbol): Likewise.
698 (sunos_scan_std_relocs): Likewise.
699 (sunos_scan_ext_relocs): Likewise.
700 (sunos_scan_dynamic_symbol): Likewise.
701 (sunos_write_dynamic_symbol): Likewise.
702
5dc8db48
KR
703Mon Feb 6 03:20:17 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
704
705 Changes from Bryan Ford, baford@schirf.cs.utah.edu:
706 * config.bfd (i[345]86-*-msdos*): New target.
707 * configure.in (i386msdos_vec): Handle it.
708 * i386msdos.c: New file.
709 * config/i386-msdos.mt: New file.
710 * bfd.c (enum bfd_error): Added new value bfd_error_file_too_big.
711 (bfd_errmsgs): Added string to table.
712 * libaout.h (reloc_type-lookup): Declare it.
713 * targets.c (enum bfd_flavour): Added bfd_target_msdos_flavour.
714 (i386msdos_vec): Declare.
715 (bfd_target_vector): Add it to the list.
716 * bfd-in2.h: Regenerated.
717
9ea5de84
JL
718Wed Feb 1 01:32:14 1995 Jeff Law (law@snake.cs.utah.edu)
719
5dc8db48
KR
720 * som.c (som_set_reloc_info, case R_DATA_ONE_SYMBOL): If there's
721 nothing in R_DATA_OVERRIDE, then try to find the addend in the
722 section's contents.
312eb91b 723 (som_write_fixups): Ignore the addend in a R_DATA_ONE_SYMBOL fixup.
5dc8db48 724
9ea5de84
JL
725 * som.c (som_object_setup): More heruistics to detect the
726 braindamaged HP OSF1 linker.
727 (setup_sections): Don't forget to free subspace_sections if we get
728 an error.
729 (som_slurp_string_table): Allocate strings on this bfd's obstack
730 rather than directly out of the heap.
731 (som_slurp_symbol_table): Likewise for the saved copy of the
732 canonical symbols.
733 (som_slurp_reloc_table): Likewise for the saved copy of the
734 canonical relocations. Free the native relocations when we're
735 done with them.
736
ef6fb95d
DE
737Tue Jan 31 21:53:28 1995 Doug Evans <dje@canuck.cygnus.com>
738
739 * libelf.h (struct elf_obj_tdata): New member program_header_size.
740 * elfcode.h (get_program_header_size): New parameters sorted_hdrs,
741 count, and maxpagesize. All callers updated.
742 If sorted_hdrs is non-NULL, use it to compute the number of segments.
743 Save result in case called again.
744 (assign_file_positions_except_relocs): Sort headers before calling
745 get_program_header_size.
746
5945db29
ILT
747Tue Jan 31 15:27:53 1995 Ian Lance Taylor <ian@cygnus.com>
748
749 * elfcode.h (map_program_segments): Add sorted_hdrs parameter.
750 Search through it rather than through unsorted section headers.
751 (assign_file_positions_except_relocs): Pass sorted_hdrs to
752 map_program_segments.
753
3e461107
KR
754Mon Jan 30 22:04:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
755
756 * ecoff.c (_bfd_ecoff_find_nearest_line): Fix problems in range
757 checking. Expect argument OFFSET to be section-relative. From
758 David Mosberger-Tang, davidm@piston.cs.arizona.edu.
759
760Mon Jan 30 11:22:11 1995 Ian Lance Taylor <ian@cygnus.com>
761
762 * elfcode.h (NAME(bfd_elf,record_link_assignment)): Don't do
763 anything if we are not linking an ELF file.
764 (NAME(bfd_elf,size_dynamic_sections)): Likewise.
765
fede9992
JL
766Sat Jan 28 12:48:57 1995 Jeff Law (law@snake.cs.utah.edu)
767
8bc3e02c
JL
768 * som.c (compare_subspaces): New function to sort subspaces by
769 their location in the object file.
770 (setup_sections): When computing the index for each subspace,
771 handle case where setup_sections reads the subspaces in a
772 different order that they appear in the object file.
773 (som_is_space): Also examine the output section for the containing
774 section.
775 (som_is_subspace, som_is_container): Likewise.
776 (som_begin_writing): Don't prepare or write fixups here. When
777 writing the symbol strings, use the unsorted symbol table.
778 (som_write_object_contents): Don't write the symbol table here.
779 (som_finish_writing): Prepare and write the fixups here. Likewise
780 for the symbol table.
781 (som_bfd_derive_misc_symbol_info): Undefined symbols always have
782 type SS_UNSAT regardless of BSF_EXPORT.
783 (som_set_reloc_info): Unpack and attach argument location
784 information for R_PCREL_CALL and R_ABS_CALL relocations.
785
fede9992
JL
786 * som.c (som_object_setup): New heuristic to determine if the
787 entry and flags fields are switched in the exec header.
788
cd9dba7b
ILT
789Sat Jan 28 00:16:01 1995 Ian Lance Taylor <ian@cygnus.com>
790
791 * elfcode.h (elf_link_add_object_symbols): Use *sym_hash instead
792 of h if we might not be doing an ELF link.
793
6977046f
ILT
794Fri Jan 27 16:13:42 1995 Ian Lance Taylor <ian@cygnus.com>
795
cea133af
ILT
796 * elf32-mips.c (mips_elf_final_link): If the size of an input
797 .reginfo section is zero, force it to the correct size, since the
798 linker emulation code may have clobbered it.
799
6977046f
ILT
800 * elfcode.h (elf_sort_hdrs): Correct SHF_ALLOC test.
801 (assign_file_positions_except_relocs): Free sorted_hdrs.
802
61a914c9
SC
803Thu Jan 26 09:00:12 1995 Steve Chamberlain <sac@splat>
804
7896128d
SC
805 * srec.c (srec_set_section_contents): Fix off by
806 one end address calculation.
807
61a914c9
SC
808 * config.bfd: (m68*-est-coff): New configuration.
809
e83e94ef
ILT
810Thu Jan 26 11:39:21 1995 Ian Lance Taylor <ian@cygnus.com>
811
4b412ed1
ILT
812 * elfcode.h (elf_link_add_object_symbols): Only examine weakdef if
813 we are using an ELF hash table.
814
e83e94ef
ILT
815 * aoutx.h (NAME(aout,some_aout_object_p)): Always set EXEC_P if
816 the start address is in the .text section, even if STAT_FOR_EXEC
817 is set. Just use STAT_FOR_EXEC as an additional test.
818
c6d729b3
MM
819Thu Jan 26 11:12:54 1995 Michael Meissner <meissner@cygnus.com>
820
821 * elfcode.h (prep_headers): Use EM_PPC instead of
822 EM_CYGNUS_POWERPC.
823
824 * elf32-ppc.c (reloc_type): Add all System V.4 and eABI
825 relocations currently defined.
826 (powerpc_reloc_map): Adjust to new relocation names.
827 (elf_powerpc_howto_table): Add most of the new relocations.
828 (ELF_MACHINE_CODE): Use EM_PPC instead of EM_CYGNUS_POWERPC.
829
830 * config.bfd: Add support for powerpc-*-eabi.
831
832 * config/ppc-elf.mt: Add rs6000 architecture support to the
833 PowerPC. Also add XCOFF support.
834
e079cfe8
ILT
835Wed Jan 25 23:26:13 1995 Ian Lance Taylor <ian@cygnus.com>
836
837 * coff-sh.c (CALC_ADDEND): Don't define.
838 (coff_sh_relocate_section): Remove.
839 (coff_relocate_section): Use _bfd_coff_generic_relocate_section.
840
16fe8950
ILT
841Tue Jan 24 14:22:47 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
842
843 * elf32-mips.c (mips_elf_output_extsym): Set the value of the
844 ECOFF symbol from the hash table entry.
845
c525c3af
SC
846Mon Jan 23 14:53:35 1995 Steve Chamberlain <sac@splat>
847
848 * coff-sh.c (coff_sh_relocate_section): Don't subtract
849 vma twice.
850
123bfaa5
ILT
851Mon Jan 23 13:33:18 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
852
6e3acf74
ILT
853 * coff-sh.c (sh_reloc): Don't ignore the previous contents of an
854 R_SH_IMM32 reloc.
855
6e7f3f07
ILT
856 * config.bfd (i[345]86-*-gnu*): Set bfd_name to i386-gnu.
857 * config/i386-gnu.mt: New file. Include ELF support.
858
123bfaa5
ILT
859 * opncls.c (bfd_openstreamr): Call bfd_cache_init.
860
04dc16b7
ILT
861Fri Jan 20 11:44:45 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
862
863 * sunos.c (sunos_add_one_symbol): Only set the sunos specific
864 fields if we are doing a sunos link.
865
866Wed Jan 18 12:28:17 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
867
868 * cpu-h8300.c (h8300_info_struct): Change name from "H8/300" to
869 "h8300" for consistency with other cpu-* files.
870 (h8300h_info_struct): Change name from "H8/300H" to "h8300h".
871 * coff-h8300.c (special): Remove unused variable diff.
872
6a5848cd
ILT
873Tue Jan 17 10:52:32 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
874
d01a0278
ILT
875 * bfd-in.h (bfd_byte, reloc_howto_type): Define here, not...
876 * reloc.c (bfd_byte, reloc_howto_type): here.
877 * Changed all occurrences of ``const struct reloc_howto_struct''
878 to be ``reloc_howto_type'' instead.
879 * bfd-in2.h, libbfd.h, libcoff.h: Rebuilt.
880
8a51b06c
ILT
881 * opncls.c (bfd_openstreamr): New function.
882 * bfd-in2.h: Rebuilt.
883
6a5848cd
ILT
884 * elf32-mips.c (enum reloc_type): Define new relocs used on Irix.
885 (elf_mips_howto_table): Add entries for new relocs.
886 (mips_elf_section_from_shdr): Handle SHT_MIPS_MSYM,
887 SHT_MIPS_DWARF, and SHT_MIPS_EVENTS.
888 (mips_elf_fake_sections): Handle sections named .msym, .debug_*
889 and .MIPS.events.*.
890
891 * srec.c (srec_init): Remove unused local variable i.
892
c21b376f
SC
893Sat Jan 14 19:09:48 1995 Steve Chamberlain <sac@jonny>
894
895 * archures.c, Makefile.in, targets.c, bfd-in2.h, coffcode.h,
896 config.bfd, configure.in, config/w65.mt: Initial support for the W65.
897
9560e662
SC
898Sun Jan 15 13:57:45 1995 Steve Chamberlain <sac@splat>
899
900 * opncls.c (bfd_fdopenr): Configure for WIN32.
901
c3fcc078
KR
902Thu Jan 12 16:30:47 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
903
904 * Makefile.in (diststuff): Include `headers'.
905
906 * sunos.c (m68k_plt_first_entry, sparc_plt_first_entry): Now
907 const.
908 * tekhex.c (digs): Ditto.
909 * elf32-i386.c (elf_i386_plt0_entry, elf_i386_plt_entry): Ditto.
910
911 * srec.c, tekhex.c: Include libiberty.h. Delete static array
912 hex_value and replace references to it with references to
913 hex_init, hex_p, and hex_value.
914 * Makefile.in: Updated dependencies.
915
916 * archures.c (archures_init_table): Now const.
917 (bfd_arch_init): Adjusted type of local var `ptable'.
918start-sanitize-rce
919
920 * Makefile.in (ALL_MACHINES): Include cpu-rce.o.
921 (BFD32_BACKENDS): Include aout-rce.o.
922end-sanitize-rce
923start-sanitize-arc
924
925 * Makefile.in (ALL_MACHINES): Include cpu-arc.o.
926 (BFD32_BACKENDS): Include elf32-arc.o.
927end-sanitize-arc
928
b69fe363
PS
929Thu Jan 12 09:33:24 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
930
931 * hosts/symmetry.h: Redefine `shared' to enable compilation
932 with the native Dynix cc compiler.
933 * i386dynix.c: Include aoutx.h instead of using routines
934 from aout32.c.
935
82b1edf7
KR
936Wed Jan 11 21:31:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
937
938 * reloc.c (reloc_howto_type): Make typedef include `const'.
939 * aout-ns32k.c, aoutx.h, bout.c, cf-m68klynx.c, coff-i386.c,
940 coff-i960.c, coff-m68k.c, cofflink.c, cpu-ns32k.c, ecoff.c,
941 elf32-hppa.c, elf32-i386.c, elf32-mips.c, elf32-sparc.c,
942 elfcode.h, libbfd-in.h, linker.c, mipsbsd.c, nlm32-ppc.c, oasys.c,
943 reloc.c, som.c: Don't use `const' in combination with
944 `reloc_howto_type'.
945start-sanitize-arc
946 * elf32-arc.c: Ditto.
947end-sanitize-arc
948 * bfd-in2.h, libbfd.h: Regenerated.
949
9c84b228
KR
950 * ecoff.c (ecoff_type_to_string): Local variable `buffer1' doesn't
951 need to be static.
952
040c913e
ILT
953Wed Jan 11 14:36:41 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
954
788d9436
ILT
955 * sunos.c (sunos_add_one_symbol): Don't core dump if a multiple
956 definition of an absolute symbol is encountered.
957
040c913e
ILT
958 * linker.c (_bfd_generic_link_add_one_symbol): Ignore
959 redefinitions of an absolute symbol to the same value.
960
f78b3963
ILT
961Mon Jan 9 15:51:32 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
962
963 * elfcode.h (elf_link_add_object_symbols): It's reasonable for no
964 flags to be set, so don't insist otherwise.
965
42cf6d79
ILT
966Fri Jan 6 16:39:40 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
967
968 * elfcode.h (elf_slurp_symbol_table): Don't set BSF_GLOBAL for an
969 undefined or common symbol.
970 (elf_link_add_object_symbols): Likewise.
971
1b567970
JL
972Wed Jan 4 14:14:05 1995 Jeff Law (law@snake.cs.utah.edu)
973
eb57c776
JL
974 * som.c (bfd_section_from_som_symbol): Only return sections which
975 correspond to subspaces.
976
1b567970
JL
977 * som.c (som_begin_writing): Don't forget to bump the
978 total_subspaces when writing the unloadable subspaces.
979
c3a18888
JL
980Wed Dec 28 20:54:47 1994 Jeff Law (law@snake.cs.utah.edu)
981
982 * som.c (som_write_fixups): Use SEC_HAS_CONTENTS to identify
983 bss-like sections.
984 (som_get_section_contents): Likewise.
985 (som_set_section_contents): Likewise.
986
5faa346b
JL
987Tue Dec 27 14:03:47 1994 Jeff Law (law@snake.cs.utah.edu)
988
989 * som.c (setup_sections): Turn off SEC_HAS_CONTENTS for bss-like
990 sections.
991
85200ebc
KR
992Tue Dec 20 15:30:12 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
993
8675437e
KR
994 * coffgen.c (bfd_debug_section): Deleted.
995 (coff_section_from_bfd_index): Return absolute section for debug
996 symbol.
997 (coff_write_symbol): Set BSF_DEBUGGING for C_FILE symbols. If
998 BSF_DEBUGGING is set, set section to N_DEBUG.
999 (coff_bfd_make_debug_symbol): Use absolute section.
1000
85200ebc
KR
1001 * elfcode.h (assign_file_positions_except_relocs): In assertion,
1002 force all values to the same type.
1003
e7d9ee90
SC
1004Tue Dec 20 11:11:58 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1005
1006 * coff-h8300.c (howto_table): All relocs get a special function.
1007 (special): Never do anything when linking -r.
1008
9b09a015
ILT
1009Tue Dec 20 13:58:01 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1010
f10d31aa
ILT
1011 * i386linux.c (linux_add_one_symbol): Don't do anything Linux
1012 specific if this is not a Linux hash table. From Eric Youngdale
1013 <eric@aib.com>.
1014
182b9e9f
ILT
1015 Patches from kkojima@mix.or.jp (Kazumoto Kojima):
1016 * mipsbsd.c (mips_howto_table_ext): Change sizes of memory relocs
1017 apply to from two bytes to four bytes.
1018 * MY(reloc_howto_type_lookup): Handle BFD_RELOC_CTOR.
1019
9b09a015
ILT
1020 * elf32-i386.c (elf_i386_relocate_section): Correct and expand the
1021 list of cases for which relocation need not be computed.
1022 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1023
1024start-sanitize-arc
1025Tue Dec 20 09:01:01 1994 Doug Evans <dje@canuck.cygnus.com>
1026
1027 * elf32-arc.c (elf_arc_howto_table, R_ARC_B22_PCREL): Value is
1028 right-shifted 2 bits. Fix dst_mask.
1029end-sanitize-arc
1030
5874427f
JL
1031Mon Dec 19 23:09:16 1994 Jeff Law (law@snake.cs.utah.edu)
1032
1033 * elf32-hppa.c (elf32_hppa_read_symext_info): Delete do_locals and
1034 do_globals arguments, always read symbol extension information for
1035 globals and locals. All callers changed.
1036 (elf32_hppa_size_stubs): Rework to only read symbol extension
1037 information once for each input bfd. 10% improvement in linker
1038 performance.
1039
963747b3
ILT
1040Fri Dec 16 12:28:46 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1041
1042 * elfcode.h (elf_section_from_bfd_section): Check
1043 bfd_is_abs_section, etc., only after checking for the section in
1044 the BFD and after calling the backend routine.
1045
f5202354
ILT
1046Wed Dec 14 20:21:58 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1047
1048 * elfcode.h (elf_map_symbols): Only use section symbols whose
2f19e36d
ILT
1049 value is the start of the section, checking output_offset when
1050 using output_section. When creating a new symbol, set the value
1051 to 0, since BFD symbol values are section relative.
f5202354 1052
1088e148
ILT
1053Tue Dec 13 13:31:06 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1054
1055 * cpu-z8k.c (arch_info_struct): Make z8002 the default
1056 architecture.
1057
aeec67f0
ILT
1058Fri Dec 9 12:43:05 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1059
4c124191
ILT
1060 * elfcode.h (elf_bfd_link_add_symbols): If the first object in the
1061 archive is not an ELF object, pass the archive to the add_symbols
1062 entry point appropriate for the first object. From Eric Youngdale
1063 <eric@aib.com>.
a0020ea1
ILT
1064 * aoutx.h (NAME(aout,link_add_symbols)): Similar change if the
1065 first object is not an a.out object.
4c124191 1066
aeec67f0
ILT
1067 * elf32-i386.c (elf_i386_relocate_section): Don't compute
1068 relocation in cases where we won't use it.
1069 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1070
f8368802
KR
1071Thu Dec 8 14:19:41 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1072
1073 * pc532-mach.c (NAME): Define to use ns32kaout prefix.
1074 * ns32knetbsd.c (NAME): Ditto.
1075 (ns32kaout_32_get_section_contents): Define to standard aout-32
1076 version.
1077
1078Fri Dec 2 13:56:49 1994 Ian Lance Taylor <ian@rtl.cygnus.com>
1079
1080 * coff-mips.c (mips_read_relocs): New static function, broken out
1081 of mips_relax_section.
1082 (mips_relax_section): Call mips_read_relocs.
1083 (bfd_mips_ecoff_create_embedded_relocs): New function.
1084 * bfd-in.h (bfd_mnips_ecoff_create_embedded_relocs): Declare.
1085 * bfd-in2.h: Rebuild.
1086
72985091
ILT
1087Wed Nov 30 14:12:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1088
1089 * coff-sh.c: Use _bfd_dummy_target instead of no_archive.
1090
05cedcf6
DE
1091start-sanitize-arc
1092Tue Nov 29 17:14:21 1994 Doug Evans <dje@canuck.cygnus.com>
1093
1094 * archures.c: Initial support for the ARC.
1095 * reloc.c, targets.c, config.bfd, configure.in, elfcode.h: Likewise.
1096 * bfd-in2.h: Regenerated.
1097 * libbfd.h: Likewise.
20e58678 1098 * config/arc-elf.mt: New file.
05cedcf6
DE
1099end-sanitize-arc
1100
5b0f1ab5
C
1101Tue Nov 29 14:00:19 1994 J.T. Conklin <jtc@.rtl.cygnus.com>
1102
1103 * config.bfd (i[345]86-*-freebsd*): Use i386-bsd as bfd_name.
1104 * configure.host (i[345]86-*-freebsd*): Use i386bsd as my_host.
1105
382229dc
C
1106Mon Nov 28 15:36:04 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
1107
1108 * config/m68k-nbsd.mt (DEFAULT_VECTOR): set to m68knetbsd_vec.
1109 * Makefile.in: Rebuilt dependancies.
1110 (CFILES): Added m68knetbsd.c.
1111 (HFILES): Added netbsd.h.
1112
7a1d4567
SC
1113Wed Nov 23 19:21:41 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1114
1115 * coff-sh.c (shlcoff_vec): New target vector.
1116 (no_archive): New function.
1117 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Handle
1118 little endian SH.
1119 * configure.in: Handle shl.
1120 * targets.c (bfd_target_vector): Add shlcoff_vec.
1121 * config/sh-coff.mt (SELECT_VECS): Handle shl_coff_vec.
1122
1123Wed Nov 23 10:50:13 1994 Jeff Law (law@snake.cs.utah.edu)
1124
1125 * elfcode.h (write_relocs): Do not subtract the section's vma from
1126 the reloc's offset when writing .o's. Instead add the section's
1127 vma to the reloc's offset when writing an executable or shared
1128 library.
1129
150bd991
JL
1130Tue Nov 22 23:34:37 1994 Jeff Law (law@snake.cs.utah.edu)
1131
1132 * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Do not add
1133 input_section->vma to the relocation's offset.
1134
ba3eb9c0
ILT
1135Mon Nov 21 12:37:25 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1136
1137 * srec.c (srec_get_reloc_upper_bound): Define.
1138 (srec_canonicalize_reloc): Define.
1139 (srec_bfd_reloc_type_lookup): Define.
1140 (srec_vec, symbolsrec_vec): Use BFD_JUMP_TABLE_RELOCS (srec).
1141
ae4471f6
PS
1142Sat Nov 19 03:10:51 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
1143
1144 * configure.host (i[345]86-*-solaris*): Use solaris2 to
1145 enable extraction of procfs info from core file for GDB.
1146
fca2b81b
KR
1147Thu Nov 17 17:37:39 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1148
1149 * reloc.c (bfd_reloc_code_type): Add new value BFD_RELOC_12_PCREL.
1150 * bfd-in2.h, libbfd.h: Rebuilt.
1151
b68a74d1
JL
1152Thu Nov 17 13:12:08 1994 Jeff Law (law@snake.cs.utah.edu)
1153
1154 * bfd/elf32-hppa.c (elf32_hppa_bfd_final_link_relocated): Use the
1155 vma from the output_section containing $global$ when computing
1156 global_vlaue.
1157
cf9557f5
ILT
1158Thu Nov 17 14:29:13 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1159
1160 * archive.c (_bfd_write_archive_contents): Round up the archive
1161 header size of the extended name table to an even number.
1162
f6f350fe
KR
1163Wed Nov 16 16:08:06 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1164
1165 * coff-sh.c: Deleted some code that was commented out or inside
1166 "#if 0".
1167 (COFF_LONG_FILENAMES): Define.
1168
1169 * cpu-sh.c (arch_info_struct): Convert name to lowercase, for
1170 consistency with other architectures.
1171
e6fb0df7
ILT
1172Sat Nov 12 23:50:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1173
1174 * elfcode.h (elf_export_symbol): Also export symbols which are
1175 referenced by a regular file.
1176
11bb5591
ILT
1177Fri Nov 11 14:29:31 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1178
1179 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add
1180 export_dynamic argument, and handle it.
1181 (elf_export_symbol): New function.
1182 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
1183 (bfd_elf64_size_dynamic_sections): Update declaration.
1184 * bfd-in2.h: Rebuild.
1185
63ba709f
JL
1186Fri Nov 11 10:35:33 1994 Jeff Law (law@snake.cs.utah.edu)
1187
1188 * hpux-core.c (hpux_core_struct): Delete handles for the
1189 data, reg and stack sections. They're never used. Delete
1190 accessor macros.
1191 (make_bfd_asection): Use bfd_make_section_anyway since debugging
1192 cores from dynamic executables may have several sections with the
1193 same logical name.
1194 (hpux_core_core_file_p): Don't save handles to data, reg and
1195 stack sections. Handle CORE_TEXT, CORE_MMF and CORE_SHM.
1196
0631def3
ILT
1197Tue Nov 8 13:03:30 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1198
1199 * bout.c (callj_callback): Add new argument shrinking. Change all
1200 callers. Handle relocs against section symbols correctly. If not
1201 shrinking, don't subtract out dstidx; the subtraction is already
1202 in the object file.
1203
1204Sun Nov 6 12:52:00 1994 Jeff Law (law@snake.cs.utah.edu)
1205
1206 * som.h: Conditionally include <shl.h> and <dl.h>.
1207
2c5cdec2
KR
1208Thu Nov 3 18:19:13 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1209
1ef625b7
KR
1210 * Makefile.in (ALL_MACHINES): Include m68knetbsd.o.
1211
2c5cdec2
KR
1212 * config/i386linux.mh (EXTRALIBS): Include -lm.
1213
72f2e984
KR
1214 Patches from DJ Delorie:
1215 * coff-go32.c: Replacement file, uses coff-i386.c with minor
1216 changes.
1217 * coff-i386.c (TARGET_UNDERSCORE): allow other files to override
1218 underscore also
1219 * makefile.dos: del ctor.o, add cofflink.o and elf32.o
1220
9e6473f5
KR
1221 * aoutx.h (adjust_o_magic): If user set data section vma, use it
1222 to determine the default bss vma. Patch from Takada Hiroaki,
1223 hiro@is.s.u-tokyo.ac.jp.
1224 (machine_type, case bfd_arch_vax): Set *unknown to false. Patch
1225 from John David Anglin <dave@hiauly1.hia.nrc.ca>.
1226
30d1f88c
KR
1227 * configure.in (tb): Rename ns32knetbsd_vec to pc532netbsd_vec,
1228 since that's what it's called.
1229
9cb8eb5c
ILT
1230Wed Nov 2 15:24:51 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1231
1232 * archive.c (normalize): Change to take a BFD as an argument.
1233 Change VMS version to use bfd_alloc rather than malloc, so that we
1234 don't lose the memory forever.
1235 (_bfd_construct_extended_name_table): Check the name of an archive
1236 entry which is not being extended, and correct it if it is wrong.
1237 This is necessary in case the archive was constructed by another
1238 program which put an entry in the extended name table which we
1239 don't plan to put in ourselves. From jjc@jclark.com (James
1240 Clark).
1241 (bfd_dont_truncate_arname): Check return value of normalize.
1242
2d2d08ed
ILT
1243Mon Oct 31 14:19:08 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1244
b531cfe9
ILT
1245 * elf32-hppa.c (ELF32_PARISC_SX_SIZE): Define.
1246 (ELF32_PARISC_SX_GET, ELF32_PARISC_SX_PUT): Define.
1247 (symextn_entry): Don't define.
1248 (symext_chain_size): Change type to bfd_size_type.
1249 (symextn_contents): Change type to bfd_byte *.
1250 (elf32_hppa_backend_begin_write_processing): Use
1251 ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS).
1252 (elf32_hppa_size_symext): Likewise. Also, change type of sizep to
1253 bfd_size_type *.
1254 (elf_hppa_tc_make_sections): Cast symextn_contents assignment to
1255 bfd_byte *. Use ELF32_PARISC_SX_PUT instead of direct assignment.
1256 (elf32_hppa_backend_symbol_table_processing): Use
1257 ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS). Use
1258 ELF32_PARISC_SX_GET insetad of direct assignment.
1259 (elf32_hppa_read_symext_info): Change type of contents, and its
1260 assignment cast, to bfd_byte *. Use ELF32_PARISC_SX_SIZE instead
1261 of sizeof (symextn_entry). Use symext_entryS instead of
1262 symextn_entry. Use ELF32_PARISC_SX_GET instead of direct
1263 assignment.
1264
da6c4a8b
ILT
1265 * archive.c (bfd_dont_truncate_arname): Add the ar padding
1266 character, if there is room for it, even if the name is the
1267 maximum length.
1268
2d2d08ed
ILT
1269 * elfcode.h (assign_file_positions_except_relocs): Sort the ELF
1270 headers by section address when assigning file positions.
1271 (elf_sort_hdrs): New static function.
1272
197e30e5
ILT
1273Sun Oct 30 18:56:58 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1274
1275 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Create DT_INIT
1276 and DT_FINI dynamic entries based on the existence of _init and
1277 _fini symbols, not on the .init and .fini sections. This is
1278 compatible with some SVR4 linkers.
1279 (elf_bfd_final_link): Corresponding change.
1280
54f16fc4
ILT
1281Sat Oct 29 12:18:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1282
dd421917
ILT
1283 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't move a
1284 symbol with a PLT entry into the .plt section if it is defined in
1285 a regular file.
1286 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
1287
54f16fc4
ILT
1288 * linker.c (_bfd_generic_link_add_archive_symbols): It's not an
1289 error if an empty archive has no symbol table.
1290 * ecoff.c (ecoff_link_add_archive_symbols): Likewise.
1291 * elfcode.h (elf_link_add_archive_symbols): Likewise.
1292
ec35a1c2
C
1293Fri Oct 28 10:08:41 1994 J.T. Conklin (jtc@rtl.cygnus.com)
1294
1295 NetBSD/m68k support, based on work by mikeb@snow.datametrics.com:
1296 * config.bfd (m68*-*-netbsd*): Use m68k-nbsd as bfd_name.
1297 * configure.in (m68knetbsd_vec): Added.
1298 * targets.c (bfd_m68knetbsd_vec): Added.
1299 * hosts/m68knbsd.h, config/m68k-nbsd.mt, m68knetbsd.c: New files.
1300 * Makefile.in (BFD32_BACKENDS, CFILES): Add m68knetbsd.c.
1301
1302 miscellaneous cleanup required by all netbsd targets, based on work
1303 by Andrew Cagney <cagney@highland.com.au>:
1304 * netbsd.h (N_MAGIC, N_SET_MAGIC, N_GETMAGIC, N_GETMAGIC2, N_TXTADDR,
1305 N_TXTOFF, N_ALIGN, N_DATADDR, N_DATOFF): Removed. Generic a.out
1306 definitions work.
1307 * i386nbsd.c, ns32knbsd.c, sparcnbsd.c (__LDPGSZ): Removed.
1308 (MY(write_object_contents)): Use NetBSD's magic numbers
1309
14cac507
ILT
1310Thu Oct 27 16:59:52 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1311
1312 * libelf.h (struct bfd_elf_section_data): Add field dynindx.
1313 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Don't finalize
1314 the .dynsym, .dynstr or .hash sections until after the backend
1315 size_dynamic_sections routine, so that it can add dynamic symbols
1316 if it wants to.
1317 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't define the
1318 symbol to be in the .plt section when generating a shared library
1319 if it is a defined symbol.
1320 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
1321 (elf32_sparc_size_dynamic_sections): When generating a shared
1322 library, allocate space for a dynamic symbol for each output
1323 section, storing the index in the dynindx field of the ELF section
1324 data. Adjust the other dynindx fields to account for this.
1325 (elf32_sparc_adjust_dynindx): New static function.
1326 (elf32_sparc_relocate_section): When copying a reloc into a shared
1327 library, use the original addend as appropriate. Convert an
1328 R_SPARC_32 reloc into an R_SPARC_RELATIVE reloc. Use the dynamic
1329 symbol index of the output section, not the normal symbol index.
1330 (elf32_sparc_finish_dynamic_sections): Don't die if a section does
1331 not exist when setting the value of the dynamic tags. Write out
1332 a dynamic symbol for each output section.
1333
875e4716
ILT
1334Wed Oct 26 01:15:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1335
1336 * aoutx.h (aout_link_input_section): Don't bother to read or write
1337 the relocs if there aren't any.
1338
9c26be63
ILT
1339Tue Oct 25 11:44:38 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1340
875e4716
ILT
1341 * Makefile.in (ALL_MACHINES): Add tekhex.o.
1342 * targets.c (bfd_target_vector): If SELECT_VECS is not defined,
1343 include tekhex_vec.
1344 * tekhex.c (NIBBLE, ISHEX): Cast array arguments to unsigned char.
1345 (getvalue, getsym, out): Likewise.
1346 (find_chunk): Remove unused variable s.
1347 (first_phase): Remove unused variable s.
1348 (pass_over): Remove unused variable address.
1349 (tekhex_object_p): Remove unused variable section.
1350 (move_section_contents): Change return type from boolean to void.
1351 (tekhex_write_object_contents): Remove unused variables tdata and
1352 list.
1353
9c26be63
ILT
1354 * linker.c (enum link_action): Add CIND.
1355 (link_action): Change COMMON_ROW\indr from MDEF to CREF. Change
1356 INDR_ROW\common from MDEF to CIND.
1357 (_bfd_generic_link_add_one_symbol): In CREF case, handle an
1358 existing symbol which is indirect rather than defined. Add new
1359 CIND case.
1360
a56f23ae
ILT
1361Mon Oct 24 15:33:16 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1362
fd9a6abc
ILT
1363 Change S-record backend to use multiple sections to handle gaps in
1364 file.
1365 * srec.c (srec_data_list_struct): Move field next from last place
1366 to first. Change type of data to bfd_byte *.
1367 (struct srec_symbol): Define.
1368 (tdata_type): Remove done_symbol_read, count, strings, symbol_idx,
1369 string_size, string_idx. Change type of symbols to struct
1370 srec_symbol *. Add symtail and csymbols.
1371 (low, high): Remove.
1372 (size_symbols, fillup_symbols, size_srec, fillup): Remove.
1373 (white, skipwhite, pass_over, object_p): Remove.
1374 (srec_mkobject): Call srec_init. Adjust tdata initialization for
1375 field changes.
1376 (srec_get_byte, srec_bad_byte): New static functions.
1377 (srec_new_symbol, srec_scan): New static functions.
1378 (srec_object_p): Change type of b to bfd_byte. Explicitly set
1379 wrong_format error. Call srec_mkobject and srec_scan instead of
1380 object_p.
1381 (symbolsrec_object_p): Likewise. Also, change b to be only two
1382 bytes.
1383 (srec_read_section): New static function.
1384 (srec_get_section_contents): Call srec_read_section rather than
1385 pass_over. Handle zero length section correctly.
1386 (set_set_arch_mach): Change from function to macro.
1387 (srec_set_section_contents): Change data to bfd_byte *.
1388 (srec_write_record): Change data, end and src to bfd_byte *.
1389 (srec_write_header): Change buffer and dst to bfd_byte *.
1390 (srec_write_section): Change location to bfd_byte *.
1391 (srec_write_terminator): Change buffer to bfd_byte *.
1392 (srec_get_symtab_upper_bound): Don't call
1393 srec_get_section_contents.
1394 (srec_get_symtab): Rewrite.
1395
a56f23ae
ILT
1396 * ecoff.c (ecoff_set_symbol_info): Set udata.i to 0, not NULL.
1397
32399d32
C
1398Fri Oct 21 16:43:13 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
1399
1400 * libaout.h (machine_type): added M_68K_NETBSD and M_SPARC_NETBSD.
1401 * i386netbsd.c, ns32knetbsd.c, sparcnetbsd.c: removed RCS Id's.
1402 changed how PAGE_SIZE and SEGMENT_SIZE are defined so they are
1403 consistant with each other.
1404 * netbsd.h (N_HEADER_IN_TEXT, TEXT_START_ADDR): NetBSD fits its
1405 header into the start of its text segment.
1406
12662be4
ILT
1407Fri Oct 21 17:13:07 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1408
cd9782e8
ILT
1409 * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add case for
1410 _construct_extended_name_table.
1411 (bfd_target): Add _bfd_construct_extended_name_table.
1412 * archive.c (_bfd_archive_bsd_construct_extended_name_table): New
1413 function.
1414 (_bfd_archive_coff_construct_extended_name_table): New function.
1415 (_bfd_construct_extended_name_table): Renamed by adding a leading
1416 underscore, and made externally visible. Added trailing_slash
1417 argument, and used it instead of elf_style. Changed type of
1418 tablen to bfd_size_type *.
1419 (_bfd_write_archive_contents): Use BFD_SEND to call
1420 construct_extended_name_table. Use the returned name.
1421 * libbfd-in.h (_bfd_construct_extended_name_table): Declare.
1422 (_bfd_noarchive_construct_extended_name_table): Define.
1423 (_bfd_archive_bsd_construct_extended_name_table): Declare.
1424 (_bfd_archive_coff_construct_extended_name_table): Declare.
1425 * bfd-in2.h: Rebuild.
1426 * libbfd.h: Rebuild.
1427 * som.c (som_construct_extended_name_table): New static function.
1428 * aout-target.h (MY_construct_extended_name_table): Define.
1429 * coff-rs6000.c (rs6000coff_construct_extended_name_table):
1430 Define.
1431 * ieee.c (ieee_construct_extended_name_table): Define.
1432 * libecoff.h (_bfd_ecoff_construct_extended_name_table): Define.
1433 * oasys.c (oasys_construct_extended_name_table): Define.
1434
12662be4
ILT
1435 Fix the ELF linker to not require an interpreter if no dynamic
1436 objects were seen, even when linking PIC code.
1437 * libelf.h (ELF_LINK_HASH_NEEDS_PLT): Define.
1438 (struct elf_link_hash_table): Add field dynamic_sections_created.
1439 * elfcode.h (elf_link_record_dynamic_symbol): Create dynstr if it
1440 doesn't already exist.
1441 (elf_link_add_object_symbols): Create dynamic sections based on
1442 dynamic_sections_created field, not dynobj field. Don't bother to
1443 set dynobj.
1444 (elf_link_create_dynamic_sections): If dynamic sections were
1445 already created, don't do anything. If dynobj is already set, use
1446 it; otherwise, set it to the bfd argument. Don't initialize
1447 dynsymcount. Only create dynstr if it does not exist. Set
1448 dynamic_sections_created to true.
1449 (NAME(bfd_elf,size_dynamic_sections)): Skip most of this function
1450 if no dynamic objects were seen.
1451 (elf_adjust_dynamic_symbol): If a symbol has the
1452 ELF_LINK_HASH_NEEDS_PLT flag set, let the backend adjust it.
1453 (elf_bfd_final_link): Change most decisions based on dynobj to
1454 check dynamic_sections_created instead.
1455 (elf_link_output_extsym): Only handle dynamic symbols if a dynamic
1456 object was seen.
1457 * elf.c (_bfd_elf_link_hash_table_init): Initialize new field
1458 dynamic_sections_created. Set dynsymcount to 1, not 0.
1459 * elf32-i386.c (elf_i386_create_dynamic_sections): Call
1460 elf_i386_create_got_section rather than creating the .got and
1461 .got.plt sections.
1462 (elf_i386_create_got_section): New static function.
1463 (elf_i386_check_relocs): Just call elf_i386_create_got_section if
1464 a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
1465 Only create the .rel.got section, and only make space for a reloc,
1466 for a global symbol or when generating a shared object. For a
1467 R_386_PLT32 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag.
1468 (elf_i386_adjust_dynamic_symbol): Rework initial assertion to
1469 permit ELF_LINK_HASH_NEEDS_PLT non dynamic symbols. Create a
1470 procedure linkage table entry for such symbols. But, if no
1471 dynamic objects were seen, never create a PLT entry.
1472 (elf_i386_size_dynamic_sections): If no dynamic objects were seen,
1473 skip most of this function, and force the size of the .rel.got
1474 section to zero.
1475 (elf_i386_relocate_section): For a R_386_GOT32 reloc against a global
1476 symbol when no dynamic object was seen, initialize the contents of
1477 the .got section. For a R_386_GOT32 against a local symbol, only
1478 create a R_386_RELATIVE reloc when generating a shared object.
1479 Treat a R_386_PLT32 reloc against a symbol for which we did not
1480 create a PLT entry as a R_386_PC32 reloc.
1481 (elf_i386_finish_dynamic_sections): Only fiddle with the dynamic
1482 entries and the PLT if we saw a dynamic object.
1483 * elf32-sparc.c (elf_sparc_howto_table): Fix R_SPARC_PC22 by
1484 setting rightshift to 10. Fix R_SPARC_WPLT20 by setting
1485 rightshift to 2, size to 2, bitsize to 30, and dst_mask to
1486 0x3fffffff.
1487 (elf32_sparc_create_dynamic_sections): Don't set the size of the
1488 .plt section. Call elf32_sparc_create_got_section rather than
1489 creating the .got section.
1490 (elf32_sparc_check_relocs): Call elf32_sparc_create_got_section if
1491 a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
1492 Only create the .rela.got section, and only make space for a
1493 reloc, for a global symbol or when generating a shared object.
1494 Set the alignment of the .rela.got section to 2. For a
1495 R_SPARC_WPLT30 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag.
1496 (elf32_sparc_adjust_dynamic_symbol): Rework initial assertion to
1497 permit ELF_LINK_HASH_NEDS_PLT non dynamic symbols. Create a
1498 procedure linkage table for such symbols. But, if no dynamic
1499 objects were seen, never create a PLT entry. Initialize the size
1500 of the .plt section.
1501 (elf32_sparc_size_dynamic_sections): If no dynamic objects were
1502 seen, skip most of this function, and force the size of the
1503 .rela.got section to zero. Strip empty reloc sections, and strip
1504 an empty .plt section.
1505 (elf32_sparc_relocate_section): For a GOT reloc against a global
1506 symbol when no dynamic object was seen, initialize the contents of
1507 the .got section. For a GOT reloc against a local symbol, only
1508 create a R_SPARC_RELATIVE reloc when generating a shared object.
1509 Treat a R_SPARC_WPLT30 reloc against a symbol for which we did not
1510 create a PLT entry as a R_SPARC_WDISP30 reloc.
1511 (elf32_sparc_finish_dynamic_sections): Only fiddle with the
1512 dynamic entries and the PLT if we saw a dynamic object.
1513
e4a4da62
ILT
1514Thu Oct 20 13:28:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1515
1516 * elfcode.h (elf_map_symbols): Don't worry about section symbols
1517 in a section not owned by any BFD.
1518 (elf_section_from_bfd_section): Separate out loop which calls
1519 backend routine. Check bfd_section and call the backend routine
1520 even for a section not owned by any BFD.
1521 * elf32-mips.c (mips_elf_section_from_bfd_section): Handle
1522 .acommon section.
1523
dab08441
JK
1524Wed Oct 19 13:28:29 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
1525
1526 * coffgen.c (coff_print_symbol): Make names for section number and
1527 storage class slightly more verbose. It's not clear how many
1528 characters I can justify using up, but before this change they
1529 both were abbreviated "sc" which is (IMHO) clearly unacceptable.
1530
74942465
ILT
1531Wed Oct 19 01:26:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1532
8b65c393
ILT
1533 * binary.c (binary_set_section_contents): Set the base file
1534 position from the lowest section VMA, not the start address.
1535
74942465
ILT
1536 * aoutx.h (NAME(aout,slurp_symbol_table)): Don't return an error
1537 if there are no symbols.
1538 * coffgen.c (coff_get_normalized_symtab): Likewise.
1539 * hp300hpux.c (MY(slurp_symbol_table)): Likewise.
1540
d4d16683
ILT
1541Tue Oct 18 12:56:43 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1542
c768bd3f
ILT
1543 * aout-target.h (MY_bfd_copy_private_section_data): Only copy
1544 subformat to another bfd_target_aout_flavour file.
1545
1546 * binary.c: New file for raw binary output format.
1547 * Makefile.in (BFD_LIBS): Add binary.o.
1548 (CFILES): Add binary.c.
1549 * targets.c (binary_vec): Declare.
1550 (bfd_target_vector): Include binary_vec.
1551
d4d16683
ILT
1552 * srec.c (tdata_type): Add field tail.
1553 (srec_mkobject): Initialize tail.
1554 (srec_set_section_contents): Sort S record list by address.
1555
5e643795
ILT
1556Mon Oct 17 11:38:16 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1557
b7881f82
ILT
1558 * elfcode.h (elf_map_symbols): Sort the symbols into a new array,
1559 rather than messing with Elf_Sym_Extra. Store the symbol index in
1560 the udata.i field.
1561 (swap_out_syms): Use outbound_syms as a pointer rather than as an
1562 array. Don't worry about elf_sym_num.
1563 * libelf.h (struct elf_sym_extra): Don't define.
1564 (Elf_Sym_Extra): Don't define.
1565 (struct elf_obj_tdata): Remove sym_extra field.
1566 (elf_sym_extra): Don't define.
1567 * elf32-hppa.c (elf32_hppa_backend_final_write_processing): Use
1568 udata.i rather than elf_sym_extra array.
1569
1570 * syms.c (asymbol): Change udata field into a union.
1571 * bfd-in2.h: Rebuild.
1572 * aoutx.h (NAME(aout,translate_symbol_table)): Use udata.p rather
1573 than just udata.
1574 * bout.c (perform_slip): Likewise.
1575 * hp300hpux.c (MY(slurp_symbol_table)): Likewise.
1576 * ieee.c (ieee_slurp_external_symbols): Likewise.
1577 * linker.c (generic_link_add_symbol_list): Likewise.
1578 (default_indirect_link_order): Likewise.
1579 * oasys.c (oasys_slurp_symbol_table): Likewise.
1580 * reloc16.c (bfd_perform_slip): Likewise.
1581 * srec.c (fillup_symbols): Likewise.
1582 * coffcode.h (get_index): Use udata.i rather than just udata.
1583 (coff_slurp_symbol_table): Likewise.
1584 * coffgen.c (set_index): Likewise.
1585 * ecoff.c (ecoff_set_symbol_info): Likewise.
1586 * elfcode.h (elf_symbol_from_bfd_symbol): Likewise.
1587 * libecoff.h (ecoff_get_sym_index, ecoff_set_sym_index): Likewise.
1588 * som.c (compare_syms): Likewise.
1589 (som_prep_for_fixups): Likewise.
1590 (som_write_fixups): Likewise.
1591
eb4267a3
ILT
1592 Use a hash table when writing out ELF symbol names.
1593 * elfcode.h (elf_stringtab_init): New static function.
1594 (bfd_new_strtab, bfd_add_to_strtab, bfd_add_2_to_strtab): Remove.
1595 Change all callers to use elf_stringtab_init or
1596 _bfd_stringtab_add, and get stringtab lengths using
1597 _bfd_stringtab_size.
1598 (elf_fake_sections): Change ignored argument to pointer to
1599 boolean, and set the boolean to true if an error occurs. If an
1600 error has already occurred, don't do anything.
1601 (assign_section_numbers): Just set sh_size, not contents.
1602 (elf_compute_section_file_positions): Pass the address of a
1603 boolean to elf_fake_sections. Pass the address of a
1604 bfd_strtab_hash to swap_out_syms. Write out the .strtab section.
1605 (prep_headers): Change shstrtab to bfd_strtab_hash.
1606 (swap_out_syms): Take a pointer to a bfd_strtab_hash as an
1607 argument. Set it to the symbol names.
1608 (NAME(bfd_elf,write_object_contents)): Write out the section
1609 header names using _bfd_stringtab_emit.
1610 (elf_debug_section): Remove first argument; get the section name
1611 via the bfd_section pointer. Change caller.
1612 (elf_bfd_final_link): Write out the symbol names using
1613 _bfd_stringtab_emit. Likewise for the .dynstr section contents.
1614 Free the symbol names at the end of the function.
1615 (elf_link_input_bfd): Remove the last argument, output_names,
1616 from relocate_section. Save the old symbol contents before
1617 calling elf_link_output_sym, and restore them afterward.
1618 * libelf.h (struct elf_link_hash_table): Change dynstr field to
1619 struct bfd_strtab_hash.
1620 (struct elf_backend_data): Remove last argument, output_names,
1621 from elf_backend_relocate_section field.
1622 (struct strtab): Don't define.
1623 (struct elf_obj_tdata): Change strtab_ptr field to struct
1624 bfd_strtab_hash.
1625 * elf32-hppa.c (elf32_hppa_relocate_section): Remove last
1626 argument, output_names.
1627 * elf32-i386.c (elf_i386_relocate_section): Likewise.
1628 * elf32-mips.c (mips_elf_relocate_section): Likewise.
1629 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1630
cb066aa9
ILT
1631 * libbfd-in.h (DEFAULT_STRING_SPACE_SIZE): Don't define.
1632 (bfd_add_to_string_table): Don't declare.
1633 * libbfd.h: Rebuild.
1634 * libbfd.c (bfd_add_to_string_table): Remove.
1635
a3377a65 1636 * elfcode.h (elf_swap_shdr_in): Use bfd_section, not rawdata.
24f13b03
ILT
1637 Clear contents field.
1638 (bfd_section_from_shdr): In SHT_STRTAB case, check bfd_section,
1639 not rawdata. Don't set rawdata if e_shstrndx. Use bfd_section
1640 rather than rawdata in commented out code. In SHT_REL[A] case,
1641 don't bother to check elf_section_data of section returned by
1642 section_from_elf_index.
1643 (elf_fake_sections): Set bfd_section, not rawdata. Don't set
1644 size.
1645 (elf_map_symbols): Don't set elf_num_section_syms. Don't create
1646 section symbols that already exist.
1647 (assign_file_position_for_section): Use bfd_section, not rawdata.
1648 (section_from_elf_index): Just check bfd_section field.
1649 (elf_section_from_bfd_section): Likewise.
1650 (elf_debug_section): Don't print rawdata, contents, or size.
1651 (elf_link_add_object_symbols): Don't error out if
1652 section_from_elf_index returns NULL.
1653 (elf_bfd_final_link): Check return value from
1654 section_from_elf_index against NULL, not bfd_is_abs_section.
1655 (elf_link_input_bfd): Don't check section_from_elf_index return
1656 value.
1657 * libelf.h (struct elf_obj_tdata): Remove num_section_syms field.
1658 (elf_num_section_syms): Don't define.
1659 * elf.c (elf_get_str_section): Store section contents in contents
1660 field rather than rawdata field.
1661 (elf_string_from_elf_section): Likewise.
1662 (_bfd_elf_make_section_from_shdr): Store BFD section pointer in
1663 bfd_section field rather than rawdata field.
1664 * elf32-hppa.c (elf32_hppa_read_symext_info): Use bfd_section
1665 rather than rawdata.
1666 (elf32_hppa_size_stubs): Likewise.
b7881f82
ILT
1667 (elf32_hppa_backend_symbol_table_processing): Don't set
1668 symextn_hdr->size; just use sh_size.
24f13b03
ILT
1669 * elf32-mips.c (mips_elf_final_write_processing): Use bfd_section
1670 rathern than rawdata.
1671 (mips_elf_section_from_shdr): Likewise.
1672 (mips_elf_section_processing): Likewise.
1673 (mips_elf_section_from_bfd_section): Remove rawdata check.
1674
5e643795
ILT
1675 * srec.c (pass_over): Set the start address for S7, S8 or S9.
1676
f10abb42
KR
1677Fri Oct 14 19:15:46 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1678
1679 * VERSION: Updated to 2.5.
1680
61c94e5e
ILT
1681Fri Oct 14 11:07:50 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1682
1683 * bfd.c (bfd_scan_vma): Cast end to be non const before passing it
1684 to strtoul.
1685
82735983
ILT
1686Thu Oct 13 14:40:41 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1687
1688 * bfd.c (bfd_scan_vma): Pass end argument on to strtoul.
1689
ef4b8f66
KR
1690Wed Oct 12 16:46:43 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1691
1692 * opncls.c (bfd_realloc): Deleted, since it's broken and fixing it
1693 would make it slow. Besides, it isn't used much.
1694 * elfcode.h (elf_map_symbols): Always allocate new storage for the
1695 symbol table.
1696
bf42caf3
ILT
1697Wed Oct 12 11:54:37 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1698
82735983
ILT
1699 * ecoff.c (ecoff_set_symbol_info): Mark local stProc, stLabel or
1700 stabs symbols as BSF_DEBUGGING.
7b18561f 1701
17d9e203
ILT
1702 * rs6000-core.c (rs6000coff_core_file_matches_executable_p): Make
1703 str1 and str2 const pointers.
1704
bf42caf3
ILT
1705 * Makefile.in (INSTALL): Use top level install.sh script.
1706 * config/README (INSTALL): Remove.
1707 * config/delta88.mh (INSTALL): Remove.
1708 * config/i386v4.mh (INSTALL): Remove.
1709 * config/irix4.mh (INSTALL): Remove.
1710 * config/irix5.mh (INSTALL): Remove.
1711 * config/ncrt3000.mh (INSTALL): Remove.
1712
b2bcf39c
ILT
1713Tue Oct 11 13:57:56 1994 Eric Youngdale (eric@andante.aib.com)
1714
1715 * elf32-i386.c (elf_i386_check_relocs): Make sure that a symbol
1716 with a global offset table entry or a procedure linkage table
1717 entry is added to the dynamic symbol table.
1718 * elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
1719 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): If a symbol has
1720 already gotten a procedure linkage table entry, change the
1721 definition to the PLT entry.
1722 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
1723
9a406d86
ILT
1724Tue Oct 11 17:12:00 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1725
1726 * lynx-core.c (lynx_core_file_p): SPARC Lynx appears to start
1727 dumping the .data section in a core file at a page boundary.
1728
4fbc96ad
KR
1729Mon Oct 10 16:24:44 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1730
4c032270
KR
1731 * cofflink.c (_bfd_coff_final_link): Cast argument to bfd_h_put_32
1732 to correct type.
1733 (coff_read_string_table): Cast argument to bfd_h_get_32 to correct
1734 type.
1735 * elfcode.h (elf_link_output_extsym): Cast argument to
1736 bfd_elf_hash to correct type.
1737
4fbc96ad
KR
1738 * elf32-sparc.c (elf_sparc_howto_table): The PC10, PC22, and
1739 WPLT30 relocations are PC-relative.
1740
1741Thu Oct 6 12:57:26 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
1742
1743 * aoutx.h (adjust_o_magic): Correctly initialize vma if the vma of
1744 the text section was user-defined.
1745
66e4e649
ILT
1746Wed Oct 5 14:42:12 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1747
1748 * archive.c (bfd_construct_extended_name_table): SVR4 uses slash
1749 newline at the end of the file name, not just newline.
1750
dfaf9ef6
ILT
1751Tue Oct 4 11:23:12 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1752
ea4849d5
ILT
1753 * ecoff.c (_bfd_ecoff_new_section_hook): Default section alignment
1754 power to 4, rather than using align_power_min.
1755
28d19d03
ILT
1756 * coffcode.h (coff_new_section_hook): Don't use align_power_min;
1757 use COFF_DEFAULT_SECTION_ALIGNMENT_POWER instead. Force the .stab
1758 and .stabstr sections to be aligned to no more than 2. Remove
1759 COFF_SPARC special cases.
1760 * coff-a29k.c: Define COFF_DEFAULT_SECTION_ALIGNMENT_POWER.
1761 * coff-apollo.c, coff-go32.c, coff-h8300.c: Likewise.
1762 * coff-h8500.c, coff-i386.c, coff-i960.c, coff-m68k.c: Likewise.
1763 * coff-m88k.c, coff-rs6000.c, coff-sh.c, coff-sparc.c: Likewise.
1764 * coff-we32k.c, coff-z8k.c: Likewise.
1765
995b0d3f
ILT
1766 * configure.in: Use ${config_shell} when running config.bfd.
1767
a297d42c
ILT
1768 * cofflink.c (coff_link_input_bfd): Don't try to convert a long
1769 filename if the offset field is zero.
1770
dfaf9ef6
ILT
1771 * elfcode.h (swap_out_syms): If the alignment of a common symbol
1772 was not set, use a sensible default rather than zero.
1773
995b0d3f 1774Mon Oct 3 16:04:29 1994 H.J. Lu (hjl@nynexst.com)
dfaf9ef6
ILT
1775
1776 * opncls.c (bfd_close): Honor umask when setting execution bits.
1777 (bfd_close_all_done): Likewise.
1778
7a6c910e
PS
1779Mon Oct 3 04:41:49 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
1780
1781 * rs6000-core.c (rs6000coff_core_p): Set SEC_HAS_CONTENTS flag
1782 for .stack and .ldinfo sections. Cast coredata.c_tab to a
1783 file_ptr to avoid warnings from gcc.
1784
fb562be0
ILT
1785Fri Sep 30 13:11:38 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1786
1787 * elfcode.h (elf_bfd_final_link): Remove assertion when a non
1788 SEC_IN_MEMORY section is found in dynobj. This can happen when
1789 linking PIC compiled code.
1790
9afa408e
KR
1791Thu Sep 29 15:21:44 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1792
12cf5d98 1793 * reloc.c (bfd_install_relocation): Change type of "data" to
85f34090
KR
1794 bfd_byte *, to go along with yesterday's change.
1795
64e21e0f
KR
1796 * elf.c (bfd_elf_print_symbol): Moved here from elf_print_symbol
1797 in elfcode.h. (case bfd_print_symbol_all): Print symbol's size
1798 field, except for common symbols; print their alignment.
1799 * elfcode.h (elf_print_symbol): Deleted.
1800 * libelf.h (bfd_elf_print_symbol): Declare.
1801 (bfd_elf{32,64}_print_symbol): Replace declarations with macros.
1802
9afa408e
KR
1803 * syms.c (bfd_print_symbol_vandf): Show BSF_LOCAL and BSF_GLOBAL
1804 in one column. Use the column freed up to show BSF_FUNCTION and
1805 BSF_FILE.
1806
ec591fcf
ILT
1807Thu Sep 29 12:29:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1808
1809 * syms.c (stt): Add .rdata and .rodata.
1810
094e8be3
ILT
1811Wed Sep 28 13:35:05 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1812
1813 * reloc.c (bfd_install_relocation): Cast data_start to bfd_byte *
1814 before trying to add values to it.
1815
1816Tue Sep 27 16:47:58 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1817
1818 * elf32-hppa.c (elf32_hppa_backend_final_write_processing): Cast
1819 return value from elf_sym_extra.
1820 (elf32_hppa_build_stubs): Cast return value from bfd_zalloc.
12cf5d98 1821 (elf32_hppa_size_stubs): Cast return value from malloc.
094e8be3
ILT
1822
1823 * gen-aout.c (main): Declare and initialize "arch".
1824
1825 * cofflink.c (coff_link_add_symbols): Cast return value of
1826 bfd_hash_allocate.
1827
1828 * riscix.c (riscix_callback): Use PARAMS macro in prototype.
1829
1830 * reloc.c (bfd_install_relocation): New function, mostly copied
1831 from bfd_perform_relocation, adjusted for the assembler's needs.
1832 * bfd-in2.h: Regenerated.
1833
d80ebaac
ILT
1834Mon Sep 26 11:00:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1835
5ea90891
ILT
1836 * elfcode.h (assign_file_positions_except_relocs): Align the
1837 section VMA and the file position even if D_PAGED is not set.
1838
d80ebaac
ILT
1839 * bfd-in.h (bfd_seek): Change declaration to not mark fp const.
1840 * bfd-in2.h: Rebuild.
1841 * libbfd.c (bfd_seek): Don't mark parameters const, to avoid
1842 conflicts with declaration.
1843
57b40081
ILT
1844Fri Sep 23 15:15:31 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1845
1846 * elfcode.h (map_program_segments): Don't abort if we allocated
1847 too much space for the program header, only if we allocated too
1848 little.
d80ebaac 1849 (assign_file_positions_except_relocs): Similar change.
57b40081 1850
237402b4
C
1851Tue Sep 20 13:17:07 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
1852
1853 * libaout.h: Fix comment.
1854 * ns32knbsd.h: Changed M_NS32K_NETBSD to M_532_NETBSD to match
1855 libaout.h.
1856
f90a2cdc
ILT
1857Tue Sep 20 15:23:21 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1858
57b40081
ILT
1859 * Makefile.in: Rebuilt dependencies.
1860 (BFD32_BACKENDS): Add sparcnetbsd.o.
1861 (CFILES): Add ns32knetbsd.c and sparcnetbsd.c.
1862 * targets.c: ns32knetbsd_vec was renamed to pc532netbsd_vec.
1863
f90a2cdc
ILT
1864 * coff-sh.c (rtype2howto): Remove; unused.
1865 (coff_sh_relocate_section): Remove unused local variable rstat.
1866 (reloc_processing): Comment out; unused.
1867
fb9a2192
ILT
1868Fri Sep 16 12:12:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1869
1870 * aoutx.h (aout_link_write_other_symbol): If h->indx is -2, then
1871 always write it out even if it would normally be stripped.
1872 (aout_link_input_section_std): If we find a reloc against a
1873 stripped global symbol, force it to be written out rather than
1874 merely calling unattached_reloc.
1875 (aout_link_input_section_ext): Likewise.
1876 (aout_link_reloc_link_order): Likewise.
1877
8a2cdc62
JL
1878Wed Sep 14 15:37:19 1994 Jeff Law (law@snake.cs.utah.edu)
1879
a8d08664
JL
1880 * som.h (struct somdata): New field sorted_syms.
1881 (obj_som_sorted_syms): Accessor macro.
1882 * som.c (som_object_setup): Initialize sorted_syms to NULL.
1883 (som_prep_for_fixups): Sort a copy of the BFD's symbol table;
1884 store the sorted symbol table in sorted_syms.
1885 (som_write_fixups): Initalize tmp_reloc to NULL to make GCC happy.
1886 (som_begin_writing): Similarly for exec_header. Pass the sorted
1887 symbol table to som_write_symbol_strings.
1888 (som_build_and_write_symbol_table): Use the sorted symbols rather
1889 than the canonical symbol table.
1890
8a2cdc62
JL
1891 * som.h (som_symbol_type): Add "stringtab_offset" field.
1892 * som.c (som_write_symbol_strings): Use "stringtab_offset"
1893 rather than destroying the "name" field in the BFD symbol.
1894 (som_build_and_write_symbol_table): Likewise.
1895
8c62064a
ILT
1896Wed Sep 14 15:06:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1897
ab0434c2
ILT
1898 * aoutx.h (aout_link_write_symbols): Rename skip_indirect to
1899 skip_next. If we find an N_WARNING symbol which has already been
1900 written out, set skip_next.
1901
9be909ae
ILT
1902 * libecoff.h (struct ecoff_tdata): Add field find_buffer.
1903 * ecoff.c: Include aout/stab_gnu.h.
1904 (ecoff_find_nearest_line): Handle stabs debugging information.
1905
8c62064a
ILT
1906 * elfcode.h (elf_link_output_extsym): Keep a symbol marked as weak
1907 even if it is referenced by another object.
1908
a0b4aa62
JL
1909Tue Sep 13 17:57:00 1994 Jeff Law (law@snake.cs.utah.edu)
1910
ae880afc
JL
1911 * som.c (som_fixup_formats): Case R_ENTRY (0xb3), set both
1912 'T' and 'U' to grab all the unwind information.
1913 (som_set_reloc_info): Make 'U' unwind bits persist across
1914 multiple SOM relocations. Set the addend field of an R_ENTRY
1915 relocation to the value in 'T'; set the addend field on an
1916 R_EXIT relocation to the value in 'U'.
1917
e10639db
JL
1918 * som.h (som_symbol_type): Delete unwind field.
1919
1920 * som.c (som_write_fixups): For R_ENTRY fixups, get 32bits of
1921 unwind information from the addend field of the R_ENTRY, get the
1922 other 32bits from the addend field of the R_EXIT.
1923 (bfd_som_attach_unwind_info): Delete function and all references.
1924
39836432
JL
1925 * som.h (som_symbol_type): Delete unused a.out-related fields.
1926
1927 * som.c (bfd_section_from_som_symbol): Use bfd_abs_section_ptr
1928 instead of &bfd_abs_section.
1929
a0b4aa62
JL
1930 * som.c (som_object_setup): Handle exec_entry and exec_flags being
1931 switched in executables created by the OSF1 linker.
1932 (som_write_fixups): Handle R_EXIT just like the R_{F,L,R}SEL
1933 fixups. Support R_ALT_ENTRY (handle just like R_EXIT).
1934
cf345e36
SC
1935Tue Sep 13 16:04:07 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1936
1937 * cofflink.c (coff_link_input_bfd): syment_base is unsigned
1938 so can't compare -ve numbers with it.
1939
1940Mon Sep 12 20:31:17 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1941
1942 * configure.in (shcoff_vec): Use cofflink.o now.
1943 * coff-sh.c: Rewritten to use new fast coff backend.
1944
204ba9e3
ILT
1945Tue Sep 13 16:23:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1946
1947 * aoutx.h (NAME(aout,final_link)): Don't assume that all the input
1948 files are a.out.
1949
a3f7a777
C
1950Tue Sep 13 11:09:39 1994 J.T. Conklin (jtc@rtl.cygnus.com)
1951
1952 * configure.host (sparc-*-netbsd): use sparcnbsd.
1953 (ns32k-*-netbsd): use ns32knbsd.
1954
1955 * hosts/{nbsd,i386nbsd,ns32knbsd,sparcnbsd}.h: New files, NetBSD
1956 host support.
1957
1958 * sparcnetbsd.c: New file, adds support for NetBSD/sparc.
1959 * config/sparc-nbsd.mt: Likewise.
1960
1961 * netbsd.h: New file, definitions common to all netbsd ports.
1962 * i386netbsd.c: Use it.
1963 * ns32knetbsd.c: Use it.
1964
1965 * Makefile.in, configure.in, targets.c, config/i386-nbsd.mt,
1966 config/ns32k-nbsd.mt: canonicalize netbsd targets to conform to
1967 file/variable naming conventions.
1968 * i386netbsd.c: New file, renamed from netbsd386.c.
1969 * ns32knetbsd.c: New file, renamed from netbsd532.c.
1970
c7ca67cb
JL
1971Mon Sep 12 21:56:20 1994 Jeff Law (law@snake.cs.utah.edu)
1972
1973 * som.c (som_reloc_skip): Correct off-by-one error for 4-byte
1974 R_NO_RELOCATION fixups.
1975 (bfd_section_from_som_symbol): Return the absolute section if the
1976 symbol isn't contained in any section in the output file.
1977 (som_slurp_symbol_table): ST_PRI_PROG and ST_SEC_PROG symbols are
1978 not function symbols (they are magic code labels which *can* be the
1979 targets of cross space branches). $START$ is not a section symbol.
1980
3cd942de
ILT
1981Mon Sep 12 11:43:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1982
3c9832f8
ILT
1983 * coff-alpha.c (ecoffalpha_little_vec): Add SEC_CODE and SEC_DATA
1984 to section_flags.
1985 * coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
1986
1987 * elfcode.h (swap_out_syms): Set the type of an undefined symbol
1988 to STT_FUNC if the BSF_FUNCTION flag is set.
1989
2a895595
ILT
1990 * cofflink.c (coff_link_input_bfd): If r_symndx is -1, don't
1991 change it.
1992 (_bfd_coff_generic_relocate_section): If r_symndx is -1, it is an
1993 absolute reloc. Don't dump core using r_symndx as an array index.
1994 * cf-m68klynx.c (coff_bfd_link_add_symbols): Define.
1995 (lynx_link_add_symbols): New static function (copy of function in
1996 coff-i386.c).
1997 (coff_m68k_lynxrtype_to_howto): sym argument may be NULL.
1998 * coff-i386.c (coff_i386_rtype_to_howto): Likewise.
1999 * coff-a29k.c (coff_a29k_relocate_section): Handle an r_symndx
2000 value of -1, meaning an absolute reloc.
2001
3cd942de
ILT
2002 * ctor.c: Remove; obsolete.
2003 * Makefile.in: Rebuild dependencies.
2004 (BFD_LIBS): Remove ctor.o.
2005 (CFILES): Remove ctor.c.
2006 * libbfd.h: Rebuild.
2007
27ebd952
JL
2008Mon Sep 12 01:58:47 1994 Jeff Law (law@snake.cs.utah.edu)
2009
2010 * elf32-hppa.c (elf32_hppa_relocate_section): If there was a link
2011 error of some sort (for example, undefined symbols), then do not
2012 apply any relocs, just notify the user of the errors.
2013 (elf32_hppa_backend_begin_write_processing): Do not build a symbol
2014 extension section for an executable (it's useless).
2015 (elf32_hppa_link_output_symbol_hook): Do nothing if there was a
2016 link error of some sort (for example, undefined symbols).
2017 (elf32_hppa_read_symext_info): Kludge. Turn off SEC_HAS_CONTENTS
2018 for all the input symbol extension sections to keep the generic
2019 BFD code happy. Temporarily turn it on to read the contents of
2020 the symbol extension section.
2021
95bc714e
JL
2022Sun Sep 11 21:58:59 1994 Jeff Law (law@snake.cs.utah.edu)
2023
2024 * config/hppaosf.mh (RANLIB): Do not set.
2025 * config/hppabsd.mh (RANLIB): Likewise.
2026
5b89e1a0
ILT
2027Sun Sep 11 22:50:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2028
2029 * cf-i386lynx.c: Remove #if 0 code.
2030 (i386_lynxos_coff_object_p): Remove unused function.
2031 (coff_bfd_link_add_symbols): Define.
2032 (lynx_link_add_symbols): New static function.
2033 * coffcode.h (coff_bfd_link_hash_table_create): If
2034 coff_relocate_section is defined, only define this if not already
2035 defined.
2036 (coff_bfd_link_add_symbols, coff_bfd_final_link): Likewise.
2037
2038 * linker.c (_bfd_generic_final_link): Handle
2039 bfd_indirect_link_order explicitly, rather than via
2040 _bfd_default_link_order.
2041 (set_symbol_from_hash): New static function, broken out of
2042 _bfd_generic_link_write_global_symbol.
2043 (_bfd_generic_link_write_global_symbol): Symbol setting code moved
2044 to set_symbol_from_hash; call it.
2045 (default_indirect_link_order): Add generic_linker argument.
2046 Change all callers. If false, set the generic symbols based on
2047 the hash table entries.
2048
bd23b552
ILT
2049Fri Sep 9 11:51:49 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2050
67ff4a56
ILT
2051 * coffgen.c (coff_get_symtab): Reindented. Removed commented out
2052 call to bfd_constructor_entry.
2053
bd23b552
ILT
2054 Convert m68k COFF to use new COFF backend linker.
2055 * coff-m68k.c (coff_relocate_section): Define.
2056 * cf-m68klynx.c (coff_rtype_to_howto): Define.
2057 (coff_m68k_lynx_rtype_to_howto): New static function.
2058 * configure.in (m68kcoff_vec): Build cofflink.o.
2059 (m68kcoffun_vec, m68klynx_coff_vec): Likewise.
2060
2546fb27
SC
2061Thu Sep 8 16:20:38 1994 Steve Chamberlain (sac@jonny.cygnus.com)
2062
bd23b552
ILT
2063 * coff-h8300.c (h8300_reloc16_extra_cases, case RELBYTE): Flag
2064 overflows correctly.
2546fb27 2065
dc5fff10
ILT
2066Wed Sep 7 19:01:42 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2067
2546fb27
SC
2068 * libelf.h (struct elf_backend_data): Change second argument of
2069 elf_backend_final_write_processing hook to boolean.
2070 (struct elf_obj_tdata): Add linker field.
2071 * elfcode.h (NAME(bfd_elf,write_object_contents)): Pass value of
2072 tdata linker field to final_write_processing, rather than NULL.
2073 (elf_bfd_final_link): Don't call final_write_processing hook. Set
2074 tdata linker field to true.
2075 * elf32-mips.c (mips_elf_final_write_processing): Change type of
2076 second argument to boolean.
2077 * elf32-hppa.c (elf32_hppa_backend_final_write_processing):
2078 Likewise.
2079
dc5fff10
ILT
2080 * coff-go32.c (RTYPE2HOWTO): Fully parenthesize arguments.
2081 * coff-i960.c (RTYPE2HOWTO): Likewise.
2082 * coff-m88k.c (RTYPE2HOWTO): Likewise.
2083 * coff-we32k.c (RTYPE2HOWTO): Likewise.
2084
2085 Make i386 COFF use new COFF backend linker.
2086 * coff-i386.c (RTYPE2HOWTO): Fully parenthesize arguments.
2087 (coff_relocate_section): Define.
2088 (coff_i386_rtype_to_howto): New function.
2089 * configure.in (i386coff_vec): Use cofflink.o.
2090 (i386lynx_coff_vec): Likewise.
2091
2092 * coffcode.h (bfd_coff_backend_data): Add new field
2093 _bfd_coff_rtype_to_howto.
2094 (bfd_coff_rtype_to_howto): Define.
2095 (coff_rtype_to_howto): Define to use RTYPE2HOWTO, if not already
2096 defined.
2097 (bfd_coff_std_swap_table): Initialize new field.
2098 * cofflink.c (_bfd_coff_final_link): Allocate section_count + 1
2099 section_info structures, since the target_index is 1 based.
2100 (coff_link_input_bfd): Set *secpp to bfd_com_section_ptr for a
2101 common symbol. Adjust rel_hash by the output reloc count.
2102 (_bfd_coff_generic_relocate_section): New function.
2103 * libcoff-in.h (_bfd_coff_generic_relocate_section): Declare.
2104 * libcoff.h: Rebuild.
2105 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
2106 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2107
3b50c900
JL
2108Tue Sep 6 23:28:52 1994 Jeff Law (law@snake.cs.utah.edu)
2109
2110 * som.c (som_bfd_derive_misc_symbol_info): Treat undefined code
2111 symbols and undefined symbols which no type in the same manner
2112 if the associated BFD symbol has BSF_FUNCTION set. For a defined
2113 symbol which no type, select a SOM type based on the flags of the
2114 section containing the symbol.
2115 (som_slurp_symbol_type): Set BSF_FUNCTION for undefined ST_STUB
2116 or ST_CODE symbols (importing a non-function code symbol is
2117 meaningless in SOM).
2118 (som_set_reloc_info): Don't set "offset" to the section's vma; it
2119 should always start at zero.
2120
69645d10
ILT
2121Tue Sep 6 14:51:11 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2122
2123 Add new style linker support to COFF backend. a29k only for now.
2124 * cofflink.c: New file.
2125 * libcoff-in.h: Include bfdlink.h.
2126 (obj_coff_external_syms, obj_coff_strings): Define accessor macro.
2127 (obj_coff_sym_hashes): Define accessor macro.
2128 (struct coff_tdata): Add fields external_syms, strings, and
2129 sym_hashes.
2130 (struct coff_link_hash_entry): Define.
2131 (struct coff_link_hash_table): Define.
2132 (coff_link_hash_lookup, coff_link_hash_traverse): Define.
2133 (coff_hash_table): Define.
2134 (_bfd_coff_link_hash_table_create): Declare.
2135 (_bfd_coff_link_add_symbols, _bfd_coff_final_link): Declare.
2136 * coffcode.h (bfd_coff_backend_data): Add fields _bfd_relsz,
2137 _bfd_coff_swap_reloc_in, _bfd_coff_sym_is_global,
2138 _bfd_coff_compute_section_file_positions,
2139 _bfd_coff_relocate_section.
2140 (bfd_coff_relsz, bfd_coff_swap_reloc_in): Define.
2141 (bfd_coff_sym_is_global): Define.
2142 (bfd_coff_compute_section_file_positions): Define.
2143 (bfd_coff_relocate_section): Define.
2144 (coff_mkobject_hook): Initialize obj_raw_syment_count and
2145 obj_conv_table_size.
2146 (coff_compute_section_file_positions): Set target_index of all
2147 sections. Set output_has_begun field.
2148 (coff_write_object_contents): Don't set target_index; now done by
2149 coff_compute_section_file_positions. Remove obsolete handling of
2150 scn_base and data_base. Don't bother to check that target_index
2151 is positive, since it always is. Remove use of pad, which is
2152 always zero. Check obj_raw_syment_count, not bfd_get_symcount,
2153 for the number of symbols, but only write them out if
6ceff8e7
ILT
2154 bfd_get_symcount is non-zero. Don't check obj_raw_syment_count
2155 until after coff_write_symbols is called.
69645d10
ILT
2156 (coff_slurp_symbol_table): Use obj_raw_syment_count, not
2157 bfd_get_symcount for the number of symbols. Don't set
2158 obj_conv_table_size.
2159 (coff_sym_is_global): New static function or macro.
2160 (coff_slurp_reloc_table): Call coff_swap_reloc_in, not
2161 bfd_swap_reloc_in.
2162 (coff_bfd_link_hash_table_create): If coff_relocate_section is
2163 defined, define as _bfd_coff_link_hash_table_create.
2164 (coff_bfd_link_add_symbols): Similar change.
2165 (coff_bfd_final_link): Similar change.
2166 (coff_relocate_section): Define as NULL if not defined.
2167 (bfd_coff_std_swap_table): Initialize new fields.
2168 * coffgen.c (coff_real_object_p): Don't set obj_raw_syment_count
2169 and obj_conv_table_size here.
2170 (coff_count_linenumbers): Reindent. If bfd_get_symcount is zero,
2171 add up the line numbers from the sections.
6ceff8e7
ILT
2172 (coff_write_symbols): Set obj_raw_syment_count, not
2173 bfd_get_symcount.
69645d10
ILT
2174 (coff_pointerize_aux): Don't pointerize a nonpositive x_endndx
2175 field.
2176 (coff_get_normalized_symtab): Use obj_raw_syment_count, not
2177 bfd_get_symcount.
2178 (coff_print_symbol): If auxp->fix_end, print x_endndx value.
2179 * coffswap.h (coff_swap_reloc_in): Rename from bfd_swap_reloc_in.
2180 Reindent. Change argument type to PTR.
2181 * coff-a29k.c (coff_a29k_relocate_section): New static function.
2182 (coff_relocate_section): Define.
2183 * configure.in (a29kcoff_big_vec): Compile cofflink.o.
2184 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new fields.
2185 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2186 * libcoff.h: Rebuilt.
2187 * Makefile.in: Rebuilt dependencies.
2188 (BFD32_BACKENDS): Add cofflink.o.
2189 (CFILES): Add cofflink.c.
2190
358710a7
KR
2191Tue Sep 6 14:00:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2192
de733a0e
KR
2193 * coffgen.c (coff_print_symbol, case bfd_symbol_print_all): Check
2194 for section symbol, and print its aux fields with appropriate
2195 labels.
2196
358710a7
KR
2197 * Makefile.in (ALL_MACHINES): Added cpu-arm.o.
2198
e1728bee 2199Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
318b02b6
KR
2200
2201 * aoutx.h (NAME(aout,machine_type)): Recognize the ARM processor.
2202 * archures.c, config.bfd, configure.host, libaout.h, reloc.c,
2203 targets.c: Add support for the ARM.
2204 * cpu-arm.c, riscix.c, config/riscix.mh, config/riscix.mt: New files.
2205
e1728bee 2206 * aoutx.h (add_to_stringtable): Check that str isn't a NULL pointer.
318b02b6 2207
0443af31
KR
2208Fri Sep 2 14:10:30 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2209
2210 * reloc.c (enum bfd_reloc_code_real): Rewrote definition to use
2211 new "chew" commands for simultaneous definition of enumerator and
2212 enumerator name table.
2213 (bfd_get_reloc_code_name): New function, for retrieving a symbolic
2214 name associated with an enumerator.
2215 * libbfd.h, bfd-in2.h: Regenerated.
2216
b905bde1
JL
2217Tue Aug 30 21:24:54 1994 Jeff Law (law@snake.cs.utah.edu)
2218
2219 * som.c (som_write_fixups, case R_ENTRY): Handle case where no
2220 unwind descriptor information is available.
2221
0822b56d
ILT
2222Tue Aug 30 11:43:30 1994 Eric Youngdale (ericy@cais.cais.com)
2223
2224 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add soname
2225 argument, and use it to set DT_SONAME dynamic entry.
2226 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
2227 (bfd_elf64_size_dynamic_sections): Update prototype.
2228 * bfd-in2.h: Rebuilt.
2229
b8520cf3
ILT
2230Fri Aug 26 15:47:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2231
2232 * coffgen.c (coff_real_object_p): Set obj_raw_syment_count.
2233 (coff_get_normalized_symtab): Verify obj_raw_syment_count, rather
2234 than setting it.
2235
715cde57
ILT
2236Thu Aug 25 10:44:53 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2237
fc10f31e
ILT
2238 * archive.c (bsd_write_armap): Remove host dependencies.
2239
435b470e
ILT
2240 * aoutx.h (add_to_stringtab): Check for _bfd_stringtab_add error
2241 before adding BYTES_IN_WORD.
2242
6d04c6d4
ILT
2243 * coffgen.c (coff_find_nearest_line): Look for the best C_FILE,
2244 not merely the first.
2245
715cde57
ILT
2246 * coffgen.c (coff_write_alien_symbol): If we are not using the
2247 symbol, clear the name so that it is not put in the string table.
2248 From Antti.Miettinen@ntc.nokia.com.
2249
1afd2380
ILT
2250Wed Aug 24 11:49:19 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2251
5a53b1c1
ILT
2252 * coffgen.c (coff_print_symbol): Cast pointer different to long
2253 and use %ld to print it.
2254 * osf-core.c (osf_core_core_file_p): Remove unused variable
2255 dseccnt.
2256 * ecoffswap.h (ecoff_swap_ext_out): If ECOFF_64, clear remaining
2257 bytes in bits2.
2258
073e795f 2259 * configure.host, config.bfd: Change i[34]86 to i[345]86.
a74d1517
ILT
2260 * coffgen.c (coff_real_object_p): Set obj_conv_table_size here,
2261 rather than waiting until coff_slurp_symbol_table.
2262 (coff_write_alien_symbol): Just ignore BSF_DEBUGGING symbols.
2263 From Antti.Miettinen@ntc.nokia.com.
2264
d3700222
ILT
2265 * section.c (bfd_make_section_anyway): Fix failure check of
2266 bfd_make_empty_symbol. From Antti.Miettinen@ntc.nokia.com.
2267
1afd2380
ILT
2268 * aoutx.h (translate_to_native_sym_flags): Use the output_section
2269 (and output_offset) if there is one.
2270
2271 * aoutx.h (aout_link_check_archive_element): Discard the symbols
2272 if the archive element was not needed.
2273
2274 * aoutx.h (aout_get_external_symbols): Ensure that a zero string
2275 index yields an empty string.
2276 (aout_link_write_symbols): If info->keep_memory is false, use name
2277 from original hash table entry, not from entry in *sym_hash.
2278
2279 * aoutx.h (struct aout_final_link_info): Add fields contents,
2280 relocs, symbol_map and output_syms.
2281 (NAME(aout,final_link)): Work out the largest section size, reloc
2282 size, and number of symbols. Use them to preallocate buffers that
2283 are large enough for all cases.
2284 (aout_link_input_bfd): Use preallocated symbol_map.
2285 (aout_link_write_symbols): Remove symbol_map argument; use
2286 preallocated symbol_map instead. Change all callers. Use
2287 preallocated output_syms.
2288 (aout_link_input_section): Remove symbol_map argument. Change all
2289 callers. Use preallocated contents and relocs.
2290 (aout_link_input_section_std): Remove symbol_map argument; use
2291 preallocated symbol_map instead. Change all callers.
2292 (aout_link_input_section_ext): Likewise.
2293
2294Tue Aug 23 10:51:09 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2295
2296 * archive.c (_bfd_write_archive_contents): Don't update the
2297 symbol map timestamp if there is no symbol map. From
2298 schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
2299
e914ed52
ILT
2300Mon Aug 22 12:26:42 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2301
81eb52b3
ILT
2302 * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add _update_armap_timestamp.
2303 (bfd_target): Add field _bfd_update_armap_timestamp.
2304 * bfd.c (bfd_update_armap_timestamp): Define.
2305 * bfd-in2.h: Rebuilt.
2306 * libbfd-in.h (_bfd_noarchive_update_armap_timestamp): Define.
2307 (_bfd_archive_bsd_update_armap_timestamp): Declare.
2308 (_bfd_archive_coff_update_armap_timestamp): Define.
2309 * libbfd.h: Rebuilt.
2310 * archive.c (_bfd_write_archive_contents): Call
2311 bfd_update_armap_timestamp instead of checking for a BSD archive
2312 and calling bsd_update_armap_timestamp.
2313 (_bfd_archive_bsd_update_armap_timestamp): Rename from
2314 _bsd_update_armap_timestamp. Don't assume that armap_datepos is
2315 already set.
2316 * aout-target.h (MY_update_armap_timestamp): Define if not already
2317 defined.
2318 * coff-rs6000.c (rs6000coff_update_armap_timestamp): Define.
2319 * ieee.c (ieee_update_armap_timestamp): Define.
2320 * libecoff.h (_bfd_ecoff_update_armap_timestamp): Define.
2321 * oasys.c (oasys_update_armap_timestamp): Define.
2322 * som.c (som_update_armap_timestamp): Define.
2323
e914ed52
ILT
2324 * hash.c: Copy string hash functions from aoutx.h.
2325 * aoutx.h: String hash functions moved to hash.c. Retain
2326 simplified versions of add_to_stringtab and emit_stringtab.
2327 Change all callers to use new function and structure names.
2328 * libbfd-in.h (_bfd_stringtab_init, _bfd_stringtab_free): Declare.
2329 (_bfd_stringtab_size, _bfd_stringtab_add): Declare.
2330 (_bfd_stringtab_emit): Declare.
2331 * libbfd.h: Rebuilt.
2332
0ff4ca1e
ILT
2333Mon Aug 22 10:49:37 1994 Eric Youngdale (ericy@cais.cais.com)
2334
2335 * i386linux.c (linux_add_one_symbol): Create a fixup for any
2336 defined absolute symbol, not just GOT or PLT symbols.
2337 (linux_tally_symbols): Correct handling of references to defined
2338 symbols.
2339
32c76553
ILT
2340Thu Aug 18 16:29:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2341
f4945271
ILT
2342 Get ld -x -r to handle a.out set symbols correctly.
2343 * aoutx.h (adjust_o_magic): If the .bss VMA was set outside of
2344 BFD, pad the .data section up to the VMA of the .bss section.
2345 (aout_link_add_symbols): If a set symbol does not get modified,
2346 treat it as a local symbol.
2347 (aout_link_write_symbols): Set the value of set symbols
2348 correctly. Don't discard set symbols even if discarding local
2349 symbols.
2350 (aout_link_write_other_symbol): Don't abort on bfd_link_hash_new,
2351 since it can now happen for set symbols.
2352
32c76553
ILT
2353 * elfcode.h (elf_fake_sections): Just check for ".rela" and
2354 ".rel", not ".rela." and ".rel."; make this work by checking
2355 use_rela_p.
2356 * elf32-i386.c (elf_i386_check_relocs): Just check for ".rel", not
2357 ".rel."
2358 (elf_i386_size_dynamic_sections): Likewise.
2359 (elf_i386_relocate_section): Likewise.
2360 * elf32-sparc.c (elf32_sparc_check_relocs): Just check for
2361 ".rela", not ".rela."
2362 (elf32_sparc_size_dynamic_sections): Likewise.
2363 (elf32_sparc_relocate_section): Likewise.
2364
7cc5cc22
ILT
2365Wed Aug 17 16:54:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2366
2367 * linker.c (_bfd_generic_link_add_archive_symbols): Initialize
2368 PASS to the old value + 1.
d83689d4
ILT
2369
2370 * coffgen.c (coff_get_normalized_symtab): If a C_FILE symbol has
2371 no aux entries, use the symbol name as the file name.
2372 (coff_find_nearest_line): Look for the right C_FILE symbol, rather
2373 than always using the first one. If there is a debugging symbol
2374 after a function symbol, skip it. Add the section VMA to the line
2375 offset, since it was subtracted out in coff_slurp_line_table.
2376
fde543b5
JL
2377Tue Aug 16 16:53:00 1994 Jeff Law (law@snake.cs.utah.edu)
2378
2379 * som.c (som_prep_headers): If writing some form of an executable,
2380 allocate and attach an exec header to the BFD private data.
2381 (som_begin_writing): Don't fill fields of the exec header based
2382 on BFD private data here (like the exec flags). Do not write
2383 the exec header here.
2384 (som_write_headers): Instead do it here.
2385 * som.h (struct somdata): New field "exec_hdr" for the executable
2386 file header.
2387 (obj_som_exec_hdr): New accessor macro.
2388
969ceea0
ILT
2389Tue Aug 16 00:12:31 1994 Eric Youngdale (ericy@cais.cais.com)
2390
2391 * i386linux.c (linux_link_create_dynamic_sections): Create section
2392 named .linux-dynamic, not .dynamic.
2393 (linux_add_one_symbol): Use .linux-dynamic, not .dynamic.
2394 (bfd_linux_size_dynamic_sections): Likewise.
2395 (linux_finish_dynamic_link): Likewise.
2396
e8fbe6d9
ILT
2397Mon Aug 15 12:16:56 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2398
9fbe895a
ILT
2399 * coffgen.c (STRING_SIZE_SIZE): Define.
2400 (coff_fix_symbol_name): Use STRING_SIZE_SIZE, not 4.
2401 (coff_write_symbols, build_string_table): Likewise.
2402 (coff_get_normalized_symtab): Likewise.
2403
f07bb971
ILT
2404 * libcoff-in.h (obj_symbol_slew): Don't define.
2405 (struct coff_tdata): Remove unused fields index_slew, raw_linenos,
2406 and flags.
2407 * libcoff.h: Rebuilt.
2408 * coffcode.h (coff_mkobject): Don't initialize raw_linenos.
2409 (coff_mkobject_hook): Don't initialize flags.
2410
a932d0ff
ILT
2411 * aout-target.h (MY_zmagic_contiguous): Define as 0 if not already
2412 defined.
2413 (MY(backend_data)): Use MY_zmagic_contiguous, not hardcoded 0.
2414 * i386linux.c (MY_zmagic_contiguous): Define.
2415
823609fe
ILT
2416 * elfcode.h (bfd_section_from_shdr): If a SHT_SYMTAB section in a
2417 shared object has SHF_ALLOC set, create a BFD section for it.
2418 (elf_section_from_bfd_section): There may be a BFD section for a
2419 SHT_SYMTAB section.
2420
e8fbe6d9
ILT
2421 * coffcode.h (styp_to_sec_flags): Add name argument. If no flags
2422 are recognized, chose section flags based on the name.
2423 (bfd_coff_backend_data): _bfd_styp_to_sec_flags_hook field: Add
2424 name argument.
2425 (bfd_coff_styp_to_sec_flags_hook): Add name argument.
2426 (coff_compute_section_file_positions): Don't adjust the section
2427 position by COFF_PAGE_SIZE unless SEC_ALLOC is set.
2428 * libcoff.h: Rebuilt.
2429 * coffgen.c (make_a_section_from_file): Pass section name to
2430 bfd_coff_styp_to_sec_flags_hook.
2431 * ecoff.c (_bfd_ecoff_styp_to_sec_flags): Add unused name
2432 argument.
2433 * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Add name argument to
2434 prototype.
2435
1c640609
ILT
2436Fri Aug 12 11:22:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2437
e9227b42
ILT
2438 * elfcode.h (section_from_elf_index): Correct check for invalid
2439 section index.
2440
1c640609
ILT
2441 * elfcode.h (elf_link_add_object_symbols): If there is no symbol
2442 table, try using the dynamic symbol table. From Eric Youngdale
2443 <ericy@cais.cais.com>.
2444
2445 * configure.host (sparc-*-solaris2*): Use solaris2, not sysv4.
2446 The linker depends upon configuring for solaris2.
2447 * hosts/solaris2.h: New file; include hosts/sysv4.h.
2448 * config/solaris2.mh: New file; copy of config/sysv4.mh.
2449
e1f99f60
ILT
2450Wed Aug 10 13:09:38 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2451
2452 * aoutx.h (adjust_z_magic): Make sure data section is padded to
2453 page boundary when the VMA is set by the calling program. From
2454 Eric Youngdale <ericy@cais.cais.com>.
2455
fb49a801
SS
2456Mon Aug 8 17:18:49 1994 Stan Shebs (shebs@andros.cygnus.com)
2457
2458 Update to ns32k support, from Ian Dall (dall@hfrd.dsto.gov.au).
2459 * aout-ns32k.c: Add declarations that were in aout-ns32k.h, change
2460 declarations to traditional form.
2461 (MY_reloc_howto, MY_put_reloc): Change from macro to function.
2462 (ns32k_relocate_contents): New function.
2463 * aout-ns32k.h: Remove.
2464 * cpu-ns32k.c: Add declarations that were in aout-ns32k.h, change
2465 declarations to traditional form.
2466 (ns32k_final_link_relocate): Call ns32k_relocate_contents.
2467 * netbsd532.c: Reformat to standards, add copyright notice.
2468 (ARCH): Don't define.
2469 (aout-ns32k.h): Don't include.
2470 * pc532-mach.c: Ditto.
2471
2472Mon Aug 8 17:55:52 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2473
2474 * coff-i960.c (coff_i960_relocate): Don't try to convert relocs
2475 against common symbols.
2476
f20860cd
PS
2477Sat Aug 6 22:27:30 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2478
2479 * irix-core.c (irix_core_core_file_p): Ignore sections that
2480 are not contained in the core file.
2481
203778ce
JMD
2482Thu Aug 4 11:32:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2483
74329939 2484 * coff-m68k.c (m68k_reloc_type_lookup): New function.
8337ee9d 2485 (coff_bfd_reloc_type_lookup): Define.
74329939 2486 * cf-m68klynx.c (_bfd_m68kcoff_reloc_type_lookup): Define.
8337ee9d 2487
203778ce
JMD
2488 * elfcode.h (elf_bfd_final_link): Force the vma of sections which
2489 do not have SEC_ALLOC set to be 0. This is needed to handle
2490 relocs against debugging sections.
2491
1b8a11d4
JMD
2492Wed Aug 3 16:45:41 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2493
2494 * coff-i960.c (coff_i960_relocate): Rewrote to change relocs
2495 against locally defined symbols into relocs against section
2496 symbols, for VxWorks 5.1.
2497
e696f6a9
JMD
2498Wed Aug 3 10:34:37 1994 Eric Youngdale (ericy@cais.cais.com)
2499
2500 * i386linux.c (linux_add_one_symbol): Only handle
2501 SHARABLE_CONFLICTS specially if BSF_CONSTRUCTOR is set. Set hashp
2502 for a GOT or PLT symbol. Set jump field of fixup for a PLT symbol.
2503 (linux_tally_symbols): Check section of real symbol. When looking
2504 for a builtin fixup, check builtin and jump flags. Create no more
2505 than one fixup, and always create one if the real symbol is in the
2506 absolute section. Only strip absolute symbols.
2507
756b40d5
DHW
2508Wed Aug 3 05:08:24 1994 D. V. Henkel-Wallace (gumby@cygnus.com)
2509
2510 * coffcode.h (coff_write_object_contents): set internal_a.magic to
2511 LYNXCOFFMAGIC whenever 68k, SPARC or i386 LynxOS
2512 (yes, they have the same magic number!)
2513
e0566e19
JMD
2514Tue Aug 2 10:43:21 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2515
b2ea35c7
JMD
2516 * hp300hpux.c (BMAGIC): Define as HPUX_DOT_O_MAGIC, to make test
2517 in aoutx.h work correctly.
2518
5e694c29
JMD
2519 * coff-i960.c (coff_i960_relocate): New function.
2520 (howto_rellong, howto_iprmed): Use it as special_function.
2521
e0566e19
JMD
2522 * libbfd-in.h: Move declarations of bfd_read, bfd_write, bfd_seek,
2523 bfd_tell, bfd_flush, and bfd_stat from here...
2524 * bfd-in.h: ...to here, to make them visible to programs which
2525 know more about the object file format than BFD does.
2526 * libbfd.h, bfd-in2.h: Rebuilt.
2527
287e3ce2
JMD
2528Mon Aug 1 17:55:53 1994 Fred Fish (fnf@cygnus.com)
2529
2530 * ptrace-core.c (ptrace_unix_core_file_p): Convert zalloc usage
2531 to bfd_zalloc.
2532
abc61566 2533Mon Aug 1 12:04:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
d510fd89 2534
4ab1f947
JMD
2535 * elf64-sparc.c (ELF_MAXPAGESIZE): Define.
2536
99dd7754
JMD
2537 ELF linker patches from Eric Youngdale <ericy@cais.cais.com>.
2538 * elfcode.h (elf_link_create_dynamic_sections): Set type of
2539 _DYNAMIC to STT_OBJECT.
2540 (NAME(bfd_elf,record_link_assignment)): Always create hash table
2541 entry. Set type to STT_OBJECT.
2542 (elf_link_output_extsym): Don't set type of weak defined symbol to
2543 STB_WEAK if symbol was referenced.
e2167917
JMD
2544 (map_program_segments): Check DYNAMIC as well as EXEC_P.
2545 (assign_file_positions_except_relocs): Likewise.
99dd7754
JMD
2546 * elf32-i386.c (elf_i386_create_dynamic_sections): Set type of
2547 _GLOBAL_OFFSET_TABLE to STT_OBJECT.
2548 (elf_i386_check_relocs): Ignore local PLT32 relocs.
2549 (elf_i386_relocate_section): Treat local PLT32 relocs as PC32.
2550
30e5ad97
ILT
2551 * elfcode.h (elf_adjust_dynamic_symbol): Correct weak symbol
2552 handling again.
2553
d510fd89
ILT
2554 * elfcode.h (elf_slurp_reloc_table): Don't try to read the relocs
2555 if there aren't any.
abc61566
ILT
2556
2557 * configure.host (sparc-*-solaris2*): Use sysv4, not solaris2.
2558 * hosts/solaris2.h: Remove.
2559 * config/solaris2.mh: Remove.
2560
58bbba79
JL
2561Sun Jul 31 14:27:04 1994 Jeff Law (law@snake.cs.utah.edu)
2562
2563 * elf32-hppa.c, elf32-hppa.h: Update comment reflecting which
2564 HPPA ELF spec the code implements.
2565
b5b056fc
KR
2566Tue Jul 26 17:38:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2567
2568 * cpu-i960.c (MAX_ARCH): New macro.
2569 (compatible): Use it in computing array bounds. Put comma after
2570 last entry in array, for regularity.
2571 (arch_info_struct): Adjust spacing for easier reading.
2572
2573 * coff-i960.c (howto_rellong, howto_iprmed, howto_optcall): Use
2574 HOWTO macro.
2575
2576 start-sanitize-i960xl
2577 * cpu-i960.c (XL): Define as bfd_mach_i960_xl.
2578 (scan_960_mach): Recognize xl machine.
2579 (MAX_ARCH): Define to be XL.
2580 (compatible): Add XL row to array.
2581 (arch_info_struct): Add XL entry.
2582
2583 * archures.c (bfd_mach_i960_xl): New macro.
2584 * bfd-in2.h: Regenerated.
2585
2586 * coffcode.h (coff_set_arch_mach_hook): For F_I960XL, set machine
2587 to bfd_mach_i960_xl.
2588 (coff_set_flags): For bfd_mach_i960_xl, set F_I960XL.
2589 end-sanitize-i960xl
2590
374d2ef9
ILT
2591Tue Jul 26 11:04:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2592
9a402d7a
ILT
2593 * elfcode.h (elf_adjust_dynamic_symbol): When handling a weak
2594 symbol, correct check to see whether the equivalent normal symbol
2595 was referenced.
2596
374d2ef9
ILT
2597 Add support for creating shared libraries under i386 ELF and SPARC
2598 ELF. Based on patches by Eric Youngdale <ericy@cais.cais.com>.
2599 * libelf.h (struct elf_link_hash_entry): Remove copy_offset field.
2600 Add got_offset and plt_offset fields.
2601 (ELF_LINK_HASH_REF_DYNAMIC_MULTIPLE): Don't define.
2602 (ELF_LINK_HASH_DEF_DYNAMIC_MULTIPLE): Don't define.
2603 (ELF_LINK_HASH_NEEDS_COPY): Define.
2604 (struct elf_backend_data): Add check_relocs field.
2605 (struct bfd_elf_section_data): Change relocs from PTR to
2606 Elf_Internal_Rela *.
2607 (struct elf_obj_tdata): Add local_got_offsets field.
2608 (elf_local_got_offsets): Define accessor macro.
2609 (bfd_elf32_link_create_dynamic_sections): Declare.
2610 (bfd_elf32_link_record_dynamic_symbol): Declare.
2611 (bfd_elf64_link_create_dynamic_sections): Declare.
2612 (bfd_elf64_link_record_dynamic_symbol): Declare.
2613 * elfcode.h (elf_slurp_reloc_table): Don't use the section data
2614 relocs field.
2615 (elf_link_record_dynamic_symbol): Make globally visible. Use
2616 macro to rename to NAME(bfd_elf,link_record_dynamic_symbol).
2617 (elf_link_add_object_symbols): If creating a shared library, put
2618 make all local symbols dynamic. Don't bother with the
2619 DYNAMIC_MULTIPLE flags. Call the check_relocs backend function if
2620 it is defined.
2621 (elf_link_create_dynamic_sections): Make globally visible. Use
2622 macro to rename to NAME(bfd_elf,link_create_dynamic_sections). If
2623 creating a shared library, make sure that _DYNAMIC is added as a
2624 dynamic symbol.
2625 (elf_link_read_relocs): New function.
2626 (NAME(bfd_elf,record_link_assignment)): If creating a shared
2627 library, always create symbols, and always make them dynamic.
2628 (elf_bfd_final_link): Permit creation of shared libraries.
2629 (elf_link_input_bfd): Use elf_link_read_relocs to get the relocs.
2630 * elf.c (_bfd_elf_link_hash_newfunc): Don't initialize
2631 copy_offset. Initialize got_offset and plt_offset.
2632 * elf32-target.h (elf_backend_check_relocs): Define as 0 if not
2633 defined.
2634 (elf32_bed): Initialize check_relocs field.
2635 * elf64-target.h (elf_backend_check_relocs): Define as 0 if not
2636 defined.
2637 (elf64_bed): Initialize check_relocs field.
2638 * elf32-i386.c (elf_howto_table): Change R_386_PLT32 and
2639 R_386_GOTPC to be pc_relative and pcrel_offset.
2640 (elf_i386_pic_plt0_entry): Define.
2641 (elf_i386_pic_plt_entry): Define.
2642 (elf_i386_create_dynamic_sections): Create a .got.plt section, and
2643 define _GLOBAL_OFFSET_TABLE_ at the start of it. If creating a
2644 shared library, make sure that _GLOBAL_OFFSET_TABLE_ is added as a
2645 dynamic symbol. Don't create .rel.bss if creating a shared
2646 library.
2647 (elf_i386_check_relocs): New function.
2648 (elf_i386_adjust_dynamic_symbol): Don't make a PLT entry if the
2649 symbol already has one. When making a PLT entry, set plt_offset.
2650 Don't create a copy reloc when creating a shared library. Don't
2651 set copy_offset, just set ELF_LINK_HASH_NEEDS_COPY.
2652 (elf_i386_allocate_dynamic_section): Remove.
2653 (elf_i386_size_dynamic_sections): Look through all the sections
2654 rather than assuming we know their names. Remove any empty reloc
2655 or plt sections. Only add a DT_DEBUG entry if not creating a
2656 shared library. Only add a DT_PLTGOT entry if there is a PLT.
2657 Add a DT_TEXTREL entry if required.
2658 (elf_i386_relocate_section): Permit undefined symbols when
2659 creating a shared library. Handle the special relocation types
2660 specially.
2661 (elf_i386_finish_dynamic_symbol): Create a PLT entry if plt_offset
2662 is set. If creating a shared library, produce a PIC PLT entry.
2663 Only mark a PLT symbol as undefined if it was not defined by a
2664 regular object file. Create a GOT entry if got_offset is set.
2665 Create a copy reloc if ELF_LINK_HASH_NEEDS_COPY is set.
2666 (elf_i386_finish_dynamic_sections): Change the handling of
2667 DT_RELSZ to simply subtract out the size of .rel.plt. If creating
2668 a shared library, produce PIC PLT code.
2669 (elf_backend_check_relocs): Define.
2670 * elf32-sparc.c (elf_sparc_howto_table): Change R_SPARC_GOT10,
2671 R_SPARC_GOT22, and R_SPARC_PC10 to not warn about reloc overflow.
2672 (elf32_sparc_create_dynamic_sections): If creating a shared
2673 library, make sure that _GLOBAL_OFFSET_TABLE_ is added as a
2674 dynamic symbol, and set the type to STT_OBJECT. Likewise for
2675 _PROCEDURE_LINKAGE_TABLE_. Don't create .rel.bss if creating a
2676 shared library.
2677 (elf32_sparc_check_relocs): New function.
2678 (elf32_sparc_adjust_dynamic_symbol): Don't make a PLT entry if the
2679 symbol already has one. When making a PLT entry, set plt_offset.
2680 Don't create a copy reloc when creating a shared library. Don't
2681 set copy_offset, just set ELF_LINK_HASH_NEEDS_COPY.
2682 (elf32_sparc_allocate_dynamic_section): Remove.
2683 (elf32_sparc_size_dynamic_sections): Look through all the sections
2684 rather than assuming we know their names. Only add a DT_DEBUG
2685 entry if not creating a shared library. Add a DT_TEXTREL entry if
2686 required.
2687 (elf32_sparc_relocate_section): Permit undefined symbols when
2688 creating a shared library. Handle the special relocation types
2689 specially.
2690 (elf32_sparc_finish_dynamic_symbol): Create a PLT entry if plt_offset
2691 is set. Only mark a PLT symbol as undefined if it was not defined
2692 by a regular object file. Create a GOT entry if got_offset is
2693 set. Create a copy reloc if ELF_LINK_HASH_NEEDS_COPY is set.
2694 (elf32_sparc_finish_dynamic_sections): Store dynobj in a local
2695 variable.
2696 (elf_backend_check_relocs): Define.
2697
caede515
SS
2698Mon Jul 25 12:21:07 1994 Stan Shebs (shebs@andros.cygnus.com)
2699
2700 * configure.in (pc532mach_vec): Change to pc532machaout_vec.
2701 * config.bfd (ns32k-*-netbsd*): Use ns32k-nbsd as bfd_name.
2702 * Makefile.in (ALL_MACHINES): Add cpu-ns32k.o.
2703 (BFD32_BACKENDS): Add aout-ns32k.o, netbsd532.o, m88kmach3.o,
2704 pc532-mach.o.
2705 * targets.c (pc532machaout_vec): Use instead of pc532mach_vec.
2706 * config/pc532-mach.mt (DEFAULT_VECTOR): Ditto.
2707 (SELECT_VECS): Remove.
2708 * config/ns32k-nbsd.mt: New file, was ns32k-netbsd.mt.
2709 * config/ns32k-netbsd.mt: Remove, name too long.
2710
2aaaab7c
ILT
2711Fri Jul 22 11:07:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2712
f2c2e75c
ILT
2713 * linker.c (generic_link_check_archive_element): When changing a
2714 symbol to common, set the alignment.
2715 (_bfd_generic_link_add_one_symbol): When creating a common symbol,
2716 set the alignment.
2717 * aoutx.h (aout_link_check_ar_symbols): When changing a symbol to
2718 common, set the alignment.
2719 (aout_link_add_symbols): Restrict the alignment of a common symbol
2720 to the alignment power given by the architecture.
2721 * libelf.h (struct elf_link_hash_entry): Remove align field. Add
2722 copy_offset field.
2723 * elfcode.h (elf_link_add_object_symbols): Store alignment in
2724 new bfd_link_hash_entry field, not in elf_link_hash_entry field.
2725 (elf_link_output_extsym): Similar change when getting alignment.
2726 * elf.c (_bfd_elf_link_hash_newfunc): Don't initialize align. Do
2727 initialize copy_offset.
2728 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use copy_offset
2729 field rather than align field. Get alignment using bfd_log2
2730 rather than switch.
2731 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
2732 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Use copy_offset,
2733 not align.
2734 * elf32-sparc.c (elf32_sparc_finish_dynamic_symbol): Likewise.
2735
2aaaab7c
ILT
2736 * aoutx.h (NAME(aout,some_aout_object_p)): Just check
2737 STAT_FOR_EXEC, don't check MACH.
2738 * m88kmach3.c (MACH): Don't define.
2739 * config/i386-mach3.mt (TDEFINES): Define STAT_FOR_EXEC.
2740 * config/m88k-mach3.mt (TDEFINES): Likewise.
2741 * config/mips-mach3.mt (TDEFINES): Likewise.
2742
bb99a732
SS
2743Thu Jul 21 17:24:31 1994 Stan Shebs (shebs@andros.cygnus.com)
2744
2745 * i386mach3.c: Reverted to version from before Jul 5 1994 changes.
2746
f42fe159
ILT
2747Thu Jul 21 12:26:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2748
2749 * reloc.c (struct reloc_howto_struct): Remove special_function1.
2750 It's the wrong way to do things.
2751 (HOWTO): Change accordingly.
2752 (HOWTO2): Remove.
2753 (_bfd_final_link_relocate): Remove references to
2754 special_function1.
2755 * bfd-in2.h: Rebuilt.
2756 * aoutx.h (aout_link_input_section_std): Remove references to
2757 special_function1.
2758 (aout_link_reloc_link_order): Likewise.
2759
2760Wed Jul 20 15:46:44 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2761
2762 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add rpath
2763 argument. If it is not NULL, use it to set DT_RPATH.
2764 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
2765 (bfd_elf64_size_dynamic_sections): Likewise.
2766 * bfd-in2.h: Rebuilt.
2767
ea617174
ILT
2768Sat Jul 16 21:10:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2769
f42fe159
ILT
2770 * elfcode.h (elf_get_dynamic_symtab_upper_bound): If there is no
2771 dynamic symtab, return error.
2772
bf73e4f3
ILT
2773 * libelf.h (ELF_LINK_HASH_DEFINED_WEAK): Define.
2774 * elfcode.h (elf_link_add_object_symbols): If symbol is defined as
2775 weak, set ELF_LINK_HASH_DEFINED_WEAK.
2776 (elf_link_output_extsym): If symbol is defined as weak, mark it
2777 STB_WEAK.
2778
ea617174
ILT
2779 * libelf.h (struct bfd_elf_section_data): Add relocs field.
2780 (shdr_name): Remove; unused.
2781 * elfcode.h (elf_slurp_reloc_table): Rewrote to handle both REL
2782 and RELA relocs. Free up the unswapped relocs. Permit the relocs
2783 to be cached in the section_data. Correct the reloc address.
2784 (elf_slurp_reloca_table): Remove.
2785 (elf_canonicalize_reloc): Rewrote.
2786 (elf_link_input_bfd): Permit the relocs to be cached in the
2787 section data.
2788
ef8b133d
SS
2789Sat Jul 16 13:55:38 1994 Stan Shebs (shebs@andros.cygnus.com)
2790
d9840ab7
SS
2791 * config.bfd (m88*-harris-cxux*): Recognize.
2792 * hosts/harris.h (POSIX_UTIME, HAVE_PROCFS): Define.
2793
ef8b133d
SS
2794 * configure.host (m68*-atari-sysv4*): New host.
2795 (m68*-cbm-sysv4*): Use m68kv4 instead of amix.
2796 * hosts/amix.h: Remove.
2797 * hosts/m68kv4.h: New file, was amix.h.
2798
1fb83be6
KR
2799Thu Jul 14 15:12:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2800
2801 * reloc.c (enum bfd_reloc_code_real, bfd_type, struct
2802 reloc_howto_struct, reloc_howto_type, HOWTO, HOWTO2): Copied
2803 changes over from bfd-in2.h so they get generated properly next
2804 time someone runs "make headers".
2805 * bfd-in2.h: Rebuilt.
2806
2807 * targets.c (netbsd532_vec, pc532mach_vec): Declare const.
2808 (m88kmach3_vec): Restore deleted declaration.
2809
2810 * configure.in: Alphabetize target vector names.
2811
2812 * config/pc532mach.mh: New file.
2813 (HDEPFILES, HDEFINES): Define here.
2814 * config/pc532-mach.mt (HDEPFILES, HDEFINES): Deleted.
2815 * config/ns32k-netbsd.mt (HDEPFILES, HDEFINES): Deleted.
2816
2817 Sun Jul 10 00:04:20 1994 Ian Dall (dall@hfrd.dsto.gov.au)
2818
2819 * pc532-mach.c: New File. pc532-mach a.out format.
2820
2821 * netbsd532.c: New file. pc532-netbsd532 a.out format.
2822
2823 * hosts/pc532mach.h: New file. pc532-mach host support.
2824
2825 * cpu-ns32k.c: New file. ns32k support cpu specific code rather
2826 than format specific code.
2827
2828 * config/pc532-mach.mt: New file. Support for pc532-mach target.
2829
2830 * config/ns32k-netbsd.mt: New file. Support for netbsd532 target.
2831
2832 * aout-ns32k.c, aout-ns32k.h: New files supporting aout format for
2833 ns32k series.
2834
2835 * targets.c: Add netbsd532_vec and pc532machaout_vec into
2836 bfd_target_vector array. Move netbsd386_vec to alphabetic order
2837 location.
2838
2839 * reloc.c (_bfd_final_link_relocate) Add support for
2840 special_function1 in howto.
2841
2842 * libaout.h: add M_NS32032, M_NS32532, M_532_NETBSD entries in
2843 machine_type enum.
2844
2845 * configure.in: add pc532mach_vec and netbsd532_vec entries.
2846
2847 * config.bfd: add pc532mach host entries. Use for both
2848 ns32k-pc532-mach and ns32k-pc532-netbsd.
2849
2850 * config.bfd: it doesn't work to use i386-mach3 for ns32k*-*-mach.
2851 add ns32k-pc532-mach* and ns32k-*-netbsd* entries.
2852
2853 * bfd-in2.h: Add ns32k specific relocations to bfd_reloc_code_real
2854 enum.
2855
2856 * bfd-in2.h: Add special_function1 to struct howto. Change HOWTO
2857 and NEWHOWTO macros to make special_function1 NULL. Neww HOWTO2
2858 macro.
2859
2860 * bfd-in2.h: Split definition of struct reloc_howto_struct
2861 and corresponding typedef into two statements.
2862
2863 * bfd-in2.h: Add entry bfd_arch_ns32k to bfd_architecture enum.
2864
2865 * archures.c: Add bfd_ns32k_arch prototype, and entry in
2866 archures_init_table.
2867
2868 * aoutx.h (aout_link_reloc_link_order): Allow for target dependent
2869 MY_put_reloc macro. Allow for target dependent special_function1
2870 to apply the relocation.
2871
2872 * aoutx.h (aout_link_input_section_std): Allow for target
2873 dependent determination of reloc howto. Allow for target dependent
2874 special_function1 to apply the relocation.
2875
2876 * aoutx.h (get_reloc_upper_bound): Detect bss and return 0.
2877
2878 * aoutx.h (slurp_reloc_table): Detect bss and succesfully read
2879 zero reloc entries.
2880
2881 * aoutx.h (machine_type): Add bfd_arch_ns32k case.
2882
2883 * aoutx.h: Stat to determine executable status if STAT_FOR_EXEC
2884 is defined (not just MACH). Use fstat instead of stat and check
2885 for fstat error.
2886
2887 * aoutx.h: Allow target dependent swap_std_reloc_{in,out}.
2888
2889 * aoutx.h: Allow CTORS reloc info to be in target dependent reloc
2890 table.
2891
2892 * aout-target.h: Apply SWAP_MAGIC (if defined) after
2893 swap_exec_header_in, otherwise we have magic in the wrong order.
2894
a307efdf
SS
2895Thu Jul 14 11:47:27 1994 Stan Shebs (shebs@andros.cygnus.com)
2896
2897 * coff-sparc.c (sparccoff_vec): Have leading underscores.
2898
57a814a9
PS
2899Tue Jul 12 12:08:10 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2900
2901 * aix386-core.c, aoutf1.h, cisco-core.c, elfcode.h, hppabsd-core.c,
2902 hpux-core.c, irix-core.c, lynx-core.c, osf-core.c, ptrace-core.c,
2903 rs6000-core.c, trad-core.c: Remove SEC_ALLOC flag from .reg
2904 sections, .reg sections are not allocated and contain debug
2905 information only.
2906 * osf-core.c (make_bfd_asection, osf_core_core_file_p): Use
2907 bfd_make_section_anyway instead of building unique section names.
2908
42ec46c3
ILT
2909Tue Jul 12 11:41:22 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2910
840846da
ILT
2911 * libelf.h (bfd_elf32_swap_symbol_in): Declare.
2912 (bfd_elf32_swap_symbol_out): Declare.
2913 (bfd_elf64_swap_symbol_in, bfd_elf64_swap_symbol_out): Declare.
2914 * elf32-hppa.c (elf32_hppa_args_hash_table_init): Correct cast.
2915
42ec46c3
ILT
2916 * aout-encap.c (ARCH): Don't define. Obsolete.
2917 * aout0.c, aoutx.h, gen-aout.c, hp300bsd.c, hp300hpux.c: Likewise.
2918 * i386aout.c, i386bsd.c, i386dynix.c, i386linux.c: Likewise.
2919 * i386lynx.c, m68klynx.c, mipsbsd.c, netbsd386.c: Likewise.
2920 * newsos3.c, sparclynx.c, sunos.c: Likewise.
2921
18938e4d
ILT
2922Mon Jul 11 20:08:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2923
2924 * section.c (STD_SECTION): Make the sixth argument boolean, not
2925 the seventh. From gary@tuva.pacsemi.oz.au (gary kopff).
2926
4852416e
DHW
2927Sun Jul 10 09:12:02 1994 D. V. Henkel-Wallace (gumby@cygnus.com)
2928
2929 * aoutx.h (bfd_free_cached_info): Change name of FREE to BFCI_FREE
2930 in order not to collide with LynxOS's definition of FREE in
2931 /usr/include/sys/proc.h
2932
2933Thu Jul 7 14:18:06 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2934
2935 * reloc.c (bfd_perform_relocation): Don't clobber the relocation
2936 value for coff-Intel-little or coff-Intel-big. Hack upon hack.
2937
fd4913f1
PS
2938Thu Jul 7 10:10:34 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2939
2940 * aoutx.h (howto_table_std): Add entry for GOT relocations
2941 which are present in sun3 shared libraries, to avoid assertions
2942 when reading the dynamic relocations.
2943
48530c25
JL
2944Thu Jul 7 10:19:20 1994 Jeff Law (law@snake.cs.utah.edu)
2945
2946 * som.h (R_HPPA_COMPLEX): Fix dumb typo.
2947
874a4327
ILT
2948Wed Jul 6 19:21:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2949
2950 * hosts/sysv4.h (qsort, strtol): Don't declare.
2951
2952 * elfcode.h (elf_link_output_sym): Don't call output_symbol_hook
2953 if it is NULL.
2954
2955 * elf32-mips.c (mips_elf_final_write_processing): Add ignored info
2956 argument to correspond to recent libelf.h change.
2957
5fb54939
PS
2958Wed Jul 6 00:48:57 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2959
2960 * coff-alpha.c (alpha_ecoff_mkobject_hook): New hook to
2961 additionally copy object type information from the alpha file
2962 header to the BFD flags.
2963 (alpha_ecoff_backend_data): Use it.
2964 (ecoffalpha_little_vec): Add DYNAMIC to object_flags.
2965 * aout64.c: Fix typo in conditional QMAGIC definition.
2966
2c0f3abc
JL
2967Wed Jul 6 00:13:17 1994 Jeff Law (law@snake.cs.utah.edu)
2968
2969 * hppabsd-core.c (hppabsd_core_core_file_p): Sanity check the
2970 value of clicksz to help weed out non HPPA BSD core files.
2971
11676adc
SS
2972Tue Jul 5 13:26:02 1994 Stan Shebs (shebs@andros.cygnus.com)
2973
2974 Mach 3 support.
2975 * config.bfd (m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*):
2976 New targets.
2977 * configure.host (i[34]86-*-mach3*, ns32k-*-mach3*): Recognize
2978 "mach3" instead of "mach".
2979 (m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*): New hosts.
2980 * targets.c (m88kmach3_vec): New target vector.
2981 (bfd_target_vector): Add i386mach3_vec and m88kmach3_vec, but
2982 inside #if 0.
2983 * aoutx.h (some_aout_object_p) [MACH]: Recognize executables by
2984 checking for execute permission, instead of looking at entry
2985 point.
2986 * i386mach3.c: Update, define MACH, N_TXTOFF, N_TXTADDR,
2987 N_SHARED_LIB, don't include aout/*.h files, etc.
2988 * m88kmach3.c: New file, m88k Mach 3 target.
2989 * config/m88k-mach3.mt, config/mips-mach3.mt: New files, target
2990 makefile fragments.
2991 * config/i386mach3.mh, config/m88kmach3.mh, config/mipsmach3.mh:
2992 New files, host makefile fragments.
2993 * hosts/m88kmach3.h, hosts/mipsmach3.h: New files, host definitions.
2994
71edd06d
ILT
2995Tue Jul 5 13:56:52 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2996
2997 * elfcode.h (swap_out_syms): Get alignment of common symbol from
2998 st_value field of saved ELF symbol information, if there is any.
2999
edf7c1e4
JL
3000Mon Jul 4 19:13:32 1994 Jeff Law (law@snake.cs.utah.edu)
3001
3002 * som.h (R_HPPA_COMPLEX): Define.
3003 * elf32-hppa.h (R_HPPA_COMPLEX): Define.
3004 (elf32_hppa_reloc_type): Delete R_PARISC_STUB_CALL_17.
3005
3006Fri Jul 1 12:07:41 1994 Jeff Law (law@snake.cs.utah.edu)
3007
3008 * Support code for enabling the new style linker for PA ELF.
3009 * elfcode.h (swap_symbol_in, swap_symbol_out): Externalize.
3010 (elf_compute_section_file_positions): Pass link_info to
3011 the begin_write_processing hook.
3012 (bfd_elf_write_object_contents): Pass NULL for new link_info
3013 argument to final_write_processing hook.
3014 (elf_link_output_sym): Accept new "input_section" argument for
3015 the symbols's input section. All callers changed. Call the
3016 link_output_symbol_hook if it's defined.
3017 (elf_bfd_final_link): Call the final_write_processing hook if
3018 it's defined.
3019 * libelf.h (elf_backend_link_output_symbol_hook): Declare.
3020 (elf_backend_begin_write_processing): Add new "info" argument.
3021 (elf_backend_final_write_processing): Likewise.
3022 * elf32-target.h (elf_backend_link_output_symbol_hook): Provide
3023 a default definition.
3024 (elf32_bed): Add elf_backend_link_output_symbol_hook.
3025 * elf64-target.h: Likewise.
3026
3027 * Major rework of the PA ELF code. Uses the new style BFD
3028 linker, major cleanups.
3029 * hppa_stubs.h: Rewrite from scratch. Much smaller and simpler.
3030 * elf32-hppa.h: Delete all symbol extension related code.
3031 (hppa_look_for_stubs_in_section): Delete decl.
3032 (elf32_hppa_size_stubs, elf32_hppa_build_stubs): New decls.
3033 * elf32-hppa.c: Symbol extension stuff moved form elf32-hppa.h
3034 into elf32-hppa.c. Do not include aout64.h.
3035 (typdef hppa_stub_type): Delete.
3036 (elf32_hppa_stub_name_list_struct): Delete.
3037 (elf32_hppa_stub_description_struct): Delete.
3038 (arg_reloc_type): Use simpler enumerations. All references changed.
3039 (arg_location, arg_reloc_relocation): Likewise.
3040 (elf32_hppa_symextn_map_struct): Delete.
3041 (get_symbol_value): Delete.
3042 (elf32_hppa_get_sym_extn): Delete.
3043 (find_stubs, new_stubs, type_of_mismatch): Delete.
3044 (find_stub_by_name, add_stub_by_name): Delete.
3045 (hppa_elf_stub_finish, hppa_elf_stub_reloc): Delete.
3046 (hppa_elf_arg_reloc_needed): Renamed. Simplify.
3047 (hppa_elf_build_linker_stub, hppa_elf_create_stub_sec): Delete.
3048 (hppa_elf_long_branch_needed_p): Delete.
3049 (hppa_look_for_stubs_in_section): Delete.
3050 (hppa_elf_get_section_contents): Delete.
3051 (elf32_hppa_backend_symbol_processing): Delete.
3052 (elf32_hppa_backend_section_processing): Delete.
3053 (elf32_hppa_backend_section_from_shdr): Delete.
3054 (elf32_hppa_backend_fake_sections): Delete.
3055 (elf32_hppa_backend_section_from_bfd_section): Delete.
3056 (NEW_INSTRUCTION): Delete.
3057 (CURRENT_STUB_OFFSET): Delete.
3058 (elf32_hppa_relocate_section): New function.
3059 (elf32_hppa_bfd_final_link_relocate): New function.
3060 (elf32_hppa_size_symext): New function.
3061 (elf32_hppa_link_output_symbol_hook): New function.
3062 (elf32_hppa_read_symext_info): New function.
3063 (elf32_hppa_add_symbol_hook): New function.
3064 (elf32_hppa_name_of_stub): New function.
3065 (elf32_hppa_size_of_stub): New function.
3066 (elf32_hppa_build_one_sub): New function.
3067 (elf32_hppa_build_stubs): New function.
3068 (elf32_hppa_size_stubs): New function.
3069 (linker, stub and argument hash tables): Add appropriate
3070 structures, definitions and functions to implement all three
3071 hash tables.
3072 (hppa_elf_relocate_insn): Don't need argument location information
3073 in this function.
3074 (add_entry_to_symext_chain): Accept a symbol's argument location
3075 information rather than the symbol itself. All callers changed.
3076 (hppa_elf_gen_reloc_type): Simplify.
3077 (hppa_elf_set_section_contents): Stub section is no longer special.
3078 (hppa_elf_reloc): Greatly simplify.
3079 (elf32_hppa_begin_write_processing): Accept link_info argument.
3080 Handle being called from the BFD backend linker.
3081 (elf32_hppa_final_write_processing): Likewise.
3082 (elf_hppa_tc_make_sections): No longer call stub_finish.
3083
eeaed195
SC
3084Mon Jun 27 18:07:06 1994 Steve Chamberlain (sac@cirdan.cygnus.com)
3085
3086 * section.c (bfd_get_section_contents): Put in parens to get
3087 precedence right.
3088
3089Sun Jun 26 18:08:29 1994 Jeff Law (law@snake.cs.utah.edu)
3090
3091 * libelf.h (relocate_section): New argument "output_names" added
3092 to prototype.
3093 * elfcode.h (elf_link_input_bfd): New argument "output_names"
3094 added to prototype of relocate_section. Pass the output symbol
3095 names to relocate_section.
3096 * elf32-i386.c (elf_i386_relocate_section): Use "output_names" to
3097 determine the name of a local symbol.
3098 * elf32-mips.c (mips_elf_relocate_section): Likewise.
3099 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
3100
5e16521a
PS
3101Fri Jun 24 08:15:42 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3102
3103 Add Solaris BCP (the part of Solaris which allows it to run
3104 SunOS4 a.out files) core file handling.
3105 * aoutf1.h (external_solaris_bcp_core, swapcore_solaris_bcp):
3106 New structure and its swap in function.
3107 (internal_sunos_core): New member c_data_addr, to receive the
3108 start address of the data section in the core file.
3109 (swapcore_sun3, swapcore_sparc, sunos4_core_file_p): Use it.
3110 (sunos4_core_file_p): Recognize Solaris BCP core file.
3111 (sunos4_core_file_matches_executable_p): Always indicate match
3112 for Solaris BCP core files.
3113
51fc377b
ILT
3114Thu Jun 23 15:31:28 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3115
8af74670
ILT
3116 Preliminary support for generating shared libraries, from Eric
3117 Youngdale <ericy@cais.cais.com>.
3118 * elfcode.h (prep_headers): If DYNAMIC, set e_type to ET_DYN.
3119 (elf_link_add_object_symbols): If generating a shared library,
3120 create dynamic sections for first input BFD with the right format.
3121 (elf_link_create_dynamic_sections): Don't create .interp section
3122 if creating a shared library.
3123 (elf_link_input_bfd): Skip dynamic sections in input file.
3124 (elf_bfd_final_link): If creating a shared library, it's OK for
3125 dynobj to have sections which are not SEC_IN_MEMORY.
3126 * elf32-i386.c (elf_i386_size_dynamic_sections): Only set .interp
3127 section if not creating a shared library.
3128 * elf32-sparc.c (elf_sparc_size_dynamic_sections): Likewise.
3129
51fc377b
ILT
3130 * elfcode.h (elf_object_p): Don't set DYNAMIC just because there
3131 is an SHT_DYNAMIC section.
3132
3133 * cf-i386lynx.c (i386coff_vec): Don't include DYNAMIC in
3134 object_flags.
3135 * coff-sparc.c (sparccoff_vec): Likewise.
3136 * hppabsd-core.c (hppabsd_core_vec): Likewise.
3137
3138 * aoutx.h (NAME(aout,some_aout_object_p)): Don't set SEC_RELOC
3139 just because DYNAMIC is set.
3140
1f8b3b57
DM
3141Thu Jun 23 12:53:41 1994 David J. Mackenzie (djm@rtl.cygnus.com)
3142
3143 * configure.in: Change --with-targets to --enable-targets and
3144 --with-64-bit-bfd to --enable-64-bit-bfd.
3145 * Makefile.in, mpw-make.in, targets.c: Change comments.
3146
3bf36e67
KR
3147Wed Jun 22 17:59:59 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3148
3149 * config.bfd (powerpc-*-elf*): New target, just like
3150 powerpc-*-sysv4*.
3151
2e66a627
KR
3152 * linker.c (FAIL): Undefine macro before defining as enum.
3153
4587b578
ILT
3154Wed Jun 22 10:52:47 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3155
135a6815
ILT
3156 * linker.c (_bfd_generic_link_add_archive_symbols): Initialize
3157 pass from abfd->archive_pass, and save it there as well.
3158
a537cb21
ILT
3159 * hash.c (bfd_hash_allocate): Don't call bfd_set_error if
3160 obstack_alloc returns NULL unless the size is non-zero.
3161
3162 * linker.c (archive_hash_allocate): Define.
3163 (_bfd_generic_link_add_archive_symbols): Use archive_hash_allocate
3164 rather than obstack_alloc, for clarity.
3165
66f2c66f
ILT
3166 * elfcode.h (elf_get_reloc_upper_bound): Correct.
3167
d81843e8
ILT
3168 * aout64.c (BMAGIC, QMAGIC): Define if not already defined. From
3169 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>.
3170
0630aba5
ILT
3171 Linux ZMAGIC support from Eric Youngdale <ericy@cais.cais.com>.
3172 * libaout.h (struct aoutdata): Add field zmagic_disk_block_size.
3173 * aout-target.h (MY(callback)): Only set alignment according to
3174 architecture if the section sizes are aligned to that alignment,
3175 for backward compatibility.
3176 (MY(set_sizes)): Initialize zmagic_disk_block_size field.
3177 * aoutx.h (adjust_z_magic): Set ztih if using q_magic_format. Set
3178 text section filepos to zmagic_disk_block_size if not ztih. Use a
3179 different padding algorithm if not ztih.
3180 * i386linux.c (MY_text_includes_header): Don't define.
3181
4587b578
ILT
3182 * aoutx.h (aout_link_check_ar_symbols): Just skip N_STAB and N_FN
3183 symbols; don't look them up in the hash table. From
3184 ralphc@pyramid.com (Ralph Campbell).
3185
badd23e3
ILT
3186Tue Jun 21 11:47:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3187
4587b578
ILT
3188 * coff-go32.c (go32coff_archive_p): Remove unused function.
3189
badd23e3
ILT
3190 * section.c (bfd_abs_section): Make const.
3191 (bfd_abs_section_ptr, bfd_is_abs_section): Define.
3192 (bfd_und_section): Make const.
3193 (bfd_und_section_ptr, bfd_is_und_section): Define.
3194 (bfd_com_section): Make const.
3195 (bfd_com_section_ptr): Define.
3196 (bfd_ind_section): Make const.
3197 (bfd_ind_section_ptr, bfd_is_ind_section): Define.
3198 (bfd_abs_symbol, bfd_com_symbol): Make const.
3199 (bfd_und_symbol, bfd_ind_symbol): Likewise.
3200 (global_syms): Cast initialization of section field.
3201 (STD_SECTION): Define as const, and cast initializations.
3202 * bfd-in2.h: Rebuilt.
3203 * Many files: Change uses of bfd_abs_section, etc., to use
3204 bfd_abs_section_ptr or bfd_is_abs_section, etc.
3205
263a3f17
ILT
3206Mon Jun 20 11:06:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
3207
2f3508ad
ILT
3208 * Many files: change all bfd_target vectors to be const. Change
3209 all uses of bfd_target * to be const bfd_target *. Change
3210 bfd_target_vector and bfd_default_vector arrays to be const
3211 bfd_target * const *.
3212
75f3ef7a
ILT
3213 * ecoff.c, libecoff.h, ecoffswap.h, coff-alpha.c, coff-mips.c,
3214 elf32-mips.c: Renamed all externally visible ECOFF routines which
3215 are local to BFD to start with _bfd_ecoff instead of just ecoff.
3216
aac6b32f
ILT
3217 * ecoff.c (ecoff_swap_tir_in): Change input argument to const.
3218 (ecoff_swap_tir_out): Likewise.
3219 (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
3220 (ecoff_slurp_symbolic_info): Add new arguments to correspond to
3221 read_debug_info entry point in ecoff_debug_swap structure.
3222 Change all calls.
3223 * libecoff.h (ecoff_slurp_symbolic_info): Change declaration.
3224 * ecoffswap.h (ecoff_swap_tir_in, ecoff_swap_tir_out): Declare.
3225 (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Declare.
3226 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new
3227 ecoff_debug_swap fields.
3228 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3229 * elf32-mips.c (mips_elf_read_ecoff_info): Undefine READ.
3230 (mips_elf_ecoff_debug_swap): Initialize new ecoff_debug_swap
3231 fields.
3232 * configure.in (bfd_elf32_bigmips_vec): Use ecoff.o and
3233 ecofflink.o.
3234 (bfd_elf32_littlemips_vec): Likewise.
3235 (ecoff_big_vec, ecoff_little_vec): Likewise.
3236 (ecoffalpha_little_vec): Likewise.
3237 * Makefile.in (BFD_LIBS): Remove ecoff.o and ecofflink.o.
3238 (BFD32_BACKENDS): Add ecoff.o and ecofflink.o.
3239
6c8fa8e6
ILT
3240 * aoutx.h (NAME(aout,final_link)): Check flavour of sub, not abfd,
3241 when computing reloc sizes. From Eric Youngdale
3242 <ericy@cais.cais.com>.
3243 * elfcode.h (elf_bfd_final_link): Don't try to compute maximum
3244 reloc count or size for a non-ELF file.
3245
6fea0659
ILT
3246 * mipsbsd.c (MY_final_link_callback): Define to avoid warning.
3247
263a3f17
ILT
3248 * hp300hpux.c (MY_final_link_callback): Define to avoid warning.
3249 (BMAGIC, QMAGIC): Define; used by aoutx.h.
3250 (MY(slurp_symbol_table)): Change translate_from_native_sym_flags
3251 calls to use new parameters.
3252
785e2b52
ILT
3253Fri Jun 17 14:45:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3254
3255 * aout-target.h (MY(callback)): Set the alignments of the text,
3256 data and bss sections after determining the architecture.
3257
3258 * sunos.c (sunos_add_one_symbol): Treat a common symbol from a
3259 dynamic object as being in the .bss section of the object, rather
3260 than as being undefined.
3261
83b69190
JL
3262Fri Jun 17 11:16:50 1994 Jeff Law (law@snake.cs.utah.edu)
3263
9fefc1be
JL
3264 * libhppa.h (bfd_hppa_insn2fmt, hppa_rebuild_insn): Make INLINE.
3265
83b69190
JL
3266 * elf32-hppa.h (elf_hppa_final_processing): Delete decl.
3267
c46b8ed7
JL
3268Thu Jun 16 23:36:23 1994 Jeff Law (law@snake.cs.utah.edu)
3269
3270 * elfcode.h (elf_link_input_bfd): Don't try to read local symbols
3271 if there aren't any in the input file.
3272
04003b57
ILT
3273Thu Jun 16 14:25:22 1994 Eric Youngdale (ericy@cais.cais.com)
3274
3275 * i386linux.c: Many new functions and definitions for linker
3276 support for Linux shared libraries.
3277 * bfd-in.h (bfd_linux_size_dynamic_sections): Declare.
3278 * bfd-in2.h: Rebuild.
3279
3280Thu Jun 16 14:23:46 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3281
e3400040
ILT
3282 * config.bfd: If second argument is ``_'', then, instead of
3283 echoing config file name, echo whether target uses leading
3284 underscores on symbol names. Add appropriate settings to
3285 different cases. Used by binutils/configure.in to set default for
3286 c++filt.
3287
0ff5d3a6
ILT
3288 * elfcode.h (elf_bfd_final_link): If trying to generate a shared
3289 object, warn and return false.
3290
04003b57
ILT
3291 * aoutx.h (NAME(aout,some_aout_object_p)): Accept BMAGIC objects
3292 and treat them as OMAGIC.
3293
485dc654
KR
3294Wed Jun 15 18:02:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3295
3296 Enable sparc v9 support for release. Note that this is still a
3297 work in progress, pending release of an ABI specification.
3298 * config.bfd, configure.in: Include sparc v9 elf config.
3299 * elfcode.h (prep_headers): Handle sparc v9 (64 bit).
3300 * reloc.c (bfd_reloc_code_real): New reloc types.
3301 * elf64-sparc.c: Implement elf64-sparc target.
3302 * Makefile.in, targets.c: Updated.
3303
d17fc4c9
ILT
3304Wed Jun 15 01:34:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3305
c1f84521
ILT
3306 * libelf.h (struct elf_obj_tdata): New field dt_needed_name.
3307 (elf_dt_needed_name): New accessor macro.
3308 * elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
3309 is set, use that instead of the filename for the DT_NEEDED dynamic
3310 entry.
3311 * elf.c (bfd_elf_set_dt_needed_name): New function.
3312 * bfd-in.h (bfd_elf_set_dt_needed_name): Declare.
3313 * bfd-in2.h: Rebuilt.
3314
7c726b66
ILT
3315 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add sinterpptr
3316 argument, and set it to the .interp section.
3317 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
3318 (bfd_elf64_size_dynamic_sections): Likewise.
3319 * bfd-in2.h: Rebuilt.
3320
f1d42c04
ILT
3321 * coff-sparc.c (SWAP_OUT_RELOC_EXTRA): Define to clear the r_spare
3322 field of the reloc rather than letting it be garbage.
3323
aeef32f0
ILT
3324 * archive.c (bfd_slurp_armap): Recognize __.SYMDEF/ as well as
3325 __.SYMDEF; the former was used in old Linux archives. From
3326 jrs@world.std.com (Rick Sladkey).
3327
f7d2fa44
ILT
3328 * i386linux.c (i386linux_write_object_contents): Define; like
3329 MY(write_object_contents) in aout-target.h, but set MACHTYPE to
3330 M_386. From jrs@world.std.com (Rick Sladkey).
3331 (MY_write_object_contents): Define.
3332
2cd086e3
ILT
3333 * aoutx.h (translate_from_native_sym_flags): Treat N_SETV symbols
3334 as N_DATA symbols.
3335 (aout_link_add_symbols): Likewise.
3336
d17fc4c9
ILT
3337 * aoutx.h: Rewrite symbol duplicate elimination to use BFD hash
3338 tables.
3339 (struct stringtab_entry, struct stringtab_data): Remove.
3340 (HASHMAXLEN, HASH_CHAR, hash, compare, log2, emit_strtab): Remove.
3341 (struct strtab_hash_entry, struct strtab_hash): Define.
3342 (strtab_hash_newfunc, strtab_hash_lookup): Define.
3343 (stringtab_free, emit_stringtab): Define.
3344 (stringtab_init, add_to_stringtab): Rewrite.
3345 (NAME(aout,write_syms)): Use new stringtab code.
3346 (struct aout_final_link_info, NAME(aout,final_link)): Likewise.
3347 (aout_link_write_symbols, aout_link_write_other_symbol): Likewise.
3348
3349 * bfd-in.h (BFD_TRADITIONAL_FORMAT): Define new BFD flag to
3350 request BFD to write object in the traditional format, whatever
3351 that means for the particular backend.
3352 * bfd-in2.h: Rebuilt.
3353
3354 * hash.c (bfd_hash_allocate): If obstack_alloc fails, set
3355 bfd_error_no_memory.
3356
ac9ed096
ILT
3357Tue Jun 14 13:00:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3358
f5419a59
ILT
3359 * libaout.h (struct aoutdata): Add q_magic_format to subformat
3360 enum.
3361 * aout-target.h (MY_bfd_copy_private_bfd_data): Define as function
3362 if not already defined. Copy subformat information.
3363 (MY_text_includes_header): Define as 0 if not already defined.
3364 (MY(backend_data)): Use MY_text_includes_header rather than 0.
3365 (MY_final_link_callback): Rename from final_link_callback, and
3366 define only if MY_final_link_callback is not already defined.
3367 (MY_bfd_final_link): Rename use of final_link_callback to
3368 MY_final_link_callback.
3369 * aoutx.h (NAME(aout,some_aout_object_p)): Handle QMAGIC like
3370 ZMAGIC, but set the subformat to q_magic_format. Abort if the
3371 magic number if not recognized.
3372 (adjust_z_magic): Use QMAGIC if q_magic_format.
3373 * i386linux.c (MY_text_includes_header): Define as 1.
3374 (i386linux_bfd_final_link): New static function.
3375 (MY_bfd_final_link): Define as i386linux_bfd_final_link.
3376
3377 * aoutx.h (translate_to_native_sym_flags): Check both section and
3378 output_section against sections of abfd.
3379
ac9ed096
ILT
3380 * libecoff.h (struct ecoff_link_hash_entry): Change type of
3381 written from boolean to char. Add new field small.
3382 * ecoff.c (ecoff_link_hash_newfunc): Initialize written to 0
3383 rather than false. Initialize small to 0.
3384 (ecoff_link_add_externals): If ECOFF type is scSUndefined, set
3385 small. If small is set, and hash table type is common, force the
3386 symbol into a section named SCOMMON and change the ECOFF type from
3387 scCommon to scSCommon.
3388 (ecoff_link_write_external): Set written to 1 rather than true.
3389 * coff-mips.c (mips_relocate_section): Correct JMPADDR reloc
3390 overflow check to consider section VMA of input file.
3391
9ae74960
ILT
3392Mon Jun 13 14:20:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3393
3394 * aoutf1.h (aout_32_sunos4_write_object_contents): Handle a
3395 machine type of 68000.
3396 * aoutx.h (NAME(aout,machine_type)): Add new argument unknown.
3397 Set *unknown to true if machine type is really unknown, as opposed
3398 to M_UNKNOWN for the 68000.
3399 (NAME(aout,set_arch_mach)): Change NAME(aout,machine_type) call
3400 accordingly.
3401 * libaout.h (NAME(aout,machine_type)): Add new argument to
3402 prototype.
3403
8117e1ea
JL
3404Sun Jun 12 20:21:03 1994 Jeff Law (law@snake.cs.utah.edu)
3405
3406 * som.c (EXEC_AUX_ID): Define based on availablity of HPUX_AUX_ID
3407 or HIUX_AUX_ID.
3408 (som_begin_writing): Use EXEC_AUX_ID instead of HPUX_AUX_ID.
3409 (som_write_armap): Use CPU_PA_RISC1_0 as the magic number. Note
3410 som.c is careful to always define CPU_PA_RISC1_0.
3411
4298e311
ILT
3412Sat Jun 11 16:32:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3413
3414 Add weak symbols as an extension to a.out.
3415 * aoutx.h (sym_in_text_section): Don't define.
3416 (sym_in_data_section, sym_in_bss_section): Likewise.
3417 (sym_is_undefined, sym_is_global_defn): Likewise.
3418 (sym_is_debugger_info, sym_is_fortrancommon): Likewise.
3419 (sym_is_absolute, sym_is_indirect): Likewise.
3420 (translate_from_native_sym_flags): Rewrite for clarity. Rearrange
3421 arguments and change caller. Handle weak symbols.
3422 (translate_to_native_sym_flags): Likewise.
3423 (aout_link_check_ar_symbols): Don't ignore weak symbols. Pull
3424 object in from archive if a weak defintion is found for an
3425 existing undefined symbol.
3426 (aout_link_add_symbols): Put all cases in switch. Set flags of an
3427 undefined symbol to 0. Handle weak symbols.
3428 (aout_link_write_symbols): Handle weak symbols.
3429 (aout_link_write_other_symbol): Likewise.
3430 (aout_link_input_section_std): Likewise.
3431 (aout_link_input_section_ext): Likewise.
3432 * sunos.c (sunos_write_dynamic_symbol): Likewise.
3433
22aabad5
ILT
3434Fri Jun 10 13:25:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3435
4f019d04
ILT
3436 * aoutx.h (NAME(aout,canonicalize_reloc)): Handle .bss section.
3437 (NAME(aout,get_reloc_upper_bound)): Likewise.
3438
22aabad5
ILT
3439 * coff-i960.c (coff_i960_reloc_type_lookup): Add BFD_RELOC_CTOR.
3440 * linker.c (_bfd_generic_link_write_global_symbol): Don't assume
3441 the section of a common symbol is not NULL.
3442
3443Wed Jun 8 23:15:53 1994 Stu Grossman (grossman@cygnus.com)
3444
3445 * nlmcode.h (nlm_object_p): Set EXEC_P and start address for GDB.
3446
1b88cd18
ILT
3447Wed Jun 8 23:57:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3448
3449 * aoutx.h (aout_get_external_symbols): Don't try to read the
3450 strings if there are no symbols.
3451 (aout_link_write_other_symbol): Use the output section when
3452 working out the type.
3453
d38eee51
ILT
3454Tue Jun 7 13:25:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3455
b9ac0a53
ILT
3456 * elfcode.h (assign_section_numbers): Put shstrtab, symtab and
3457 strtab sections at end of file. Avoids bug in some versions of
3458 SVR4 strip. From Eric Youngdale <eric@tantalus.nrl.navy.mil>.
3459
d38eee51
ILT
3460 * coffcode.h (styp_to_sec_flags): If COFF_PAGE_SIZE is defined,
3461 set SEC_DEBUGGING for STYP_INFO sections.
3462 (coff_compute_section_file_positions): If COFF_PAGE_SIZE is
3463 defined, and D_PAGED is set, set the file position equal to the
3464 section VMA modulo COFF_PAGE_SIZE.
3465 * coffgen.c (coff_real_object_p): If F_EXEC is set, set D_PAGED.
3466 * coff-i386.c: Set D_PAGED in BFD target.
3467 (COFF_PAGE_SIZE): Define.
3468 * coff-m68k.c, coff-sparc.c: Likewise.
3469
d8d67d66
ILT
3470Mon Jun 6 10:57:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3471
e6667b2b
ILT
3472 * elfcode.h (bfd_section_from_shdr): Don't turn a reloc section
3473 into a BFD section just because SHF_ALLOC is set; require that it
3474 not use the normal symbol table.
3475 (elf_section_from_bfd_section): Corresponding change.
3476
118e8d1c
ILT
3477 Better indirect and warning symbol handling inspired by Stuart
3478 Quick <stuck@cs.man.ac.uk>.
3479 * linker.c (enum link_action): Add REF, MIND, CWARN, REFC.
3480 (link_action): Change UNDEF_ROW/def and UNDEFW_ROW/def from NOACT
3481 to REF. Change UNDEF_ROW/indr and UNDEFW_ROW/indr from CYCLE to
3482 REFC. Change DEF_ROW/indr and COMMON_ROW/indr from CYCLE to MDEF.
3483 Change DEFW_ROW/indr from CYCLE to NOACT. Change INDR_ROW/indr
3484 from MDEF to MIND. Change INDR_ROW/warn from WARNC to CYCLE.
3485 Change WARN_ROW/def and WARN_ROW/indr from MWARN to CWARN. Change
3486 WARN_ROW/com from MWARN to WARN. Change WARN_ROW/warn from NOACT
3487 to CYCLE. Change SET_ROW/warn from WARNC to CYCLE>
3488 (_bfd_generic_link_add_one_symbol): Handle REF, MIND, CWARN and
3489 REFC. If a new indirect symbol has been referenced, push the
3490 reference down to the symbol it points to. FIx handling of WARN.
3491 * aoutx.h (translate_from_native_sym_flags): If N_WARNING, don't
3492 clobber e_type of next symbol.
3493 (translate_to_native_sym_flags): Likewise.
3494 (aout_link_write_symbols): Loop on bfd_link_hash_warning as well
3495 as bfd_link_hash_indirect.
3496
35fee729
ILT
3497 * libaout.h (struct aout_link_hash_entry): New field written.
3498 * aoutx.h (NAME(aout,link_hash_newfunc)): Initialize written.
3499 (aout_link_write_symbols): Use written, not root.written.
3500 (aout_link_write_other_symbol): Likewise.
3501 * sunos.c (sunos_scan_dynamic_symbol): Likewise.
3502 * libecoff.h (struct ecoff_link_hash_entry): New field written.
3503 * ecoff.c (ecoff_link_hash_newfunc): Initialize written.
3504 (ecoff_link_write_external): use written, not root.written.
3505 * genlink.h (struct generic_link_hash_entry): New field written.
3506 * linker.c (_bfd_link_hash_newfunc): Don't initialize written.
3507 (generic_link_hash_newfunc): Initialize written.
3508 (_bfd_generic_link_output_symbols): Use written, not root.written.
3509 (_bfd_generic_link_write_global_symbol): Likewise.
3510 (_bfd_generic_reloc_link_order): Likewise.
3511
469984d1
ILT
3512 * libecoff.h (ecoff_data_type): Add linker field.
3513 * ecoff.c (ecoff_write_object_contents): Check new tdata linker
3514 field, rather than outsymbols being non-NULL, to decide whether to
3515 output the symbols and relocs.
3516 (ecoff_bfd_final_link): Set new tdata linker field to true.
3517
30f34d07
ILT
3518 * ecoff.c (ecoff_bfd_copy_private_bfd_data): Don't try to copy
3519 data to a non-ECOFF file.
3520
d8d67d66
ILT
3521 * libbfd-in.h: Add warning that libbfd.h is a generated file.
3522 * libbfd.h: Rebuilt.
3523
a04e14b6
ILT
3524Sun Jun 5 15:02:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3525
fa15568a
ILT
3526 Changes to support ELF strip and objcopy on dynamically linked
3527 files.
3528 * elfcode.h (elf_fake_sections): Add prototype.
3529 (bfd_section_from_shdr): Make a BFD section from an SHT_HASH
3530 section, and from an SHT_DYNSYM section, and from the dynamic
3531 string table section.
3532 (elf_object_p): Set D_PAGED if there is a program header.
3533 (elf_make_sections): Remove.
3534 (fix_up_strtabs): Remove.
3535 (elf_fake_sections): Rewrite. Now sets sh_entsize.
3536 (assign_section_numbers): Rewrite. Now sets sh_link and sh_info
3537 for all sections.
3538 (elf_compute_section_file_positions): Don't call obsolete
3539 functions elf_make_sections or fix_up_strtabs.
3540 (swap_out_syms): Set sh_addralign to FILE_ALIGN rather than 4.
3541 (NAME(bfd_elf,write_object_contents)): Permit writing DYNAMIC
3542 objects.
3543 (elf_section_from_bfd_section): Treat SHT_DYNSYM like other normal
3544 sections. If an SHT_REL or SHT_RELA section is allocated or uses
3545 an unusual symbol table, permit a BFD section to map to it.
3546 Permit most SHT_STRTAB sections to have a BFD section mapped to
3547 them.
3548 (elf_bfd_final_link): Don't set sh_link, sh_info or sh_entsize
3549 fields of dynamic sections here; do it in assign_section_numbers.
3550 * elf32-target.h, elf64-target.h: Add D_PAGED to permitted object
3551 flags.
3552
a04e14b6
ILT
3553 * elf.c (_bfd_elf_make_section_from_shdr): Only set SEC_DATA if
3554 SEC_LOAD is set, rather than checking SEC_ALLOC.
3555
3556 * libbfd-in.h (bfd_realloc): Change last arg to "size_t size".
3557
4ee3b9be
JL
3558Fri Jun 3 10:58:02 1994 Jeff Law (law@snake.cs.utah.edu)
3559
99fa5510
JL
3560 * som.c (som_write_object_contents): Don't compute the file header's
3561 checksum here.
3562 (som_write_headers): Instead do it here.
3563
4ee3b9be
JL
3564 * libbfd.h (bfd_realloc): Change last arg to "size_t size".
3565
e85e8bfe
ILT
3566Thu Jun 2 17:39:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3567
2855b89f
ILT
3568 * hosts/sun3.h: Include <stdlib.h>. Don't declare free, exit or
3569 getenv.
3570
e85e8bfe
ILT
3571 Add linker support for SunOS shared libraries.
3572 * sunos.c: Include bfdlink.h. Add many new functions and
3573 definitions for SunOS shared library support.
3574 * bfd-in.h (bfd_sunos_record_link_assignment): Declare.
3575 (bfd_sunos_size_dynamic_sections): Declare.
3576 * bfd-in2.h: Rebuilt.
3577 * aoutx.h (struct aout_link_hash_entry): Move to libaout.h.
3578 (struct aout_link_hash_table): Likewise.
3579 (aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
3580 (aout_hash_table): Likewise.
3581 (NAME(aout,link_hash_newfunc)): Rename from aout_link_hash_newfunc
3582 and make externally visible.
3583 (NAME(aout,link_hash_table_init)): New function.
3584 (NAME(aout,link_hash_table_create)): Call
3585 NAME(aout,link_hash_table_init), not _bfd_link_hash_table_init.
3586 (aout_link_add_symbols): Don't fail if no symbols. If it exists,
3587 call add_dynamic_symbols backend entry point for dynamic objects.
3588 Use add_one_symbol backend entry point if it exists.
3589 (NAME(aout,final_link)): Call finish_dynamic_link backend entry
3590 point, if it exists.
3591 (aout_link_input_bfd): For a dynamic object, call
3592 link_dynamic_object backend entry point, if it exists.
3593 (aout_link_write_other_symbol): Call write_dynamic_symbol backend
3594 entry point, if it exists.
3595 (aout_link_input_section): Don't read the relocs if they have
3596 already been read.
3597 (aout_link_input_section_std): When doing a final link, for a
3598 reloc against an external symbol, call check_dynamic_reloc backend
3599 entry point, if it exists.
3600 (aout_link_input_section_ext): Likewise.
3601 * libaout.h: Protect against multiple inclusion. Include
3602 bfdlink.h.
3603 (struct aout_link_hash_entry): Move in from aoutx.h.
3604 (struct aout_link_hash_table): Likewise.
3605 (aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
3606 (aout_hash_table): Likewise.
3607 (struct aout_backend_data): Add fields add_dynamic_symbols,
3608 add_one_symbol, link_dynamic_object, write_dynamic_symbol,
3609 check_dynamic_reloc, and finish_dynamic_link.
3610 (struct aout_section_data_struct): Define new structure.
3611 (aout_section_data): Define new accessor macro.
3612 (NAME(aout,link_hash_newfunc)): Declare.
3613 (NAME(aout,link_hash_table_init)): Declare.
3614 * aoutf1.h (sunos4_aout_backend): Initialize new aout_backend_data
3615 fields.
3616 * aout-target.h (MY(backend_data)): Likewise.
3617 * i386aout.c (MY(backend_data)): Likewise.
3618 * i386mach3.c (MY(backend_data)): Likewise.
3619 * mipsbsd.c (MY(backend_data)): Likewise.
3620 * sparclynx.c (sparclynx_aout_backend): Likewise.
3621
3622 * aoutx.h (NAME(aout,slurp_symbol_table)): Don't zero out cached
3623 until we know it is non-NULL.
3624 (aout_link_write_symbols): Don't skip a warning symbol even if it
3625 has already been written out. If skipping an indirect symbol,
3626 skip the next symbol as well.
3627
220642fd
ILT
3628Wed Jun 1 14:37:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3629
3630 * hosts/sun3.h: Don't declare qsort, malloc or realloc.
3631
c06e55d9
KR
3632Thu May 26 13:56:03 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3633
3634 * nlmcode.h (nlm_swap_auxiliary_headers_in): Cast bfd_byte pointer
3635 to char pointer to avoid compiler warnings.
3636
3637 * dep-in.sed: Remove spaces before colons.
3638
3639 Merged changes back in from FSF gas release 2.3:
3640
3641 * Makefile.in (stmp-bfd.h): Wrap `if' block around grep
3642 invocation, to avoid a bug in BSD 4.4 make.
3643
3644 From Ralph Campbell:
3645 * mipsbsd.c (mips_fix_jmp_addr): If symbol is undefined, return an
3646 error.
3647 (mips_fix_hi16_s): Ditto.
3648
3649 Fri May 13 21:21:00 1994 DJ Delorie (dj@ctron.com)
3650
3651 * makefile.dos: define a default target, or archives won't work
3652 due to multiple matches.
3653
3654 Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com)
3655
3656 * configure.bat: update for latest files
3657 * makefile.dos: update for correct targets and sources
3658 * coff-go32.c: [new] go32's COFF format (i386coff with underscores)
3659 * targets.c: add go32coff target
3660 * makefile.in: add coff-go32.c support
3661
ada45a2a
JL
3662Thu May 26 10:10:21 1994 Jeff Law (law@snake.cs.utah.edu)
3663
3664 * som.c (som_prep_headers): Do not set the system_id here, private
3665 bfd data has not been copied yet.
3666 (som_write_headers): Instead do it here.
3667
5315c428
ILT
3668Tue May 24 16:17:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3669
3670 Make MIPS ELF use new ELF backend linker. No shared library
3671 support yet.
3672 * elf32-mips.c (bfd_mips_elf32_swap_gptab_in): New function.
3673 (bfd_mips_elf32_swap_gptab_out): New function.
3674 (mips_elf_object_p): If last symbol is LOCAL, set elf_bad_symtab.
3675 (mips_elf_final_write_processing): Set sh_info field for .gptab.*
3676 sections.
3677 (mips_elf_fake_sections): Set sh_entsize for .gptab.* sections.
3678 (mips_elf_read_ecoff_info): Read and free external symbols last,
3679 not first, for clarity.
3680 (struct mips_elf_link_hash_entry): Define new structure.
3681 (struct mips_elf_link_hash_table): Define new structure.
3682 (mips_elf_link_hash_lookup): Define new macro.
3683 (mips_elf_link_hash_traverse): Define new macro.
3684 (mips_elf_hash_table): Define new macro.
3685 (mips_elf_link_hash_newfunc): New static function.
3686 (mips_elf_link_hash_table_create): New static function.
3687 (mips_elf_add_symbol_hook): New static function.
3688 (struct extsym_info): Define new structure.
3689 (mips_elf_get_extr, mips_elf_set_index): Remove.
3690 (mips_elf_output_extsym): New static function.
3691 (gptab_compare): New static function.
3692 (mips_elf_final_link): Rewrite to use ELF backend linker, and to
3693 merge gptab information in input files.
3694 (mips_elf_relocate_hi16): New static function.
3695 (mips_elf_relocate_section): New static function.
3696 (bfd_elf32_bfd_link_hash_table_create): Define as macro before
3697 including elf32-target.h.
3698 (elf_backend_relocate_section): Likewise.
3699 (elf_backend_add_symbol_hook): Likewise.
3700 * elf.c (_bfd_elf_link_hash_newfunc): Rename from
3701 elf_link_hash_newfunc and make globally visible. Change caller.
3702 (_bfd_elf_link_hash_table_init): New function, broken out of
3703 _bfd_elf_link_hash_table_create.
3704 (_bfd_elf_link_hash_table_create): Use
3705 _bfd_elf_link_hash_table_init.
3706 * libelf.h (struct elf_obj_tdata): Add new field bad_symtab.
3707 (elf_bad_symtab): Define new accessor macro.
3708 (_bfd_elf_link_hash_newfunc): Declare.
3709 (_bew_elf_link_hash_table_init): Declare.
3710 * elfcode.h (elf_object_p): Call backend object_p hook after
3711 swapping in all the section headers.
3712 (map_program_segments): Correct typo: Internal for External.
3713 (elf_link_add_object_symbols): If elf_bad_symtab is set, read all
3714 the symbols. Skip STB_LOCAL symbols rather than giving an error.
3715 (elf_bfd_final_link): If elf_bad_symtab is set, allocate space for
3716 all symbols, not just locals.
3717 (elf_link_output_extsym): Only skip a symbol not mentioned by a
3718 regular file if it is mentioned by a dynamic object.
3719 (elf_link_input_bfd): If elf_bad_symtab is set, read all the
3720 symbols.
3721
88bbe402
JL
3722Fri May 20 13:38:23 1994 Jeff Law (law@snake.cs.utah.edu)
3723
3724 * som.c (som_set_reloc_info): Do not set any relocation info
3725 for SOM fixups which are never passed to BFD.
3726
497c5434
ILT
3727Fri May 20 11:57:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3728
c8588f2f
ILT
3729 * coff-mips.c (mips_relocate_section): Add MIPS_R_JMPADDR overflow
3730 checking.
3731
95b77361
ILT
3732 * elf32-i386.c (elf_i386_size_dynamic_sections): Add DT_DEBUG to
3733 the dynamic linking information for the benefit of the debugger.
3734 From Peter Schauer.
3735 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
3736
497c5434
ILT
3737 * elf.c (_bfd_elf_make_section_from_shdr): New function, based on
3738 code repeated three times in bfd_section_from_shdr in elfcode.h.
3739 * libelf.h (_bfd_elf_make_section_from_shdr): Declare.
3740 * elfcode.h (bfd_section_from_shdr): Use new function
3741 _bfd_elf_make_section_from_shdr to create BFD sections. If a
3742 reloc section does not use the main symbol table, or it is part of
3743 the process image, treat it as a normal section, not relocs.
3744 * elf32-mips.c (mips_elf_section_from_shdr): Use new function
3745 _bfd_elf_make_section_from_shdr.
3746
013dec1a
ILT
3747Thu May 19 11:37:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3748
7a0c782d
ILT
3749 * elf32-target.h, elf64-target.h: Change ar_max_namelen value from
3750 15 to 14 to match SVR4 ar.
3751
013dec1a
ILT
3752 Add support for ELF shared libraries. Loosely based on work by
3753 Eric Youngdale <ericy@cais.com>.
3754 * libelf.h (struct elf_backend_data): Add new fields for dynamic
3755 linking: elf_backend_create_dynamic_sections,
3756 elf_backend_adjust_dynamic_symbol,
3757 elf_backend_size_dynamic_sections,
3758 elf_backend_finish_dynamic_symbol,
3759 elf_backend_finish_dynamic_sections.
3760 (struct elf_link_hash_entry): Change type of align field to
3761 bfd_size_type. Add fields dynindx, dynstr_index, weakdef,
3762 elf_link_hash_flags.
3763 (struct elf_link_hash_table): Add fields dynobj, dynsymcount,
3764 dynstr, bucketcount.
3765 (bfd_elf32_swap_reloc_in, bfd_elf32_swap_reloc_out): Declare.
3766 (bfd_elf32_swap_reloca_in, bfd_elf32_swap_reloca_out): Declare.
3767 (bfd_elf32_swap_dyn_in, bfd_elf32_swap_dyn_out): Declare.
3768 (bfd_elf32_add_dynamic_entry): Declare.
3769 (bfd_elf64_swap_reloc_in, bfd_elf64_swap_reloc_out): Declare.
3770 (bfd_elf64_swap_reloca_in, bfd_elf64_swap_reloca_out): Declare.
3771 (bfd_elf64_swap_dyn_in, bfd_elf64_swap_dyn_out): Declare.
3772 (bfd_elf64_add_dynamic_entry): Declare.
3773 * elfcode.h (Elf_External_Dyn): Define.
3774 (elf_swap_reloc_in): Define as macro using NAME. Make externally
3775 visible.
3776 (elf_swap_reloc_out): Likewise.
3777 (elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
3778 (elf_swap_dyn_in, elf_swap_dyn_out): Define as macro using NAME
3779 and as new externally visible function.
3780 (elf_fake_sections): Set section type of dynamic sections based on
3781 section names.
3782 (elf_write_phdrs): Remove.
3783 (assign_file_position_for_section): Add new align argument.
3784 Change all callers.
3785 (get_program_header_size): New static function.
3786 (struct seg_info): Remove.
3787 (map_program_segments): Completely rewrite.
3788 (assign_file_positions_except_relocs): Completely rewrite.
3789 (assign_file_positions_for_relocs): Don't set a file position for
3790 sections which already have one. Don't bother to align the file
3791 position here.
3792 (section_from_elf_index): Handle SHT_HASH and SHT_DYNAMIC
3793 section types.
3794 (elf_section_from_bfd_section): Likewise.
3795 (elf_slurp_symbol_table): If section_from_elf_index fails, just
3796 use bfd_abs_section rather than returning an error.
3797 (elf_sizeof_headers): Make useful.
3798 (elf_link_record_dynamic_symbol): New static function.
3799 (elf_link_add_object_symbols): Handle dynamic objects.
3800 (elf_link_create_dynamic_sections): New static function.
3801 (elf_add_dynamic_entry): Define as macro using NAME and as new
3802 externally visible function.
3803 (NAME(bfd_elf,record_link_assignment)): New function.
3804 (elf_buckets): New static variable.
3805 (NAME(bfd_elf,size_dynamic_sections)): New function.
3806 (struct elf_final_link_info): Add dynsym_sec and hash_sec fields.
3807 (elf_bfd_final_link): Handle dynamic linking. Create a section
3808 symbol for all ELF sections, not all BFD sections. Store section
3809 symbol index in target_index field, not index field. Traverse
3810 over global symbols even if stripping.
3811 (elf_link_output_extsym): Output dynamic symbols. Mark symbols
3812 defined by dynamic objects as undefined.
3813 (elf_link_input_bfd): Ignore dynamic objects. Use target_index
3814 field for section relocs, and make sure it is set.
3815 (elf_reloc_link_order): Use target_index field for section relocs,
3816 and make sure it is set.
3817 * elf.c (elf_link_hash_newfunc): Initialize dynindx, dynstr_index,
3818 weakdef and elf_link_hash_flags fields.
3819 (_bfd_elf_link_hash_table_create): Initialize dynobj, dynsymcount,
3820 dynstr and bucketcount fields.
3821 * elf32-target.h: Initialize new dynamic linking fields.
3822 * elf64-target.h: Likewise.
3823 * elf32-i386.c: New functions for dynamic linking support.
3824 * elf32-sparc.c: Likewise.
3825 * bfd-in.h (bfd_elf32_record_link_assignment): Declare.
3826 (bfd_elf64_record_link_assignment): Declare.
3827 (bfd_elf32_size_dynamic_sections): Declare.
3828 (bfd_elf64_size_dynamic_sections): Declare.
3829 * bfd-in2.h: Rebuilt.
3830
82492ca1
ILT
3831Wed May 18 08:29:04 1994 Ian Lance Taylor (ian@cygnus.com)
3832
3833 * som.c: Don't include <sys/dir.h> or <sys/user.h>.
3834 (som_reloc_queue_find): Call memcmp instead of bcmp.
3835 (som_bfd_reloc_type_lookup): Change first argument to bfd *.
3836 (compare_syms): Change types of arguments to const void *.
3837 (bfd_section_from_som_symbol): Removed unused local found.
3838 (som_write_armap): Add elength, map, orl_count and int arguments.
3839 (som_write_armap): Use %ld and cast to long for getuid result.
3840
673aceca
JL
3841Wed May 18 09:09:32 1994 Jeff Law (law@snake.cs.utah.edu)
3842
3843 * elf32-hppa.h (R_HPPA_ABS_CALL): Define.
3844 * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle absolute calls.
3845
3846 * som.h (R_HPPA_ABS_CALL): Define.
3847 * som.c (hppa_som_gen_reloc_type): Delete complex relocation types.
3848
0f62bdc0
KR
3849Tue May 17 19:33:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
3850
3851 * coff-i960.c (icoff_little_vec, icoff_big_vec): Indicate leading
3852 underscore, for compatibility with Intel tool chain (gnu960v2).
3853
c3cb04b4
JL
3854Mon May 16 10:09:22 1994 Jeff Law (law@snake.cs.utah.edu)
3855
459ae909
JL
3856 * bfd-in2.h: Rebuilt.
3857
3858 * elf32-hppa.c: Change .hppa_linker_stubs to .PARISC.stubs,
3859 likewise for other PA specific sections.
3860 (hppa_elf_relocate_unwind_table): Delete unused
3861 function.
3862 (elf_hppa_howto_table): Completely new table based on 94-02-02
3863 draft PA ELF spec. Change relocation tags appropriately
3864 throughout elf32-hppa.c
3865 (hppa_elf_gen_reloc_type): Rewrite and simplify based on 94-02-02
3866 spec.
3867 (hppa_elf_reloc): Likewise.
3868 (hppa_look_for_stubs_in_section): Likewise
3869 (ELF_MACHINE_CODE): Change to EM_PARISC.
3870 * elf32-hppa.h: Include "elf/hppa.h". Change relocation tags
3871 appropriately throughout elf32-hppa.h.
3872 (elf32_hppa_reloc_type): New table based on 94-02-02 draft PA ELF
3873 spec.
3874 (R_HPPA_ABS_CALL, R_HPPA_COMPLEX*, R_HPPA_UNWIND): Delete definitions.
3875 * elfcode.h (prep_headers): Use EM_PARISC instead of EM_HPPA.
3876 * reloc.c (bfd_reloc_code_real): Delete unused HPPA relocations.
3877 * som.h (R_HPPA_ABS_CALL, R_HPPA_COMPLEX): Delete definitions.
3878
c3cb04b4
JL
3879 * libhppa.h (hppa_field_adjust): Avoid adding constant_value into
3880 the final value twice for LR and RR field selectors.
3881
cb9461ff
JK
3882Sat May 14 09:09:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
3883
3884 * aoutx.h (add_to_stringtab): Use BFD_ASSERT not assert. This
3885 avoids __eprintf troubles.
3886
8db528c8
ILT
3887Fri May 13 10:51:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3888
0d898d03
ILT
3889 * bout.c (b_out_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR.
3890
8db528c8
ILT
3891 * config/mipsbelf.mt (SELECT_VECS): Add ecoff_big_vec and
3892 ecoff_little_vec since Irix 5 supports ECOFF executables.
3893
666f5925
ILT
3894Wed May 11 00:31:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3895
4fa4476b
ILT
3896 * ecoff.c (ecoff_find_nearest_line): Handle fdr.adr != pdr.adr
3897 correctly.
3898
666f5925
ILT
3899 * Makefile.in (stmp-bfd.h): Use || instead of ; to force SunOS
3900 make to invoke the shell.
3901
c16313f0
ILT
3902Tue May 10 14:23:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3903
3904 * section.c (SEC_COFF_SHARED_LIBRARY): Renamed from
3905 SEC_SHARED_LIBRARY for clarity. Changed all uses.
3906 * bfd-in2.h: Rebuilt.
3907 * coffcode.h (sec_to_styp_flags): If SEC_COFF_SHARED_LIBRARY is
3908 set, set STYP_NOLOAD.
3909 * coffgen.c (coff_section_from_bfd_index): Don't get an assertion
3910 failure because of a bad shared library.
3911
eeb8c187
BC
3912Mon May 9 18:53:40 1994 Bill Cox (bill@rtl.cygnus.com)
3913
3914 * linker.c: Add missing comment terminator.
3915
6ec3bb6a
ILT
3916Mon May 9 11:53:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3917
8e5090ce
ILT
3918 * linker.c (_bfd_generic_link_add_one_symbol): If hashp and *hashp
3919 are not NULL, assume the caller has already looked up the symbol
3920 in the hash table and has stored the entry in *hashp.
3921 (generic_link_add_symbol_list): Set h to NULL before calling
3922 _bfd_generic_link_add_one_symbol.
3923 * ecoff.c (ecoff_link_add_externals): Likewise.
3924
3925 * elfcode.h (assign_file_positions_except_relocs): Don't require
3926 page shared between .data and .bss segments to contain zeroes.
3927
6ec3bb6a
ILT
3928 * elfcode.h: Include bfdlink.h. Added several new functions to do
3929 linking.
3930 (ELF_R_TYPE): Define.
3931 (bfd_add_to_strtab): Return unsigned long. Change check for
3932 realloc failure.
3933 (elf_fake_sections): Check return value of bfd_add_to_strtab.
3934 (elf_compute_section_file_positions): Add link_info argument.
3935 Call elf_backend_begin_write_processing hook and prep_headers
3936 here. Only call swap_out_syms if link_info is NULL. Set up
3937 .shstrtab section here. Pass dosyms argument to
3938 assign_file_positions_except_relocs. Set output_has_begun flag.
3939 (assign_file_positions_for_symtab_and_strtabs): Add dosyms
3940 argument, and use it to control setting .symtab and .strtab file
3941 positions.
3942 (assign_file_positions_except_relocs): Add dosyms argument, and
3943 pass it on.
3944 (prep_headers): Check return value of bfd_add_to_strtab.
3945 (swap_out_syms): Likewise. Also, don't set up .shstrtab here.
3946 (NAME(bfd_elf,write_object_contents)): Some calls moved into
3947 elf_compute_section_file_positions.
3948 (elf_set_section_contents): Likewise.
3949 (elf_slurp_symbol_table): SHN_LORESERV corrected to SHN_LORESERVE.
3950 * libelf.h: Include bfdlink.h.
3951 (struct elf_backend_data): Add fields collect,
3952 elf_add_symbol_hook, elf_backend_relocate_section.
3953 (struct bfd_elf_section_data): Add field rel_hashes.
3954 (struct elf_obj_tdata): Remove fields internal_syms and symbols.
3955 Add field sym_hashes.
3956 (obj_symbols, obj_internal_syms): Remove definitions.
3957 (elf_sym_hashes): Define.
3958 (struct elf_link_hash_entry): Define.
3959 (struct elf_link_hash_table): Define.
3960 (elf_link_hash_lookup): Define.
3961 (elf_link_hash_traverse): Define.
3962 (elf_hash_table): Define.
3963 (_bfd_elf_link_hash_table_create): Declare.
3964 (bfd_elf32_bfd_link_add_symbols): Declare.
3965 (bfd_elf32_bfd_final_link): Declare.
3966 (bfd_elf64_bfd_link_add_symbols): Declare.
3967 (bfd_elf64_bfd_final_link): Declare.
3968 * elf.c: Include bfdlink.h.
3969 (elf_link_hash_newfunc): New function.
3970 (_bfd_elf_link_hash_table_create): New function.
3971 * elf32-target.h (elf_backend_relocate_section): If not defined,
3972 define as 0 and use generic linker. Otherwise, use ELF backend
3973 linker.
3974 (elf_backend_collect): If not defined, define as false.
3975 (elf_backend_add_symbol_hook): If not defined, define as 0.
3976 (elf32_bed): Initialize new fields.
3977 * elf64-target.h: Same changes as elf32-target.h.
3978 * elf32-i386.c: Include bfdlink.h.
3979 (elf_i386_relocate_section): New function.
3980 (elf_backend_relocate_section): Define.
3981 * elf32-sparc.c: Include bfdlink.h.
3982 (elf_info_to_howto): Change type of dst from Elf32_Internal_Rela
3983 to Elf_Internal_Rela (they're the same type anyhow).
3984 (elf_sparc_relocate_section): New function.
3985 (elf_backend_relocate_section): Define.
3986 * elf32-mips.c (elf_backend_collect): Define.
3987
3988 * Makefile.in (stmp-bfd.h): Avoid useless make error message in a
3989 different way; touch takes a numeric argument on some systems.
3990
3991Fri May 6 13:34:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3992
3993 * nlmcode.h (nlm_swap_auxiliary_headers_in): Rework custom header
3994 handling for latest suggested format.
3995 (nlm_swap_auxiliary_headers_out): Likewise.
3996 (nlm_compute_section_file_positions): Likewise.
3997
3998Fri May 6 11:11:50 1994 D. V. Henkel-Wallace (gumby@rtl.cygnus.com)
3999
4000 * config.bfd: handle erricsson config (for OSE).
4001
4002Thu May 5 15:40:47 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4003
4004 Patches from Ralph Campbell:
4005 * mipsbsd.c (mips_fix_jmp_addr): New function.
4006 (mips_fix_hi16_s): Use bfd_is_com_section.
4007 (mips_howto_table_ext): Call mips_fix_jmp_addr for MIPS_RELOC_JMP.
4008
d66da742
SC
4009Fri May 6 11:48:55 1994 Steve Chamberlain (sac@cygnus.com)
4010
4011 * config/go32.mh: XX support.
4012
4013 From bill
4014 * Makefile.in: Build sysdep.h without causing worrying but
4015 harmless error message.
4016
77d11284
ILT
4017Wed May 4 11:09:53 1994 Ian Lance Taylor (ian@cygnus.com)
4018
4019 Changed m68k-aout to set flags to 0; m68k-sunos still uses 1.
4020 * aout0.c: New file.
4021 * targets.c (aout0_big_vec): Declare.
4022 (bfd_target_vector): Add aout0_big_vec.
4023 * config.bfd (m68*-*-aout*): Use m68k-0aout, not m68k-aout.
4024 * config/m68k-aout.mt (SELECT_VECS): Removed.
4025 * config/m68k-0aout.mt: New file.
4026 * configure.in (aout0_big_vec): New target vector: use aout0.o,
4027 aout32.o and stab-syms.o.
4028 * Makefile.in: Rebuilt dependencies.
4029 (BFD32_BACKENDS): Add aout0.o.
4030 (CFILES): Add aout0.c.
4031
4032 * libaout.h (struct aout_backend_data): Add field exec_hdr_flags.
4033 * aout-target.h (MY_exec_hdr_flags): If not defined, define as 0.
4034 MY(backend_data): Initialize exec_hdr_flags field.
4035 * aoutf1.h (sunos_32_set_arch_mach): Make static.
4036 (aout32_sunos4_write_object_contents): Set flags from backend
4037 info.
4038 (MY_exec_hdr_flags): If not defined, define as 1.
4039 (sunos4_aout_backend): Initialize exec_hdr_flags field.
4040 * aout-encap.c (encap_write_object_contents): Set flags from
4041 backend info.
4042 (MY_exec_hdr_flags): Define as N_FLAGS_COFF_ENCAPSULATE.
4043 * hp300hpux.c (MY_exec_hdr_flags): Define as 0x2.
4044 (MY(write_object_contents)): Set flags from backend info.
4045 * i386aout.c (MY(backend_data)): Initialize exec_hdr_flags field.
4046 * i386mach3.c (MY(backend_data)): Likewise.
4047 * mipsbsd.c (MY(backend_data)): Likewise.
4048 * sparclynx.c (NAME(aout,sparclynx_write_object_contents)): Set
4049 flags from backend info.
4050 (sparclynx_aout_backend): Initialize exec_hdr_flags field.
4051
127f8e91
KR
4052Wed May 4 02:56:00 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
4053
4054 * config.bfd (i386-*-gnu*): Treat like i386-*-mach*.
4055 (m68*-apollo-*): Treat all Apollo configs the same, don't handle
4056 BSD specially.
4057
92400edb
ILT
4058Tue May 3 19:43:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4059
4060 * cache.c: Rewrote to work correctly.
4061 * libbfd.h: Rebuilt.
4062 * opncls.c (bfd_cache_init, bfd_open_file): Don't declare.
4063 (bfd_fdopenr): Check return value of bfd_cache_init.
4064
e3361fc3
ILT
4065Fri Apr 29 15:08:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4066
4067 * cf-m68klynx.c (CALC_ADDEND): Check for PC relative relocs by
4068 enumerating them, since the reloc type can not serve as an index
4069 into the m68k COFF howto_table.
4070
7c6ba201
SC
4071Fri Apr 29 09:42:39 1994 Steve Chamberlain (sac@cygnus.com)
4072
dbf13547 4073 * config.bfd (*-go32): Changed to coff.
7c6ba201 4074 * coff-h8300.c (JMPL1): Get HOWTO right for 24bit branches.
dbf13547
SC
4075 * srec.c (srec_write_symbols): Write out the correct number of
4076 symbols and don't stick in extra nulls.
7c6ba201 4077
380c60b1
SS
4078Tue Apr 26 15:07:24 1994 Stan Shebs (shebs@andros.cygnus.com)
4079
4080 * cf-sparclynx.c (LYNXOS, COFF_LONG_FILENAMES): Define.
4081 * coff-sparc.c (BADMAG): Recognize LYNXCOFFMAGIC.
4082 (COFF_SPARC): Define.
4083 * coffcode.h (coff_new_section_hook): If COFF_SPARC, set alignment
4084 power of data and bss sections to 3.
4085 * hosts/lynx.h (__LYNXOS): Define.
4086
6c101bcf
JL
4087Tue Apr 26 15:04:26 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4088
4089 * elf32-hppa.c (hppa_elf_reloc): Adjust the addend of relocations
4090 against section symbols to avoid losing during ld -r.
4091
4092Tue Apr 26 12:16:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4093
4094 * elfcode.h (shstrtab_length_fixed): Remove useless static
4095 variable.
4096 (struct elf_sect_data): Remove unused structure.
4097 (elf_object_p): Free memory if error occurs. Check return value
4098 of bfd_default_set_arch_mach. If elf_get_str_section fails,
4099 preserve error code rather than setting wrong_format.
4100 (null_shdr): Remove static variable.
4101 (assign_section_numbers): Remove shstrtab_length_fixed assignment.
4102 Allocate first section header on BFD obstack rather than using
4103 null_shdr.
4104 (bfd_prpsinfo): Remove unused local variable newsect.
4105
2e03ce18
ILT
4106Mon Apr 25 15:31:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4107
ba436e33
ILT
4108 * elfcode.h (write_relocs): Undo patch of Apr 10; breaks Solaris.
4109
2e03ce18
ILT
4110 * elfcode.h (bfd_section_from_shdr): Use bfd_make_section_anyway
4111 to create sections. Check return value of recursive calls.
4112 (bfd_section_from_phdr): Check return value of bfd_make_section.
4113 (elf_symbol_from_bfd_symbol): Likewise.
4114 (elf_object_p): Check return value of bfd_section_from_shdr.
4115 (section_from_elf_index): Likewise.
4116 (elf_slurp_symbol_table): Check return value of
4117 section_from_elf_index.
4118 (bfd_prstatus): Return boolean value. Check return value of
4119 bfd_make_section.
4120 (bfd_fpregset): Likewise.
4121 (bfd_prpsinfo): Return boolean value.
4122 (elf_corefile_note): Check return values of bfd_prstatus,
4123 bfd_fpregset, and bfd_prpsinfo.
4124 (elf_core_file_p): Check return value of elf_corefile_note.
4125
79167def
ILT
4126Fri Apr 22 11:08:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4127
cc71e155
ILT
4128 Get rid of the ECOFF .reginfo section hack.
4129 * ecoff.c (ecoff_mkobject_hook): Don't create a .reginfo section.
4130 (ecoff_new_section_hook): Don't handle the .reginfo section.
4131 (ecoff_sizeof_headers): Likewise.
4132 (ecoff_get_section_contents): Likewise.
4133 (ecoff_compute_section_file_positions): Likewise.
4134 (ecoff_compute_reloc_file_positions): Likewise.
4135 (ecoff_set_section_contents): Likewise.
4136 (ecoff_write_object_contents): Likewise.
4137 (ecoff_bfd_final_link): Likewise.
4138 (ecoff_bfd_copy_private_bfd_data): Copy the GP value and the
4139 register masks.
4140 (bfd_ecoff_get_gp_value): New function.
4141 (bfd_ecoff_set_gp_value): New function.
4142 (bfd_ecoff_set_regmasks): New function.
4143 * bfd-in.h (bfd_ecoff_get_gp_value): Declare.
4144 (bfd_ecoff_set_gp_value): Declare.
4145 (bfd_ecoff_set_regmasks): Declare.
4146 * bfd-in2.h: Rebuilt.
4147
1bb42b1f
ILT
4148 Fix ECOFF objcopy to actually copy debugging information.
4149 * ecoff.c (ecoff_bfd_copy_private_bfd_data): New function.
4150 (ecoff_get_extr): Assume that any ECOFF symbol with local clear is
4151 an external symbol, rather than checking the symbol flags. Only
4152 check the flags for non-ECOFF symbols.
4153 * ecofflink.c (bfd_ecoff_debug_externals): Don't crash if the
4154 output_section field of the symbol section is NULL.
4155 * libecoff.h (ecoff_bfd_copy_private_bfd_data): Declare as
4156 function rather than defining as macro.
4157
d290d8da
ILT
4158 * ieee.c (ieee_object_p): Set bfd_error_got_wrong_format if
4159 appropriate.
4160
4161 * targets.c (bfd_target_vector): Add bfd_elf32_powerpc_vec.
4162
80a903c9
ILT
4163 * aout-adobe.c (aout_adobe_set_arch_mach): Check return value of
4164 bfd_default_set_arch_mach. Accept bfd_arch_m68k as well as
4165 bfd_arch_unknown.
4166 * coffcode.h (coff_set_arch_mach): Check return value of
4167 bfd_default_set_arch_mach.
4168 * elfcode.h (elf_set_arch_mach): Don't check a list of ELF
4169 architectures, just see if the desired architecture matches what
4170 the ELF backend permits.
4171
4172 * coffcode.h (coff_set_arch_mach_hook): Rename SHMAGIC to
4173 SH_ARCH_MAGIC to match change in coff/sh.h.
4174 (coff_set_flags): Likewise.
4175
79167def
ILT
4176 Follow convention in which each NLM header has an 8 byte stamp
4177 followed by a four byte length.
4178 * libnlm.h (struct nlm_obj_tdata): Rename nlm_cygnus_section_hdr
4179 to nlm_cygnus_ext_header, and change type to
4180 Nlm_Internal_Cygnus_Ext_Header.
4181 (nlm_cygnus_ext_header): Rename from nlm_cygnus_section_header.
4182 * nlmcode.h (nlm_swap_auxiliary_headers_in): Use CyGnUsEx instead
4183 of CyGnUsSeCs. Rename from cygnus_section to cygnus_ext. Require
4184 length word to be 8.
4185 (nlm_swap_auxiliary_headers_out): Rename from cygnus_section to
4186 cygnus_ext. Set length word to 8.
4187 (nlm_compute_section_file_positions): Rename from cygnus_section
4188 to cygnus_ext.
4189
7f772644
SG
4190Thu Apr 21 22:54:22 1994 Stu Grossman (grossman at cygnus.com)
4191
4192 * nlmcode.h (nlm_swap_auxiliary_headers_in): Keep section table
4193 (from CyGnUsSeCs) in more permanent memory to keep section names
4194 from getting trashed.
4195
cb71adf1
PS
4196Thu Apr 21 09:29:37 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4197
4198 * libelf.h (elf_obj_tdata): Add members for dynamic symbol table
4199 handling.
4200 * elfcode.h (bfd_section_from_shdr): Handle dynamic symbol table.
4201 * elfcode.h (elf_slurp_symbol_table): Take additional parameter
4202 to select static or dynamic symbol table and return number of
4203 symbols slurped or -1 on error.
4204 * elfcode.h (elf_get_symtab): Set bfd symcount from
4205 elf_slurp_symbol_table result.
4206 * elfcode.h (elf_get_dynamic_symtab_upper_bound,
4207 elf_canonicalize_dynamic_symtab): New functions to handle dynamic
4208 symbol table.
4209 * elf32-target.h, elf64-target.h (BFD_JUMP_TABLE_DYNAMIC):
4210 Change to handle dynamic symbol table, provide default definitions
4211 for dynamic relocs.
4212 * aoutx.h (howto_table_std, NAME(aout,swap_std_reloc_out),
4213 NAME(aout,swap_std_reloc_in), aout_link_input_section_std,
4214 aout_link_reloc_link_order): Handle r_jmptable and r_relative
4215 relocations.
4216
6c534df0
ILT
4217Thu Apr 21 11:58:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4218
1eff2af3
ILT
4219 Clean up uses of _bfd_dummy_target (from Peter Schauer).
4220 * libbfd.c (_bfd_dummy_target): Set bfd_error_wrong_format.
4221 * nlm-target.h (nlm_core_file_p): Define as _bfd_dummy_target, not
4222 NULL.
4223 * srec.c (srec_vec): Use _bfd_dummy_target, not NULL, in
4224 _bfd_check_format.
4225 (symbolsrec_vec): Likewise.
4226 * tekhex.c (tekhex_vec): Likewise.
4227
6c534df0
ILT
4228 * libnlm.h (struct nlm_obj_tdata): Add nlm_cygnus_section_hdr
4229 field.
4230 (nlm_cygnus_section_header): New accessor macro.
4231 * nlmcode.h (nlm_object_p): Free new tdata structure if failure.
4232 Add fixed sections before swapping in auxiliary headers. After
4233 adding sections, treat errors as real, not as wrong format.
4234 (nlm_swap_auxiliary_headers_in): Swap in the sections header; add
4235 sections to the BFD for each section it describes.
4236 (nlm_swap_auxiliary_headers_out): Swap out the sections header.
4237 (nlm_compute_section_file_positions): Account for the size of the
4238 sections header.
4239
71363c41
KR
4240Wed Apr 20 16:45:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
4241
4a5bfdbc
KR
4242 * coff-sparc.c (sparccoff_vec): Change minimum alignment power to
4243 2, so that stab sections can be multiples of 4 bytes only.
4244
71363c41
KR
4245 * hosts/i386aix.h: Changes to avoid prototypes conflicts with the
4246 ones defined in stdlib.h. (From Minh Tran-Le.)
4247
476d01f0 4248Wed Apr 20 14:15:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
476d01f0
ILT
4249
4250 * nlm32-ppc.c: Complete rewrite for new version of PowerPC
4251 NetWare. Old code still present, but ifdeffed out.
476d01f0
ILT
4252
4253 * nlmcode.h (nlm_swap_auxiliary_headers_in): Don't assume a
4254 particular format for the customer header. Allocate a block of
4255 memory and read it into that.
4256 (nlm_swap_auxiliary_headers_out): Write out the block of memory.
4257 (nlm_compute_section_file_positions): Include length of customer
4258 header when computing its size.
4259
69478700
JL
4260Mon Apr 18 14:27:17 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4261
4262 * som.c (som_prep_headers): Get the space's number from the
4263 backend private section data rather than target_index.
4264 (bfd_som_set_section_attributes): Store the space's number
4265 in the backend private section data rather than target_index.
4266
4267 * som.h (som_copyable_section_data_struct): Add space_number.
4268
2ec2e6a9
ILT
4269Fri Apr 15 12:22:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4270
09ed3666
ILT
4271 * coff-a29k.c (reloc_processing): Always set the address of a
4272 R_IHCONST reloc to that of the immediately preceding R_IHIHALF.
4273 gas does this anyhow, but some other assemblers seem to leave
4274 garbage in the R_IHCONST address field.
4275
97ea252e
ILT
4276 * bfd/archive.c: Consistently use ARFMAG; from
4277 schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
4278 (_bfd_write_archive_contents): Use ARFMAG rather than '`' and
4279 '\012'.
4280 (bsd_write_armap): Likewise.
4281 (coff_write_armap): Likewise.
4282
ef79dba3
ILT
4283 * coff-mips.c (mips_relocate_section): When relaxing, adjust local
4284 relocs against the .text section as required.
4285 * ecofflink.c (bfd_ecoff_debug_accumulate): When relaxing, adjust
4286 PDR addresses as required.
4287
2ec2e6a9
ILT
4288 * ecoff.c (ecoff_emit_aggregate): Take fdr argument. Map fdr
4289 index through rfd map if it exists. Check for a couple of cases
4290 which gdb handles specially. Change all callers.
4291 (ecoff_type_to_string): Take fdr argument rather than aux_ptr and
4292 bigendian argument. Change all callers.
4293 (ecoff_print_symbol): Handle stStruct, stUnion and stEnum.
4294
4f996613
ILT
4295Thu Apr 14 13:05:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4296
4297 * coff-mips.c (mips_howto_table): Add dummy entries to account for
4298 numbering changes in include/coff/mips.h. Add entries for
4299 MIPS_R_RELHI and MIPS_R_RELLO.
4300 (mips_ecoff_swap_reloc_in): Handle an extra bit for the reloc type
4301 when little endian. Treat internal MIPS_R_RELLO or MIPS_R_RELHI
4302 relocs like MIPS_R_SWITCH, and convert r_offset from 24 to 32
4303 bits.
4304 (mips_ecoff_swap_reloc_out): Likewise.
4305 (mips_adjust_reloc_in): Handle internal MIPS_R_RELLO or
4306 MIPS_R_RELHI relocs like MIPS_R_SWITCH.
4307 (mips_adjust_reloc_out): Likewise.
4308 (mips_relhi_addr, mips_relhi_addend): New static variables.
4309 (mips_relhi_reloc, mips_rello_reloc): New functions.
4310 (mips_bfd_reloc_type_lookup): Turn BFD_RELOC_PCREL_HI16_S into
4311 MIPS_R_RELHI and turn BFD_RELOC_PCREL_LO16 into MIPS_R_RELLO.
4312 (mips_relocate_hi): Rename from mips_relocate_refhi, and add pcrel
4313 argument. Changed all callers.
4314 (mips_relocate_section): Rename got_reflo to got_lo and
4315 reflo_int_rel to lo_int_rel. Handle MIPS_R_RELLO and MIPS_R_RELHI
4316 relocs.
4317 (mips_relax_section): Adjust MIPS_R_RELHI/MIPS_R_RELLO pairs when
4318 expanding a PC relative call.
4319
4320 * reloc.c (bfd_reloc_code_real_type): Add BFD_RELOC_PCREL_HI16_S
4321 and BFD_RELOC_PCREL_LO16.
4322 * bfd-in2.h: Rebuilt.
4323
1a000744
SS
4324Wed Apr 13 11:50:07 1994 Stan Shebs (shebs@andros.cygnus.com)
4325
4326 * coff-sparc.c (sparccoff_vec): Set minimum alignment power to 3.
4327
41194a4a
JL
4328Tue Apr 12 13:36:20 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4329
4330 * som.c (som_write_fixups): Always emit at least
4331 one relocation for any non-bss section.
4332
bf08d1e2
ILT
4333Mon Apr 11 14:41:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4334
4335 * elfcode.h (assign_file_positions_except_relocs): Don't require
4336 the file alignment to correspond to the page size when linking
4337 with -N.
4338
9a5334e5
JL
4339Sun Apr 10 01:02:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4340
4341 * elfcode.h (write_relocs): For rela relocations, adjust the
4342 addend for relocations involving section symbols to account
4343 for the lossage of 1:1 mapping from input section symbols to
4344 output section symbols.
4345
e48f985c
ILT
4346Fri Apr 8 12:22:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4347
ec6b18c4
ILT
4348 * aoutx.h (NAME(aout,make_sections)): New function.
4349 (NAME(aout,some_aout_object_p)): Call NAME(aout,make_sections)
4350 rather than making sections inline.
4351 (NAME(aout,mkobject)): Don't make any sections.
4352 (NAME(aout,adjust_sizes_and_vmas)): Call NAME(aout,make_sections).
4353 (NAME(aout,final_link)): Don't dereference obj_textsec (abfd) or
4354 obj_datasec (abfd) if they are NULL.
4355 * libaout.h (NAME(aout,make_sections)): Declare.
4356 * bout.c (b_out_mkobject): Don't make any sections.
4357 (b_out_write_object_contents): Call aout_32_make_sections.
4358 (b_out_set_section_contents): Likewise.
4359 * i386os9k.c (os9k_mkobject): Don't make any sections.
4360 (os9k_write_object_contents): Call aout_32_make_sections.
4361 (os9k_set_section_contents): Likewise.
4362
e48f985c
ILT
4363 * aoutx.h (NAME(aout,new_section_hook)): Don't set N_EXT in target
4364 index.
4365
06863047
PS
4366Wed Apr 6 20:44:56 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4367
4368 * config.bfd, configure.host: Add mips-*-sysv4* support.
4369
dabf906e
ILT
4370Thu Apr 7 14:23:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4371
4372 * coff-mips.c (mips_howto_table): Add entry for MIPS_R_SWITCH.
4373 (mips_ecoff_swap_reloc_in): For MIPS_R_SWTICH, copy r_symndx into
4374 r_offset and set r_symndx to RELOC_SECTION_TEXT.
4375 (mips_ecoff_swap_reloc_out): For MIPS_R_SWITCH, get the r_symndx
4376 value from the r_offset field.
4377 (mips_adjust_reloc_in): Maximum r_type value is now MIPS_R_SWITCH.
4378 For MIPS_R_SWITCH, copy the r_offset field into the addend field.
4379 (mips_adjust_reloc_out): For MIPS_R_SWITCH, copy the addend field
4380 into the r_offset field.
4381 (mips_switch_reloc): New function.
4382 (mips_bfd_reloc_type_lookup): Translate BFD_RELOC_GPREL32 into
4383 MIPS_R_SWITCH.
4384 (mips_relocate_section): Handle MIPS_R_SWITCH.
4385 (mips_relax_section): Adjust MIPS_R_SWITCH offset if necessary.
4386
99a6c761
JL
4387Thu Apr 7 11:10:51 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4388
4389 * elfcode.h (elf_set_section_contents): Support calling the backend
4390 function elf_backend_begin_write_processing when just beginning to
4391 write an object file.
4392
4393 * libelf.h (elf_backend_begin_write_processing): Declare.
4394
4395 * elf{32,64}-target.h (elf_backend_begin_write_processing): Provide
4396 a default definition.
4397 (elf{32,64}_bed): Add elf_backend_begin_write_processing.
4398
4399 * elf32-hppa.h (elf_hppa_tc_symbol): Delete extern declaration.
4400 (elf_hppa_tc_make_sections): Likewise.
4401
4402 * elf32-hppa.c (symext_chain_built): Delete.
4403 (symext_chain_size): Renamed from symextn_contents_real_size.
4404 (elf32_hppa_backend_{begin,final}_write_processing): New functions.
4405 (add_entry_to_symext_chain): New function.
4406 (hppa_elf_set_section_contents): Ignore writes to the symbol extension
4407 section until it's been rebuilt internally.
4408 (hppa_elf_get_section_contents): Symbol extension section is no
4409 longer special.
4410 (elf_backend_{begin,final}_write_processing): Define.
4411 (elf_hppa_tc_make_sections): Simplify now that much code has
4412 migrated into elf32_hppa_backend_{being,final}_write_processing.
4413
6812b607
ILT
4414Wed Apr 6 17:24:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4415
dfc1c006
ILT
4416 Add new target vectors to read the dynamic symbols and dynamic
4417 relocs. Change a.out to use these rather than reading the dynamic
4418 symbols and relocs along with the normal symbols and relocs.
4419 * targets.c (bfd_target): Add fields
4420 _bfd_get_dynamic_symtab_upper_bound,
4421 _bfd_canonicalize_dynamic_symtab,
4422 _bfd_get_dynamic_reloc_upper_bound,
4423 _bfd_canonicalize_dynamic_reloc.
4424 (BFD_JUMP_TABLE_DYNAMIC): Define.
4425 * libbfd-in.h (_bfd_nodynamic_get_dynamic_symtab_upper_bound):
4426 Define.
4427 (_bfd_nodynamic_canonicalize_dynamic_symtab): Define.
4428 (_bfd_nodynamic_get_dynamic_reloc_upper_bound): Define.
4429 (_bfd_nodynamic_canonicalize_dynamic_reloc): Define.
4430 * bfd.c (bfd_get_dynamic_symtab_upper_bound): Define.
4431 (bfd_canonicalize_dynamic_symtab): Define.
4432 (bfd_get_dynamic_reloc_upper_bound): Define.
4433 (bfd_canonicalize_dynamic_reloc): Define.
4434 * sunos.c (MY_read_dynamic_symbols): Don't define.
4435 (MY_read_dynamic_relocs): Don't define.
4436 (MY_get_dynamic_symtab_upper_bound): Define.
4437 (MY_canonicalize_dynamic_symtab): Define.
4438 (MY_get_dynamic_reloc_upper_bound): Define.
4439 (MY_canonicalize_dynamic_reloc): Define.
4440 (struct sunos_dynamic_info): Change type of dynsym_count and
4441 dynrel_count to long. Add fields canonical_dynsym and
4442 canonical_dynrel.
4443 (sunos_read_dynamic_info): Check that BFD had DYNAMIC flag set.
4444 Clear info->canonical_dynsym and info->canonical_dynrel.
4445 (MY(read_dynamic_symbols)): Removed.
4446 (MY(read_dynamic_relocs)): Removed.
4447 (sunos_get_dynamic_symtab_upper_bound): New function.
4448 (sunos_canonicalize_dynamic_symtab): New function.
4449 (sunos_get_dynamic_reloc_upper_bound): New function.
4450 (sunos_canonicalize_dynamic_reloc): New function.
4451 * libaout.h: Declare struct reloc_ext_external and
4452 reloc_std_external to avoid prototype problems.
4453 (struct aout_backend_data): Remove fields read_dynamic_symbols and
4454 read_dynamic_relocs.
4455 (NAME(aout,translate_symbol_table)): Declare.
4456 (NAME(aout,swap_ext_reloc_in)): Declare.
4457 (NAME(aout,swap_std_reloc_in)): Declare.
4458 * aoutx.h (NAME(aout,translate_symbol_table)): Renamed from
4459 translate_symbol_table and made non-static. Changed all callers.
4460 (NAME(aout,slurp_symbol_table)): Don't read dynamic symbols.
4461 (NAME(aout,slurp_reloc_table)): Don't read dynamic relocs.
4462 (NAME(aout,get_reloc_upper_bound)): Don't count dynamic relocs.
4463 * aoutf1.h (aout_32_sunos4_write_object_contents): Don't bother to
4464 remove dynamic symbols and relocs. They will no longer be
4465 present.
4466 (MY_read_dynamic_symbols): Don't define.
4467 (MY_read_dynamic_relocs): Don't define.
4468 (sunos4_aout_backend): Don't initialize dynamic entry points.
4469 * aout-target.h (MY_read_dynamic_symbols): Don't define.
4470 (MY_read_dynamic_relocs): Don't define.
4471 (MY(backend_data)): Don't initialize dynamic entry points.
4472 (MY_get_dynamic_symtab_upper_bound): If not defined, define to
4473 _bfd_nodynamic version.
4474 (MY_canonicalize_dynamic_symtab): Likewise.
4475 (MY_get_dynamic_reloc_upper_bound): Likewise.
4476 (MY_canonicalize_dynamic_reloc): Likewise.
4477 * All backends: Added BFD_JUMP_TABLE_DYNAMIC to target vector.
4478 * bfd-in2.h: Rebuilt.
4479 * libbfd.h: Rebuilt.
4480
4481 * cf-m68klynx.c: Include sysdep.h.
4482
4483 * hp300hpux.c: Removed some spaces in uses of NAME to avoid
4484 problems with traditional C compilers.
4485
6812b607
ILT
4486 * targets.c (bfd_target): Rearranged fields in target vector.
4487 Removed _bfd_debug_info_start, _bfd_debug_info_end and
4488 _bfd_debug_info_accumulate, which were never used.
4489 (BFD_JUMP_TABLE_GENERIC, BFD_JUMP_TABLE_COPY): Defined.
4490 (BFD_JUMP_TABLE_CORE, BFD_JUMP_TABLE_ARCHIVE): Defined.
4491 (BFD_JUMP_TABLE_SYMBOLS, BFD_JUMP_TABLE_RELOCS): Defined.
4492 (BFD_JUMP_TABLE_WRITE, BFD_JUMP_TABLE_LINK): Defined.
4493 * All backends: Changed to use the new BFD_JUMP_TABLE_* macros
4494 rather than the single JUMP_TABLE macro. Removed many of the
4495 weird macro definitions needed to support the monolithic
4496 JUMP_TABLE.
4497 * bfd-in.h (JUMP_TABLE): Removed.
4498 * libbfd-in.h: Define a bunch of macros, and declare a few
4499 functions, for use with the new BFD_JUMP_TABLE_* macros.
4500 * libbfd.c (_bfd_dummy_new_section_hook): Removed.
4501 (bfd_false): Set bfd_error_invalid_operation.
4502 (bfd_nullvoidptr): Likewise.
4503 (bfd_n1): New function.
4504 (_bfd_nocore_core_file_matches_executable_p): Renamed from
4505 _bfd_dummy_core_file_matches_executable_p.
4506 (_bfd_nocore_core_file_failing_command): Similar rename. Set
4507 bfd_error_invalid_operation.
4508 (_bfd_nocore_core_file_failing_signal): Likewise.
4509 (_bfd_generic_get_section_contents): Renamed from
4510 bfd_generic_get_section_contents. Changed all callers.
4511 (_bfd_generic_set_section_contents): Similar rename.
4512 * ieee.c: #if 0 out ieee_bfd_debug_info_start,
4513 ieee_bfd_debug_info_end, ieee_bfd_debug_info_accumulate. They
4514 were never called.
4515 * bfd-in2.h: Rebuilt.
4516 * libbfd.h: Rebuilt.
4517
65b1ef49
JL
4518Tue Apr 5 22:10:04 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4519
4520 * Crude support for examining dynamic libraries.
4521 * som.c (som_object_setup): Set DYNAMIC flag for SHL_MAGIC and
4522 DL_MAGIC objects.
4523 (som_prep_headers): Preserve the system_id for DYNAMIC objects.
4524 Use SHL_MAGIC as the magic number of the DYNAMIC flag is set.
4525 Write exec headers for DYNAMIC objects.
4526 (som_begin_writing): DYNAMIC objects have the same alignment
4527 restrictions as D_PAGED objects.
4528 (bfd_section_from_som_symbol): Treat DYNAMIC objects like EXEC_P
4529 objects.
4530 (object_flags): Add DYNAMIC.
4531
08a43162
SS
4532Tue Apr 5 17:48:52 1994 Stan Shebs (shebs@andros.cygnus.com)
4533
4534 * i386lynx.c, sparclynx.c (NAME): Remove embedded whitespace in
4535 macro uses, confuses some non-ANSI compilers.
4536
b2452d39
JL
4537Tue Apr 5 15:50:01 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4538
4539 * som.c (som_bfd_free_cached_info): Add missing PARAMS decl.
4540 Don't free anything if we don't have a bfd_object.
4541 (som_close_and_cleanup): Call som_bfd_free_cached_info.
4542
b3cee0a9
ILT
4543Tue Apr 5 11:22:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4544
856613c4
ILT
4545 * elf32-mips.c (mips_elf_final_link): Don't remove empty sections.
4546 It turns out not to be required on Irix 5, and it causes problems
4547 if the sections happen to contain symbols.
4548
4549 * elfcode.h (write_shdrs_and_ehdr): Correct bfd_write check.
4550
b3cee0a9
ILT
4551 * aoutx.h (NAME(aout,canonicalize_reloc)): Don't error out if
4552 section->relocation is NULL; malloc might have returned NULL when
4553 given a zero size if there were no relocations.
4554 * bout.c (b_out_canonicalize_reloc): Likewise.
4555 * coffcode.h (coff_canonicalize_reloc): Likewise.
4556 * ecoff.c (ecoff_canonicalize_reloc): Likewise.
4557 * elfcode.h (elf_canonicalize_reloc): Likewise.
4558 * mipsbsd.c (MY(canonicalize_reloc)): Likewise.
4559 * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
4560 * nlmcode.h (nlm_canonicalize_reloc): Likewise.
4561 * som.c (som_canonicalize_reloc): Likewise.
4562 * hp300hpux.c (MY(slurp_reloc_table)): Likewise. Also, if malloc
4563 returns NULL, don't report an error if we asked for zero bytes.
4564 * i386lynx.c (NAME(lynx,slurp_reloc_table)): If malloc returns
4565 NULL, don't report an error if we asked for zero bytes.
4566 * nlmcode.h (nlm_slurp_reloc_fixups): Likewise.
4567
f3a14a9e
ILT
4568Mon Apr 4 15:30:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4569
c4dd531f
ILT
4570 * aoutx.h (NAME(aout,bfd_free_cached_info)): Don't free anything
4571 if we don't have a bfd_object.
4572
4002f18a
ILT
4573 Made sure that every call to bfd_read, bfd_write, and bfd_seek
4574 checks the return value and handled bfd_error correctly. These
4575 changes are not itemised. Also:
4576 * aoutx.h (emit_strtab): Change return type to boolean, and return
4577 errors.
4578 (NAME(aout,write_syms)): Check emit_strtab return value.
4579 (NAME(aout,final_link)): Likewise.
4580 * coffcode.h (coff_write_relocs): Change return type to boolean,
4581 and return errors.
4582 (coff_write_object_contents): Check coff_write_relocs return
4583 value.
4584 * i386os9k.c (os9k_swap_exec_header_in): Change return type to
4585 boolean.
4586 (os9k_object_p): Check os9k_swap_exec_header_in return value.
4587 * oasys.c (oasys_read_record): Change return type to boolean.
4588 (oasys_slurp_symbol_table: Check oasys_read_record return value.
4589 (oasys_object_p, oasys_slurp_section_data): Likewise.
4590 (oasys_write_record): Change return type to boolean.
4591 (oasys_write_syms): Likewise. Also, check oasys_write_record
4592 return value.
4593 (oasys_write_sections): Check oasys_write_record return value.
4594 (oasys_write_header): Change return type to boolean. Check
4595 oasys_write_record return value.
4596 (oasys_write_end, oasys_write_data): Likewise.
4597 (oasys_write_object_contents): Check return values of
4598 oasys_write_header, oasys_write_syms, oasys_write_data, and
4599 oasys_write_end.
4600 * srec.c (srec_write_record): Change return type to boolean.
4601 (srec_write_header): Likewise. Also, check srec_write_record
4602 return value.
4603 (srec_write_section, srec_write_terminator): Likewise.
4604 (srec_write_symbols): Change return type to boolean.
4605 (internal_srec_write_object_contents): Check return value of
4606 srec_write_symbols, srec_write_header, srec_write_section, and
4607 srec_write_terminator.
4608
f3a14a9e
ILT
4609 * Makefile.in: Rebuilt dependencies.
4610
3e2993b6
PS
4611Mon Apr 4 10:56:45 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4612
4613 * aix386-core.c (aix386_bfd_is_local_label): Correct cast from
4614 asection to asymbol.
4615 * ptrace-core.c (ptrace_unix_bfd_is_local_label): Correct cast from
4616 bfd to asymbol.
4617 * trad-core.c (trad_unix_bfd_is_local_label): Correct cast from
4618 asection to asymbol.
4619
1f46bba3
JL
4620Sun Apr 3 18:27:29 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4621
4622 * som.c (som_slurp_string_table): Use malloc to allocate space
4623 for the cached copy of the native string table.
4624 (som_slurp_symbol_table): Likewise for the native symbol table.
4625 (som_slurp_reloc_table): Likewise for the native and generic
4626 relocation tables.
4627 (som_bfd_free_cached_info): Free the cached native strings,
4628 symbols, and relocations. Also free the canonical cached
4629 relocations.
4630
9deaaaf1
ILT
4631Fri Apr 1 12:40:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4632
d6d6b18a
ILT
4633 * aoutx.h (aout_link_write_symbols): If keep_memory is false, make
4634 sure the symbol name is stored in permanent memory before adding
4635 it to the string table.
4636
dfe09c49
ILT
4637 * archive.c (_bfd_write_archive_contents): Once we've found an
4638 object, don't bother to look for more when deciding whether to
4639 build a map.
4640 (compute_and_write_armap): After adding the symbols for a BFD,
4641 call bfd_free_cached_info on it.
4642
4643 Add bfd_free_cached_info support to a.out backends.
4644 * aoutx.h (aout_get_external_symbols): Renamed from
4645 aout_link_get_symbols. Read strings even if symbols have been
4646 read. Store string size in obj_aout_string_size.
4647 (NAME(aout,slurp_symbol_table)): Call aout_get_external_symbols to
4648 read the symbols. Allocate the cached symbols with malloc, not
4649 bfd_alloc.
4650 (NAME(aout,slurp_reloc_table)): Allocate the cached relocs with
4651 malloc, not bfd_alloc.
4652 (NAME(aout,bfd_free_cached_info)): New function; free cached
4653 symbols and relocs.
4654 * libaout.h (struct aoutdata): Add external_string_size field.
4655 (obj_aout_external_string_size): New accessor macro.
4656 (NAME(aout,close_and_cleanup)): Don't declare.
4657 (NAME(aout,bfd_free_cached_info)): Declare.
4658 (aout_32_close_and_cleanup): Don't define.
4659 (aout_64_close_and_cleanup): Don't define.
4660 * aout-target.h (MY_bfd_free_cached_info): If not already defined,
4661 define as NAME(aout,free_cached_info).
4662 (MY_close_and_cleanup): If not already defined, define as
4663 MY_bfd_free_cached_info.
4664 * aout-adobe.c (aout_32_close_and_cleanup): Define.
4665 (aout_32_bfd_free_cached_info): Don't define.
4666 * bout.c (aout_32_close_and_cleanup): Define.
4667 (aout_32_bfd_free_cached_info): Don't define.
4668 * hp300hpux.c (MY_bfd_free_cached_info): Define as bfd_true.
4669 (MY_close_and_cleanup): Don't define.
4670 * i386lynx.c (NAME(lynx,slurp_reloc_table)): Allocate the cached
4671 relocs with malloc, not bfd_alloc.
4672 * i386os9k.c (aout_32_close_and_cleanup): Define.
4673 (aout_32_bfd_free_cached_info): Don't define.
4674
4675 Add a new entry point to free memory cached by a BFD.
9deaaaf1
ILT
4676 * targets.c (bfd_target): Add _bfd_free_cached_info field.
4677 * bfd.c (bfd_free_cached_info): Define.
4678 * bfd-in.h (JUMP_TABLE): Add _bfd_free_cached_info.
4679 * bfd-in2.h: Rebuilt.
4680 * All backends: Initialize bfd_free_cached_info entry point to
4681 bfd_true.
4682
4683 * elf32-hppa.c (elf_hppa_reloc_type_lookup): Correct type of
4684 first, unused, argument.
4685 (hppa_elf_is_local_label): Declare instead of
4686 som_bfd_is_local_label.
4687
4688 * coff-a29k.c (a29k_reloc): Add reloc_entry->address to value of
4689 absolute R_IREL reloc.
4690
bfe8224f
ILT
4691Thu Mar 31 11:52:15 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4692
f8ee1ebb
ILT
4693 Added some support for Irix 4 shared libraries.
4694 * ecoff.c (ecoff_new_section_hook): Set SEC_SHARED_LIBRARY for a
4695 .lib section.
4696 (ecoff_sec_to_styp_flags): Set SEC_SHARED_LIBRARY if
4697 STYP_ECOFF_LIB bit is set.
4698 (ecoff_compute_section_file_positions): Round the contents of a
4699 .lib section up to the next page boundary.
4700 (ecoff_set_section_contents): If we see a .lib section, increment
4701 the vma by one to count the number of shared libraries we have.
4702 (ecoff_write_object_contents): Don't crash if we see a
4703 STYP_ECOFF_LIB section, and don't adjust text_start or data_start
4704 or bss_size either.
4705
492d52cc
ILT
4706 * coffcode.h (CALC_ADDEND): Change to fetch original symbol value
4707 from original BFD, rather than using value of current BFD symbol.
4708 Needed for new linker.
4709 * coff-sparc.c (CALC_ADDEND): Likewise.
4710
1788b1bd
ILT
4711 * ecoff.c (ecoff_write_object_contents): Set the text_start and
4712 data_start entries in the optional header correctly even if a text
4713 or data section starts at location zero.
4714
e9c6595d
ILT
4715 * reloc.c (bfd_reloc_code_real_type): Added BFD_RELOC_26 (from sef
4716 and raeburn).
4717 * bfd-in2.h: Rebuilt.
4718
3af0f479
ILT
4719 * nlm32-i386.c (nlm_i386_read_import): Null terminate the symbol
4720 name.
4721 * nlm32-alpha.c (nlm_alpha_read_import): Likewise.
4722 * nlm32-sparc.c (nlm_sparc_read_import): Likewise.
4723
bfe8224f
ILT
4724 * coffgen.c (coff_write_symbol): Reindented. Changed to return
4725 boolean, and changed written to unsigned int *. Check error
4726 returns from called functions.
4727 (coff_write_alien_symbol): Likewise.
4728 (coff_write_native_symbol): Likewise.
4729 (coff_write_symbols): Likewise. Reworked checks on whether to
4730 write symbol name to string table for clarity and to avoid core
4731 dumping when given a non COFF symbol.
4732 * libcoff-in.h (coff_write_symbols): Declare as returning boolean.
4733 * libcoff.h: Rebuilt.
4734 * coffcode.h (coff_write_object_contents): Check return value of
4735 coff_write_symbols.
4736
326e32d7
ILT
4737Wed Mar 30 16:25:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4738
4739 Changes to let BFD return an error indication from
4740 get_symtab_upper_bound, bfd_canonicalize_symtab,
4741 bfd_get_reloc_upper_bound, and bfd_canonicalize_reloc. They now
4742 return long instead of unsigned int, and use -1 to indicate an
4743 error. Along the way, rename get_symtab_upper_bound to
4744 bfd_get_symtab_upper_bound.
4745 * bfd.c (bfd_get_reloc_upper_bound): Return long, and -1 on
4746 errors.
4747 (bfd_canonicalize_reloc): Likewise.
4748 * syms.c (bfd_get_symtab_upper_bound): Renamed from
4749 get_symtab_upper_bound.
4750 * targets.c (bfd_target): Renamed _get_symtab_upper_bound to
4751 _bfd_get_symtab_upper_bound, and changed it and
4752 _bfd_canonicalize_symtab and _get_reloc_upper_bound and
4753 _bfd_canonicalize_reloc to all return long.
4754 * aoutx.h (NAME(aout,get_symtab)): Return long, and -1 on errors.
4755 (NAME(aout,canonicalize_reloc)): Likewise.
4756 (NAME(aout,get_reloc_upper_bound)): Likewise.
4757 (NAME(aout,get_symtab_upper_bound)): Likewise.
4758 * bout.c (b_out_canonicalize_reloc): Likewise.
4759 (b_out_get_reloc_upper_bound): Likewise.
4760 * coffcode.h (coff_canonicalize_reloc): Likewise.
4761 * coffgen.c (coff_get_symtab_upper_bound): Likewise.
4762 (coff_get_symtab): Likewise.
4763 (coff_get_reloc_upper_bound): Likewise.
4764 * ecoff.c (ecoff_get_symtab_upper_bound): Likewise.
4765 (ecoff_get_symtab): Likewise.
4766 (ecoff_canonicalize_reloc): Likewise.
4767 * elfcode.h (elf_get_symtab_upper_bound): Likewise.
4768 (elf_get_reloc_upper_bound): Likewise.
4769 (elf_canonicalize_reloc): Likewise.
4770 (elf_get_symtab): Likewise.
4771 * hp300hpux.c (MY(get_symtab)): Likewise.
4772 (MY(get_symtab_upper_bound)): Likewise.
4773 (MY(canonicalize_reloc)): Likewise.
4774 * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
4775 * ieee.c (ieee_slurp_external_symbols): Change return type to
4776 boolean. Check for errors from get_symbol.
4777 (ieee_slurp_symbol_table): Change return type to boolean. Check
4778 for errors from ieee_slurp_external_symbols.
4779 (ieee_get_symtab_upper_bound): Return long, and -1 on errors.
4780 (ieee_get_symtab): Likewise.
4781 (ieee_get_reloc_upper_bound): Likewise.
4782 (ieee_canonicalize_reloc): Likewise.
4783 * mipsbsd.c (MY(canonicalize_reloc)): Likewise.
4784 * nlmcode.h (nlm_get_symtab_upper_bound): Likewise.
4785 (nlm_get_symtab): Likewise.
4786 (nlm_get_reloc_upper_bound): Likewise.
4787 (nlm_canonicalize_reloc): Likewise.
4788 * oasys.c (oasys_get_symtab_upper_bound): Likewise.
4789 (oasys_get_symtab): Likewise.
4790 (oasys_get_reloc_upper_bound): Likewise.
4791 (oasys_canonicalize_reloc): Likewise.
4792 * som.c (som_get_symtab_upper_bound): Likewise.
4793 (som_get_symtab): Likewise.
4794 (som_get_reloc_upper_bound): Likewise.
4795 (som_canonicalize_reloc): Likewise.
4796 * srec.c (srec_get_symtab_upper_bound): Likewise.
4797 (srec_get_symtab): Likewise.
4798 (srec_get_reloc_upper_bound): Define as bfd_0l.
4799 (srec_canonicalize_reloc): Likewise.
4800 * tekhex.c (tekhex_get_symtab): Return long, and -1 on errors.
4801 (tekhex_get_symtab_upper_bound): Likewise.
4802 (tekhex_get_reloc_upper_bound): Define as bfd_0l.
4803 (tekhex_canonicalize_reloc): Likewise.
4804 * libaout.h (NAME(aout,get_symtab_upper_bound)): Change
4805 declaration to return long.
4806 (NAME(aout,get_symtab)): Likewise.
4807 (NAME(aout,canonicalize_reloc)): Likewise.
4808 (NAME(aout,get_reloc_upper_bound)): Likewise.
4809 * libcoff-in.h (coff_get_symtab_upper_bound): Likewise.
4810 (coff_get_symtab): Likewise.
4811 (coff_get_reloc_upper_bound): Likewise.
4812 * libecoff.h (ecoff_get_symtab_upper_bound): Likewise.
4813 (ecoff_get_symtab): Likewise.
4814 (ecoff_canonicalize_reloc): Likewise.
4815 * libelf.h (bfd_elf32_get_symtab_upper_bound): Likewise.
4816 (bfd_elf32_get_symtab): Likewise.
4817 (bfd_elf32_get_reloc_upper_bound): Likewise.
4818 (bfd_elf32_canonicalize_reloc): Likewise.
4819 (bfd_elf64_get_symtab_upper_bound): Likewise.
4820 (bfd_elf64_get_symtab): Likewise.
4821 (bfd_elf64_get_reloc_upper_bound): Likewise.
4822 (bfd_elf64_canonicalize_reloc): Likewise.
4823 * libnlm.h (nlmNAME(get_symtab_upper_bound)): Likewise.
4824 (nlmNAME(get_symtab)): Likewise.
4825 (nlmNAME(get_reloc_upper_bound)): Likewise.
4826 (nlmNAME(canonicalize_reloc)): Likewise.
4827 * archive.c (compute_and_write_armap): Use error_return and
4828 no_memory_return labels rather than freeing information in various
4829 places. Change storage, symcount and src_count to long. Check
4830 errors from bfd_get_symtab_upper_bound and
4831 bfd_canonicalize_symtab.
4832 * bout.c (b_out_relax_section): Change reloc_size to long. Check
4833 for errors from bfd_get_reloc_upper_bound and
4834 bfd_canonicalize_reloc.
4835 (b_out_get_relocated_section_contents): Likewise.
4836 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
4837 Likewise.
4838 * elf32-mips.c: Likewise.
4839 * elf32-hppa.c (hppa_elf_stub_finish): Likewise.
4840 (hppa_look_for_stubs_in_section): Check for errors from
4841 bfd_get_symtab_upper_bound, bfd_canonicalize_symtab, and
4842 bfd_canonicalize_reloc.
4843 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Check for errors
4844 from bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
4845 * linker.c (generic_link_read_symbols): Likewise.
4846 (_bfd_generic_final_link): Check for errors from
4847 bfd_get_reloc_upper_bound and bfd_canonicalize_reloc.
4848 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
4849 * reloc16.c (bfd_coff_reloc16_relax_section): Likewise.
4850 (bfd_coff_reloc16_get_relocated_section_contents): Likewise.
4851 * libbfd.c (bfd_0l): New function.
4852 * libbfd-in.h (bfd_0l): Declare.
4853 * aix386-core.c: Change get_symtab_upper_bound, get_symtab,
4854 get_reloc_upper_bound, and canonicalize_reloc to use bfd_0l rather
4855 than bfd_0u.
4856 * cisco-core.c, hppabsd-core.c, hpux-core.c: Likewise.
4857 * irix-core.c, osf-core.c, ptrace-core.c, trad-core.c: Likewise.
4858 * bfd-in2.h: Rebuilt.
4859 * libbfd.h: Rebuilt.
4860 * libcoff.h: Rebuilt.
4861
4862 * nlm32-sparc.c (nlm_sparc_read_reloc): Remove unused variables
4863 temp and name.
4864
c2c818bc
JK
4865Wed Mar 30 08:33:04 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
4866
4867 * hosts/dpx2.h: Define POSIX_UTIME.
4868
bdf1b511
PS
4869Wed Mar 30 00:31:49 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4870
4871 * i386dynix.c, config/i386-dynix.mt: New files, handling Dynix
4872 variant of a.out.
4873 * configure.in, config.bfd: Use them for Dynix.
4874 * Makefile.in: Add dependencies for i386dynix.o.
4875 * targets.c: Add definition for i386dynix_vec.
4876 * hosts/symmetry.h: Do not define TRAD_CORE_USER_OFFSET for Dynix.
4877 Define HOST_DATA_START_ADDR and TRAD_UNIX_CORE_FILE_FAILING_SIGNAL
4878 for Dynix. Remove inclusion of dynix3.h, Dynix bfd is now handled by
4879 i386dynix.c
4880
a8a916c8
ILT
4881Mon Mar 28 12:53:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4882
9f37f56a
ILT
4883 * Makefile.in (BFD32_BACKENDS): Add coff-sparc.o.
4884
09a28207
ILT
4885 * coffcode.h (coff_set_flags): Handle bfd_arch_powerpc like
4886 bfd_arch_rs6000.
4887
ce8f1f60 4888 * config.bfd (powerpc-*-aix*): New target; use rs6000.mt.
34632537
ILT
4889 * config/rs6000.mt (SELECT_ARCHITECTURES): Add bfd_powerpc_arch.
4890
a8a916c8
ILT
4891 * aoutx.h (translate_from_native_sym_flags): Set SEC_RELOC flag
4892 for generated constructor section.
4893
06e6eb0e
JL
4894Sun Mar 27 16:25:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4895
4896 * som.c (som_begin_writing): New approach at dealing with holes
4897 in executables left by the HP linker. Does not rely on subspace
4898 alignments as subspaces are *NOT* guaranteed to be properly
4899 aligned in an executable (can you believe that!).
4900
25057836
JL
4901Sat Mar 26 10:25:43 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4902
f977e865
JL
4903 * som.c (som_get_section_contents): New function. Do not try
4904 to actually read data from a section that doesn't have either
4905 SEC_LOAD or SEC_DEBUGGING set (eg $BSS$) just return true.
4906
25057836
JL
4907 * libbfd.c (bfd_read): Set bfd_error as appropriate for a short
4908 read. (bfd_error_system_call or bfd_error_file_truncated).
4909
4910 * som.c: Do not blindly set bfd_error_system_call after a
4911 failing bfd_read, bfd_write, or bfd_seek. In a few places
4912 (like som_object_p) override the error status set by bfd_read.
4913
4914 * aix386-core.c, aout-encap,c archive.c, bout.c: Likewise.
4915 * coff-rs6000.c, coffgen.c ecoff.c, elf.c: Likewise.
4916 * elf32-hppa.c, elfcode.h, hp300hpux.c, i386lynx.c: Likewise.
4917 * nlm32-alpha.c, nlm32-i386.c, nlm32-sparc.c: Likewise.
4918
4919 * som.c: Check return values from several bfd_{seek,read,write}
4920 calls that we just assumed were not failing.
4921
471c3c3f
JK
4922Fri Mar 25 11:44:06 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
4923
4924 * hosts/sysv4.h (HAVE_PROCFS): Add comments about ptx4.
4925 * config/sysv4.mh: Add comment.
4926 * config/symmetry.mh: Change comment.
4927 * configure.host: Use sysv4, not symmetry, for i[34]86-sequent-sysv4*.
4928
ec099b4b
ILT
4929Fri Mar 25 17:10:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4930
a3a33af3 4931 Changes to support linker relaxing of embedded MIPS PIC code to
471c3c3f 4932 use a five instruction sequence for function calls which are out of
a3a33af3
ILT
4933 range of the bal instruction.
4934 * libecoff.h (struct ecoff_section_tdata): Define.
4935 (ecoff_section_data): Define.
4936 (ecoff_bfd_relax_section): Don't define.
4937 * ecoff.c (ecoff_final_link_debug_accumulate): Don't read or free
4938 the debugging information if it has already been read.
4939 (ecoff_indirect_link_order): Handle _cooked_size being different
4940 from _raw_size. Don't reread the contents or the relocs if they
4941 have already been read in.
4942 * coff-mips.c (mips_howto_table): Change bitsize of PCREL16 from
4943 18 to 16.
4944 (PCREL16_EXPANSION_ADJUSTMENT): Define.
4945 (mips_relocate_refhi): Take adjust argument.
4946 (mips_relocate_section): Handle reloc offsets stored in section
4947 used_by_bfd field. Call mips_relax_pcrel16 to handle details of
4948 expanding an out of range PCREL16. Keep trace of adjustments
4949 required by expansions. Set s and unset h when converting a reloc
4950 from undefined to section. Change handling of PC relative relocs:
4951 if against a section, they are correct in the object file, if
4952 against an external symbol they are pcrel_offset.
4953 (mips_relax_section): New function.
4954 (mips_relax_pcrel16): New function.
4955 (ecoff_bfd_relax_section): Define.
4956 * coff-alpha.c (ecoff_bfd_relax_section): Define.
4957 * ecofflink.c (bfd_ecoff_debug_accumulate): Handle adjustments
4958 built by mips_relax_section when writing out addresses.
4959 * elf32-mips.c (mips_elf_read_ecoff_info): Clear adjust field.
4960
ec099b4b
ILT
4961 * aoutx.h (NAME(aout,find_nearest_line)): The caller expects
4962 functionname_ptr to be set to a symbol name, so prepend
4963 symbol_leading_char.
4964
47e70c54
SC
4965Thu Mar 24 11:33:46 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4966
4967 * coff-h8300.c (h8300_reloc16_extra_cases): Add relaxing info
4968 for 16bit relative branches.
4969 * coff-h8500.c (r_high8, r_low16, r_high16): Don't complain on
4970 overflow.
4971
9d7f682f
JL
4972Thu Mar 24 09:21:13 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
4973
4974 * som.c (som_bfd_prep_for_ar_write): Ignore non-SOM objects.
4975 (som_bfd_ar_write_symbol_stuff, som_write_armap): Likewise.
4976
4977Wed Mar 23 14:29:31 1994 David J. Mackenzie (djm@rtl.cygnus.com)
4978
4979 * netbsd386.c (N_SET_FLAGS): Delete the old definition.
4980
456961d1
ILT
4981Wed Mar 23 14:58:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4982
4983 Clean up the relaxing code for the new linker.
4984 * targets.c (_bfd_relax_section): Take boolean *again argument
4985 rather than asymbol list.
4986 * bfd.c (bfd_relax_section): Change name of fourth argument from
4987 symbols to again.
4988 * reloc.c (bfd_generic_relax_section): Take boolean *again
4989 argument rather than asymbol list. Always return true.
4990 * bout.c: Include genlink.h.
4991 (aligncode, perform_slip): Declare.
4992 (perform_slip): Take BFD argument rather than asymbol list.
4993 Changed all callers. Get the symbols from the BFD. Change the
4994 hash table entry value as well as the symbol value.
4995 (abs32code): Take BFD argument rather than asymbol list. Changed
4996 all callers.
4997 (aligncode): Likewise.
4998 (b_out_relax_section): Take boolean *again argument rather than
4999 asymbol list. Only return false if an error occurred. Set *again
5000 to false. Get symbols from BFD.
5001 * reloc16.c: Include genlink.h.
5002 (bfd_perform_slip): Take BFD argument rather than asymbol list.
5003 Get the symbols from the BFD. Change the hash table entry value
5004 as well as the symbol value.
5005 (bfd_coff_reloc16_relax_section): Take boolean *again argument
5006 rather than asymbol list. Only return false if an error occurred.
5007 Set *again to false. Get symbols from BFD.
5008 * coffcode.h (bfd_coff_backend_data): Change
5009 _bfd_coff_reloc16_estimate to take BFD argument rather than
5010 asymbol list.
5011 (bfd_coff_reloc16_estimate): Corresponding change.
5012 (dummy_reloc16_estimate): Corresponding change.
5013 * libcoff-in.h (bfd_coff_reloc16_relax_section): Change
5014 declaration to take boolean * rather than asymbol list.
5015 (bfd_perform_slip): Change declaration to take BFD rather than
5016 asymbol list.
5017 * coff-h8300.c (h300_reloc16_estimate): Take BFD argument rather
5018 than asymbol list. Changed calls to bfd_perform_slip.
5019 * bfd-in2.h: Rebuilt.
5020 * libbfd.h: Rebuilt.
5021 * libcoff.h: Rebuilt.
5022 * Makefile.in: Rebuilt dependencies.
5023
5024 * genlink.h (_bfd_generic_link_get_symbols): Define.
5025 (_bfd_generic_link_get_symcount): Define.
5026 * linker.c (generic_link_read_symbols): New function.
5027 (generic_link_add_object_symbols): Use it. Use
5028 _bfd_generic_link_get_symbols and _bfd_generic_link_get_symcount
5029 to get the symbols from the BFD.
5030 (generic_link_check_archive_element): Likewise.
5031 (_bfd_generic_final_link): Likewise.
5032 (_bfd_generic_link_output_symbols): Likewise.
5033 (default_indirect_link_order): Likewise.
5034 (generic_link_add_symbol_list): Store pointer to hash table entry
5035 in asymbol udata field.
5036
4335ce64
ILT
5037Tue Mar 22 13:09:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5038
c031ba0b
ILT
5039 * coff-mips.c (mips_howto_table): Add entry for new MIPS_R_PCREL16
5040 reloc, used in embedded PIC code.
5041 (mips_adjust_reloc_in): Change sanity check to permit new reloc.
5042 (mips_bfd_reloc_type_lookup): Turn BFD_RELOC_16_PCREL_S2 into
5043 MIPS_R_PCREL16.
5044
4335ce64
ILT
5045 * elf32-mips.c (mips_elf_final_link): Account for link_order
5046 relocs when allocating space for relocations. Set SEC_RELOC flag
5047 for any section which has relocs. Handle link_order relocs in
5048 link_order loop. Use _bfd_generic_link_add_symbols_collect for
5049 add_symbls entry point.
5050
5051 * linker.c (_bfd_generic_final_link): Set reloc_count to 0 before
5052 counting relocs. Set SEC_RELOC flag for any section which has
5053 relocs.
5054
5055 * linker.c (_bfd_default_link_order): Handle bfd_data_link_order.
5056
5057 * linker.c (_bfd_generic_link_add_symbols): Just call
5058 generic_link_add_symbols.
5059 (_bfd_generic_link_add_symbols_collect): New function, like
5060 _bfd_generic_link_add_symbols but also collect constructors and
5061 destructors by name as collect2 does.
5062 (generic_link_add_symbols): New function, like old
5063 _bfd_generic_link_add_symbols but with collect argument.
5064 (generic_link_add_object_symbols): Take collect argument.
5065 (generic_link_check_archive_element_no_collect): New function.
5066 (generic_link_check_archive_element_collect): New function.
5067 (generic_link_check_archive_element): Take collect argument.
5068 (generic_link_add_symbol_list): Take collect argument.
5069 (_bfd_generic_link_add_one_symbol): Rename constructor argument to
5070 collect.
5071 * libbfd-in.h (_bfd_generic_link_add_symbols_collect): Declare.
5072 * libbfd.h: Rebuilt.
5073
9d92fe0a
JL
5074Tue Mar 22 10:04:00 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5075
5076 * archive.c (bfd_construct_extended_name_table): Use ar_padchar
5077 for first character in an extended name.
5078 (_bfd_write_archive_contents): If ar_padchar == '/', then use
5079 "//" as the name of the special archive member holding the
5080 extended name table.
5081
f1cca647
ILT
5082Mon Mar 21 12:28:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5083
5084 Support for link_order types which generate relocs in order to
5085 support -Ur in the linker.
5086 * linker.c (generic_link_add_symbol_list): Remove bitsize argument
5087 from call to _bfd_generic_link_add_one_symbol.
5088 (_bfd_generic_link_add_one_symbol): Remove bitsize argument.
5089 Don't pass bitsize to constructor call back. Pass BFD_RELOC_CTOR
5090 instead of bitsize to add_to_set call back.
5091 (_bfd_generic_final_link): Account for link_order relocs when
5092 allocating space for relocations. Handle them in link_order loop.
5093 (_bfd_generic_reloc_link_order): New function.
5094 (_bfd_default_link_order): If a reloc_link_order is seen here,
5095 abort.
5096 (_bfd_count_link_order_relocs): New function.
5097 * libbfd-in.h (_bfd_generic_link_add_one_symbol): Remove bitsize
5098 argument from declaration.
5099 (_bfd_generic_reloc_link_order): Declare.
5100 (_bfd_count_link_order_relocs): Declare.
5101 * libbfd.h: Rebuilt.
5102 * aoutx.h (aout_link_add_symbols): Remove bitsize argument from
5103 call to _bfd_generic_link_add_one_symbol.
5104 (NAME(aout,final_link)): Account for link_order relocs when
5105 allocating space for relocations. Handle them after handling all
5106 input BFDs.
5107 (aout_link_reloc_link_order): New function.
5108 * ecoff.c (ecoff_link_add_externals): Remove bitsize argument from
5109 call to _bfd_generic_link_add_one_symbol.
5110 (ecoff_bfd_final_link): Account for link_order relocs when
5111 allocating space for relocations. Handle them in link_order loop.
5112 (ecoff_link_write_external): Set the storage class of a defined
5113 linker created symbol based on the section it is in. Correct
5114 bfd_link_hash_weak case to use .sc rather than .st.
5115 (ecoff_reloc_link_order): New function.
5116 * coff-alpha.c (alpha_bfd_reloc_type_lookup): Handle
5117 BFD_RELOC_CTOR.
5118 * coff-mips.c (mips_bfd_reloc_type_lookup): Likewise.
5119
5120 * sunos.c (sunos_read_dynamic_info): Remove unused locals dynsym
5121 and buf.
5122
5123 * cisco-core.c (cisco_core_file_p): Only pass one argument to
5124 bfd_zmalloc. Free a pointer, not a union.
5125 (cisco_bfd_is_local_label): Correct cast from asection to asymbol.
5126
142f59f4
JL
5127Sun Mar 20 09:24:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5128
17e64ad3
JL
5129 * bfd/som.c (som_begin_writing): Fix thinko (off by one error).
5130
c2e1207b
JL
5131 * som.c (bfd_section_from_som_symbol): Only to do the value
5132 comparison for function symbols within executables.
5133
c05d2d43
JL
5134 * som.c (bfd_section_from_som_symbol): Renamed from
5135 som_section_from_subspace_index. Pass in a native SOM symbol.
5136 For executables, iterate through the sections to find out
5137 which contains the symbol's address rather than using the
5138 symbol_info field. (symbol_info has a different meaning for
5139 dynamicly linked executables.)
5140
61bcbf40
JL
5141 * trad-core.c (trad_unix_core_file_p): Don't pass abfd to
5142 bfd_zmalloc.
5143
517a6af6
JL
5144 * som.c (som_begin_writing): Fix braino (one call to align
5145 space/subspace data was done unconditionally rather than
5146 just for executables.)
5147
142f59f4
JL
5148 * som.c (som_begin_writing): Align text in all executables to
5149 make HPUX kernel happy. Fixes strip/objcopy for shared
5150 executables.
5151
00806436
JL
5152Sat Mar 19 07:06:59 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5153
5154 * som.c (som_begin_writing): Account for alignment needs of
5155 subspaces too when writing executables. Never request a negative
5156 bss size. Fixes some problems with demand paged executables,
5157 still having problems with pure executables and shared executables.
5158
f3f29240
JK
5159Fri Mar 18 19:12:47 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
5160
5161 * trad-core.c (trad_unix_core_file_p): Call bfd_zmalloc not
5162 bfd_zalloc for rawptr, because later on we may call free, not
5163 bfd_release, on it.
5164
5165 * bfd.c (struct _bfd): Add cisco_core_struct to tdata union.
5166 * libbfd.c (bfd_read, bfd_seek): Add comments regarding errors.
5167 * cisco-core.c: New file.
47dc9b52
JK
5168 * Makefile.in: Change accordingly.
5169 * configure.in: Recognize cisco_core_vec.
5170 * config/m68k-aout.mt (SELECT_VECS): Add cisco_core_vec.
5171 * targets.c: Add cisco_core_vec.
f3f29240
JK
5172 * bfd-in2.h: Rebuilt.
5173
3b499495
JL
5174Fri Mar 18 18:13:49 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5175
15766917
JL
5176 * som.h (som_copyable_section_data_struct): New structure
5177 containing all the private section information which needs
5178 to be copied from input section to output section during
5179 objcopy or strip.
5180 (som_section_data_struct): Remove several fields now in
5181 som_copyable_section_data_struct. Make the space and
5182 subspace dictionaries be pointers (to save space when
5183 only reading objects).
5184
5185 * som.c (bfd_som_set_section_attributes): Now returns a boolean;
5186 some references changed. Allocate a copyable data stucture if
5187 none exists. Store info into the copyable data structure.
5188 (bfd_som_set_subsection_attributes): Likewise.
5189 (som_is_space, som_is_subspace, som_is_container): New functions.
5190 Use these instead of directly accessing private data.
5191 (som_prep_headers): Allocate space and subspace headers here.
5192 Fill in some fields in the space/subspace headers from the
5193 copyable data.
5194 (som_bfd_copy_private_section_data): Only copy the stuff
5195 that we really need to make objcopy and strip work. Allocate
5196 the copy_data structure for the output bfd before copying.
5197
4359a7ef
JL
5198 * som.h (struct som_exec_data): New structure to hold exec
5199 info that must be preserved when running objcopy/strip.
5200 (struct somdata): Add new "exec_data" field and accessor
5201 macro. Add some comments on how the various fields are used.
5202 (som_section_data_struct): Make is_space and is_subspace bitfields.
5203 Delete unused subspace_index. All references now use the
5204 target_index field within the section structure itself.
5205
5206 * som.c (make_unique_section): Delete unused declaration.
5207 (som_bfd_copy_private_bfd_data): New function.
5208 (som_object_setup): Allocate space for and save exec information
5209 that needs to be copied during objcopy/strip.
5210 (som_mkobject): Do not allocate space for a file header here.
5211 It is not used when only reading SOM objects.
5212 (som_prep_headers): Allocate space for and attach a file header
5213 to the output bfd. For executables, use the saved system_id
5214 value rather than trying to guess the right value. Do not abort
5215 wwhen setting file_hdr->entry* for executables.
5216 (som_begin_writing): For executables, set the exec_entry and
5217 exec_flags fields.
5218 (som_copy_private_backend_section_data): Always return a value.
5219
08b3c4f9
JL
5220 * libhppa.h (PA_PAGESIZE): Define.
5221
5222 * som.c (SOM_ALIGN): Define.
5223 (som_begin_writing): If writing an executable, initialize all
5224 fields in the exec header to zero. Update fields in the exec
5225 header as sizes of loadable subspaces are computed. Carefully
5226 preserve alignments when building executables. Actually write the
5227 exec after all the fields are filled in.
5228
3b499495
JL
5229 * Better long-filename handling. Reads SOM ABI compliant extended
5230 names, but doesn't quite write compliant extended names yet.
5231 * som.c (som_slurp_extended_name_table): Delete function. The
5232 generic code will handle things correctly.
5233 (som_slurp_armap): Seek to the beginning of the next member.
5234 (normalize): New function.
5235 (som_bfd_ar_write_symbol_stuff): Take the size of the extended
5236 name table into account when computing the file offsets in the
5237 SOM dictionary. Make sure to align to an even boundary.
5238 (som_write_armap): Initialize the checksum to zero.
5239 (ar_maxchars): Fix. Opps.
5240
ff978570
KR
5241Fri Mar 18 20:35:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5242
5243 * aoutx.h (reloc_type_lookup): Handle BFD_RELOC_CTOR on a 64-bit
5244 machine. Handle BFD_RELOC_SPARC13 and BFD_RELOC_SPARC_BASE13.
5245
6f4aac6c
KR
5246Thu Mar 17 18:26:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5247
5a66538b
KR
5248 * bfd-in.h (BFD_VERSION): Use @VERSION@.
5249 * Makefile.in (bfd.h): Replace it with contents of VERSION file.
5250 * bfd-in2.h: Regenerated.
5251
6f4aac6c
KR
5252 * trad-core.c (trad_unix_bfd_is_local_label): Fixed typo where
5253 this was also named trad_unix_bfd_copy_private_bfd_data.
5254
8eb5d4be
JK
5255Thu Mar 17 10:37:07 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
5256
5257 * aoutx.h, elfcode.h, coff-alpha.c, bout.c, ecoff.c, ecofflink.c,
5258 elf32-hppa.c, elf32-mips.c, linker.c, som.c, sunos.c: If malloc(0)
5259 returns NULL, it is not an error. It's possible that some of
5260 these checks are not necessary (because the size can never be
5261 zero), but putting in the checks is the conservative thing to do
5262 in light of the fact that some of these malloc calls replaced
5263 unchecked alloca calls, in which a zero argument would work fine.
5264
1c6042ee
ILT
5265Thu Mar 17 11:44:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5266
7838792b
ILT
5267 * osf-core.c (osf_core_bfd_copy_private_bfd_data): Remove
5268 duplicate definition.
5269 (osf_core_bfd_is_local_label): Define.
5270
4bbf7a49
ILT
5271 * reloc.c (bfd_generic_get_relocated_section_contents): Don't fail
5272 if malloc (0) fails. bfd_canonicalize_reloc returning 0 is not a
5273 failure indication, it merely means there are no relocs.
5274
1c6042ee
ILT
5275 * elfcode.h (NAME(bfd_elf,write_object_contents)): Don't use space
5276 after NAME, since SunOS /bin/cc can't handle it.
5277
ae6710bc
DM
5278Wed Mar 16 16:43:33 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5279
5280 * netbsd386.c (N_SET_FLAGS): Don't nuke the machine id field.
5281 From sukes@glue.umd.edu (Tasuki Hirata).
5282
5283Wed Mar 16 07:55:54 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
5284
5285 * aoutf1.h (4 places): Use a simple #if on ARCH_SIZE, rather than
5286 all that convoluted stuff with NAME, CAT3, etc. The convoluted
5287 stuff broke for SunOS4 /bin/cc (due to DEFUN elimination, I guess).
5288
35ac8aac
JL
5289Wed Mar 16 00:02:05 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5290
5291 * som.c (som_prep_for_fixups): Detect section symbols based
5292 on either the lack of private data or the symbol flags. Do not
5293 munge section symbol names anymore -- they no longer confuse GDB.
5294 (som_begin_writing): Leave space for an exec header if writing
5295 an executable.
5296 (som_slurp_symbol_table): Recognize both forms of section symbol
5297 names "L$0\002" and "$<FOO>$". Change the name of "L$0\002"
5298 section symbols to be the name of the section they represent.
5299 Debugging symbols begin with "L$0\001", not just "L$".
5300
5b3577cb
JL
5301Tue Mar 15 22:58:28 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5302
5303 * bfd-in2.h, libbfd.h, libcoff.h: Rebuilt.
5304
5305 * bfd-in.h (JUMP_TABLE): Add new entries to the jump table
5306 for bfd_copy_private_section_data, bfd_copy_private_bfd_data,
5307 and bfd_is_local_label.
5308
5309 * targets.c: Add new entries to the bfd_target structure.
5310
5311 * bfd.c (bfd_copy_private_bfd_data): New definition.
5312
5313 * section.c (bfd_copy_private_section_data): New definition.
5314
5315 * syms.c (bfd_is_local_label): New definition.
5316
5317 * libbfd-in.h (bfd_generic_is_local_label): Declare.
5318
5319 * libbfd.c (bfd_generic_is_local_label): New function.
5320
5321 * *-core.c: Provide default definitions for new functions in
5322 the target vector which all point to bfd_false.
5323
5324 * aout-target.h, coffcode.h, elf32-target.h elf64-target.h, ieee.c
5325 libaout.h, libecoff.h, nlm-target.h, oasys.c, srec.c, tekhex.c
5326 Default new vectors for copying private backend data to bfd_true.
5327 Default new vector for determining if a symbol is a local label
5328 to bfd_generic_is_local_label.
5329
5330 * som.c (som_bfd_copy_private_section_data): New function.
5331 (som_bfd_is_local_label): New function.
5332 (som_bfd_copy_private_bfd_data): For now default to bfd_true.
5333
5334 * elf32-hppa.c (hppa_elf_is_local_label): New function.
5335
0069bd06
ILT
5336Tue Mar 15 23:55:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5337
5338 * cf-m68klynx.c (CALC_ADDEND): Use _bfd_m68klynx_howto_table.
5339
57a1867e
DM
5340Tue Mar 15 04:41:13 1994 David J. Mackenzie (djm@rtl.cygnus.com)
5341
5342 * Most files:
5343 Replace DEFUN and DEFUN_VOID with K&R-style function definition.
5344 Indent some of them to GNU standards.
5345
5346 * aout32.c, archures.c, core.c, cpu-h8300.c, cpu-i960.c,
5347 cpu-m68k.c, cpu-m88k.c, cpu-mips.c, cpu-vax.c, ctor.c, demo64.c,
5348 elf32-hppa.h, gen-aout.c, host-aout.c, init.c, libhppa.h,
5349 libieee.h, liboasys.h, newsos3.c, som.h, stab-syms.c, sunos.c:
5350 Update copyright years.
5351
ec743cef
JL
5352Mon Mar 14 11:41:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5353
baef2065
JL
5354 * som.c (som_prep_for_fixups): A relocation involving the section
5355 symbol for the *ABS* section is really a relocation involving
5356 no symbol.
5357 (som_slurp_symbol_table): Do not set BSF_GLOBAL or BSF_EXPORT for
5358 undefined symbols. Correctly distinguish between debugger symbols
5359 and section symbols.
5360
b486fb13
JL
5361 * som (setup_sections): Set SEC_DEBUGGING and the section attributes
5362 for spaces and subspaces.
5363
4c9db344
JL
5364 * som.c (som_bfd_count_ar_symbols): Fix typo.
5365
ec743cef
JL
5366 * som.c (som_object_setup): Set EXEC_P, D_PAGED, WP_TEXT, and
5367 HAS_RELOC based on the object's magic number.
5368 (make_unique_section): Delete function. BFD and its users are
5369 prepared to handle multiple sections with the same name.
5370 (setup_sections): Allocate space on the BFD's obstack to hold
5371 section names. Use bfd_make_setion_anyway rather than the
5372 obsolete make_unique_section.
5373 (som_prep_headers): Choose the correct SOM magic number based
5374 on the BFD's flags.
5375 (som_bfd_fill_in_ar_symbols): Return false, not NULL on error.
5376
45ccfd58
ILT
5377Sat Mar 12 09:46:09 1994 Ian Lance Taylor (ian@cygnus.com)
5378
5379 * elf32-ppc.c: Renamed from elf32-powerpc.c.
45ccfd58 5380 * nlm32-ppc.c: Renamed from nlm32-powerpc.c.
45ccfd58
ILT
5381 * Makefile.in, configure.in: Corresponding changes.
5382
92177c52
ILT
5383Fri Mar 11 22:27:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5384
5385 * elf32-powerpc.c: Extensive changes to update to preliminary ABI.
5386
3e0b5554
PS
5387Fri Mar 11 00:34:59 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5388
5389 * sunos.c (sunos_read_dynamic_info): Assume that dynamic info
5390 is always located at the start of the data section to allow
5391 recovery of the dynamic info from a stripped executable.
5392 * ecoff.c (ecoff_styp_to_sec_flags): Handle STYP_PDATA, STYP_XDATA
5393 and STYP_COMMENT.
5394
80425e6c
JK
5395Wed Mar 9 17:17:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
5396
5397 * libbfd-in.h: Remove alloca cruft. It was missing some necessary
5398 cruft (like the #pragma alloca for AIX).
5399 In addition to that problem, the C alloca calls xmalloc, which
5400 means checking for being out of memory can't work right. The
5401 following changes remove all uses of alloca from BFD.
5402 * hosts/solaris2.h: Remove alloca cruft.
5403 * som.c: Replace alloca with a fixed size auto array.
5404 * aoutx.h, elfcode.h, nlmcode.h, bout.c, coff-alpha.c, ecoff.c,
d7fb4531
JK
5405 ecofflink.c, elf32-hppa.c, elf32-mips.c, linker.c, reloc.c, som.c,
5406 sunos.c: Replace alloca with malloc and appropriate error checking and
80425e6c
JK
5407 freeing.
5408 * linker.c: Replace alloca with obstack_alloc.
5409 * libbfd.h: Rebuilt.
5410
1404c365
ILT
5411Tue Mar 8 12:10:38 1994 Ian Lance Taylor (ian@cygnus.com)
5412
5413 * coff-mips.c (mips_relocate_section): Handle MIPS_R_LITERAL like
5414 MIPS_R_GPREL.
5415
25677b5b
PS
5416Sat Mar 5 14:08:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5417
5418 * elf32-hppa.h, elfcode.h: Replace uses of Elf*_Half, Elf*_Word,
5419 Elf*_Off typedefs by their expansion, the typedefs have been
5420 removed from include/elf/internal.h.
802f4fe2
PS
5421 * elfcode.h (bfd_section_from_shdr): Handle SHT_DYNAMIC section like
5422 SHT_PROGBITS section.
25677b5b 5423
7b5f6e48
JL
5424Thu Mar 3 20:03:39 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5425
5426 * som.h (_PA_RISC_ID): Treat HOST_HPPAOSF just like HOST_HPPABSD.
5427
baf200d4
JK
5428Wed Mar 2 13:28:06 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
5429
5430 * configure.host: Recognize i[34]86-sequent-*.
5431
5432 * trad-core.c (trad_unix_core_file_p): A non-zero, not zero,
5433 return from bfd_seek indicates an error.
5434 New macro TRAD_CORE_DSIZE_INCLUDES_TSIZE to replace
5435 TRAD_CORE_STACK_OFFSET.
5436 * hosts/symmetry.h: Define TRAD_CORE_DSIZE_INCLUDES_TSIZE and
5437 TRAD_CORE_USER_OFFSET but not HOST_STACK_OFFSET.
5438
44fd6622
JL
5439Wed Mar 2 11:57:03 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5440
4e64845c
JL
5441 * som.[ch]: Do not include libhppa.h in som.c, instead include
5442 it in som.h.
5443
5444 * elf32-hppa.[ch]: Do not include libhppa.h in elf32-hppa.c, instead
5445 include it in elf32-hppa.h.
5446
98ecc945
JL
5447 * som.c (log2): Return -1 on error rather than aborting.
5448 (setup_sections): Bubble up an error from log2.
5449
44fd6622
JL
5450 * Changes to make HP C compiler happy in both traditional
5451 and ANSI mode.
5452 * som.c (hppa_som_gen_reloc_type): Use correct enum type for
5453 field parameter.
5454 (bfd_som_set_section_attributes): Use unsigned int rather than
5455 unsigned char to avoid GNU-C extensions.
5456 (bfd_som_attach_aux_hdr): Return a boolean to indicate success
5457 or failure rather than aborting on failure.
5458
5459 * som.h (bfd_som_set_section_attributes): Fix prototype to match
5460 som.c changes.
5461 (bfd_som_attach_aux_hdr): Add prototype.
5462 (hppa_som-gen_reloc_type): Likewise.
5463
5464 * elf32-hppa.c: Add a couple casts to make HP compiler happy.
5465 (hppa_look_for_stubs_in_section): Do not return false on failure
5466 until rest of code is ready to handle it. Abort for now.
5467
d1f8b181
JK
5468Tue Mar 1 18:33:59 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
5469
5470 * bfd-in2.h: Rebuilt.
5471
85cc33c7
KH
5472Tue Mar 1 13:06:53 1994 Kung Hsu (kung@mexican.cygnus.com)
5473
bb37e716
KH
5474 * i386os9k.c: use new functions bfd_set_error and bfd_get_error.
5475 * Makefile.in: delete an extra blank.
85cc33c7
KH
5476 * configure.in : Add i396os9k_vec.
5477
2f88343d
KH
5478Mon Feb 28 15:41:01 1994 Kung Hsu (kung@mexican.cygnus.com)
5479
5143c305
KH
5480 * config.bfd : Add i386-os9k.
5481 * config/i386-os9k.mt : Newly add os9k target makefile.
5482
2f88343d
KH
5483 * i386os9k.c : new file to handle os9k format bfd.
5484 * Makefile.in : Handle new file i386os9k.c
2f88343d
KH
5485 * targets.c : Add bfd_target_os9k_flavour and i386os9k_vec.
5486 * cache.c : Initialize cache_sentinel to 0.
5487
6e58a4e5
JL
5488Sun Feb 27 16:30:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5489
f3b477be
JL
5490 * elf32-hppa.c (mismatches, retval_mismatches): Fix mismatch
5491 action in case where caller specified no argument relocation.
5492 (hppa_elf_build_linker_stub): Try again to get the sym_ptr_ptr
5493 right in the original relocation and the stub's relocation.
5494
6e58a4e5
JL
5495 * elf32-hppa.h (hppa_look_for_stub_in_section): Fix typo. Delete
5496 unused symbols argument.
5497
5498 * elf32-hppa.c (hppa_elf_stub_reloc): Accept asymbol ** rather
5499 than asymbol * for original target symbol. All callers changed.
5500 Set reloc->sym_ptr_ptr appropriately.
5501 (hppa_elf_build_linker_stub): Set reloc->sym_ptr_ptr correctly.
5502 (hppa_elf_look_for_stubs_in_section): No longer need symbols
5503 argument. Use the output symbols when canonicalizing the relocs,
5504 creating them if necessary.
5505
5506 * linker.c (_bfd_generic_link_output_symbols): Do not
5507 rebuild/clobber the output symbols if they already exist.
5508
4c8d6c9f
SS
5509Sun Feb 27 15:22:36 1994 Stan Shebs (shebs@andros.cygnus.com)
5510
fdfe2d14
SS
5511 * targets.c (BFD_SEND, BFD_SEND_FMT): Add debugging versions that
5512 check all the pointer dereferences. Enabled via DEBUG_BFD_SEND.
5513 * bfd-in2.h: Rebuilt.
5514
4c8d6c9f
SS
5515 * srec.c (hex_value): Always set to a size of 256 bytes.
5516 (srec_init): Cosmetic changes.
5517
e08b9ad7
JL
5518Sun Feb 27 11:18:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5519
5520 * elf32-hppa.c: Second half of major cleanup. More comments,
5521 PARAMize and staticize rest of functions. Delete unused
5522 functions. Delete unused/unnecessary arguments to some functions.
5523 Group static vars together. Abort for bad errors until we have
5524 error code propogation working. Work on spacing and indention.
5525 Add FIXMEs for unresolved problems. Use enums rather than
5526 #defines for lots of things. Merge two functions which build
5527 linker stubs into a single function (so they can easily share a
5528 ton of common code).
5529
68241b2b
ILT
5530Sat Feb 26 10:00:45 1994 Ian Lance Taylor (ian@cygnus.com)
5531
5532 * reloc.c (_bfd_relocate_contents): Adjust handling of overflow to
5533 avoid depending upon right shifts of signed numbers, and to
5534 correct handling of src_mask with lower bits zero.
5535
5536 * aoutx.h, archive.c: Add casts to avoid warnings from SVR4 cc.
5537 * ecoff.c, ecofflink.c, ecoffswap.h, srec.c: Likewise.
5538 * elf32-i386.c: Likewise.
5539 * elfcode.h (bfd_section_from_shdr): Make i unsigned; remove old
5540 #if 0 code.
5541 (elf_write_phdrs): Make i unsigned.
5542 (map_program_segments): Make i and n_left unsigned.
5543 (assign_file_positions_except_relocs): Make i unsigned.
5544 (write_shdrs_and_ehdr): Make count unsigned.
5545 (assign_file_positions_for_relocs): Make i unsigned.
5546 (NAME(bfd,elf_write_object_contents)): Make count unsigned.
5547 (section_from_elf_index): Make index argument unsigned.
5548
96db3187
ILT
5549Fri Feb 25 21:34:58 1994 Ian Lance Taylor (ian@cygnus.com)
5550
5551 * elfcode.h: Don't include assert.h.
5552 (swap_out_syms): Use BFD_ASSERT rather than assert.
5553
5554 * linker.c (_bfd_generic_link_write_global_symbol): Add missing
5555 break in switch.
5556
5557 * hosts/i386v4.h (qsort, strtol): Remove incorrect and useless
5558 declarations.
5559
d6439785
JL
5560Fri Feb 25 16:35:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5561
f5bfdacd
JL
5562 * libhppa.h (hppa_rebuild_insn): Moved here from elf32-hppa.c.
5563
5564 * elf32-hppa.h (elf_hppa_tc_symbol): Add new arguments.
5565 (elf_hppa_tc_make_sections): Likewise.
5566 (elf_hppa_final_processing): Add extern decl.
5567
5568 * elf32-hppa.c: First half of major cleanup. Add/cleanup lots of
5569 comments. PARAMize some static functions. Delete unused functions.
5570 Delete unused/unnecessary arguments to many functions. Group
5571 static vars together. Collapse common case statements together
5572 in many places. Use default case when possible instead of listing
5573 each case separately. Abort for bad errors until we get error
5574 code propogation working. Work on spacing and indention problems.
5575 Add FIXMEs for some unresolved problems. Delete hopelessly broken
5576 COMPLEX relocation support (it's never used anyway).
5577 (hppa_elf_rebuild_insn): Delete. Moved into libhppa.h.
5578 (elf_hppa_tc_symbol): Accept and use new arguments (symext chains).
5579 (elf_hppa_tc_make_sections): Likewise.
5580
43ebdfcf
JL
5581 * format.c (bfd_check_format_matches): Initialize matching_vector
5582 to keep gcc -Wall quiet.
5583
5584 * elfcode.h (elf_slurp_reloca_table): Fix typo.
5585
d6439785
JL
5586 * som.c (som_get_symtab_upper_bound): Use "sizeof (asymbol *)"
5587 not "sizeof (som_symbol_type *)".
5588
5589 * elfcode.h (elf_get_symtab_upper_bound): Use "sizeof (asymbol *)"
5590 not "sizeof (asymbol"). Opps.
5591
fbb8fe5c
ILT
5592Fri Feb 25 13:19:04 1994 Ted Lemon (mellon@pepper.ncd.com)
5593
5594 * bfd.c (bfd_get_gp_size): Can't return gp value on an archive.
5595 (bfd_set_gp_size): Can't set gp value on an archive.
5596
5e808126
SC
5597Fri Feb 25 12:57:00 1994 Steve Chamberlain (sac@jonny.cygnus.com)
5598
5599 * srec.c (pass_over): Don't skip too many characters when
5600 end of line seen.
5601
626f883f
ILT
5602Fri Feb 25 11:41:57 1994 Ian Lance Taylor (ian@cygnus.com)
5603
5604 * ecoff.c (ecoff_sizeof_headers): Align result to 16 byte
5605 boundary.
5606
5607Thu Feb 24 07:13:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5608
5609 * som.c (som_bfd_derive_misc_symbol_info): Derive symbol_info
5610 field for absolute symbols in the same manner as undefined
5611 and common symbols.
5612
a69b39f0
PS
5613Thu Feb 24 04:29:19 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5614
5615 * elfcode.h (elf_core_file_p): Check for core file e_machine match
5616 like in elf_object_p.
5617
2e7b92cf
JL
5618Wed Feb 23 18:28:37 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5619
5620 * elfcode.h (alloca): Delete declaration.
4f42757e
JL
5621
5622 * som.c (som_prep_headers): Use CPU_PA_RISC1_0 for magic
5623 number rather than HP9000S800_ID. Note som.c is careful
5624 to make sure CPU_PA_RISC1_0 is always defined.
5625
891dc727
SS
5626Mon Feb 21 10:12:02 1994 Stan Shebs (shebs@andros.cygnus.com)
5627
5628 * Makefile.in (targets.o, archures.o): Use ALL_CFLAGS to supply
5629 flags to explicit compile actions.
5630
22a71fef
ILT
5631Mon Feb 21 09:50:06 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
5632
2f0deb19
ILT
5633 * ecofflink.c (ecoff_write_symhdr): Set symhdr->magic here.
5634 * ecoff.c (ecoff_write_object_contents): Make sure .bss section
5635 ends on a page boundary if there is no symbol table.
5636 (ecoff_bfd_final_link): Don't set symhdr->magic here.
5637
aaca79a8
ILT
5638 * hosts/hp300.h: Include <stdlib.h>; don't declare free.
5639
2ab0b7f3
ILT
5640 * som.c (som_bfd_count_ar_symbols): Use a pointer and alloca
5641 rather than an array of variable size.
5642 (som_bfd_fill_in_ar_symbols): Likewise.
5643 (som_bfd_ar_write_symbol_stuff): Likewise.
5644
22a71fef
ILT
5645 * coff-alpha.c (alpha_relocate_section): Rewrite mask and shift
5646 operation to avoid OSF 1.3 cc bug.
5647 * ecoff.c (ecoff_write_object_contents): Make text_size, data_size
5648 and bss_size bfd_size_type instead of unsigned long. Make
5649 text_start and data_start bfd_vma instead of unsigned long.
5650 * ecofflink.c (ecoff_add_string): Remove incorrect cast of return
5651 value.
5652
037ce95a
ILT
5653Sun Feb 20 16:06:54 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
5654
5655 * linker.c (_bfd_generic_link_add_archive_symbols): Consider
5656 symbols in the order they appear in the archive map.
5657
3a1de3cc
PS
5658Sat Feb 19 03:17:32 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5659
5660 * coff-alpha.c (reloc_nil): Add forward declaration, add missing
5661 error_message argument.
5662 * coff-sparc.c (bfd_coff_generic_reloc): Add forward declaration,
5663 add missing error_message argument.
5664 * mipsbsd.c (mips_fix_hi16_s): Add forward declaration, add missing
5665 error_message argument.
5666
99ec1f66
ILT
5667Fri Feb 18 11:41:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5668
99ec1f66 5669 Support for PowerPC NetWare.
92177c52 5670 * nlm32-powerpc.c: New file.
99ec1f66
ILT
5671 * config.bfd (powerpc-*-netware*): New target; use ppc-nlm.
5672 * config/ppc-nlm.mt: New file.
5673 * configure.in (nlm32_powerpc_vec): New target vector; use
5674 nlm32-powerpc.o, nlm32.o, nlm.o.
5675 * targets.c (nlm32_powerpc_vec): Declare.
5676 * Makefile.in (BFD32_BACKENDS): Add nlm32-powerpc.o.
7ce8b9d1 5677 (CFILES): Add nlm32-powerpc.c.
99ec1f66
ILT
5678
5679 Initial support for PowerPC ELF. Done without an ABI, and
5680 probably to be changed when I get an ABI.
5681 * config.bfd (powerpc-*-sysv4*): New target; use ppc-elf.
5682 * config/ppc-elf.mt: New file.
5683 * configure.in (bfd_elf32_powerpc_vec): New target vector; use
5684 elf32-powerpc.o, elf32.o, elf.o.
5685 * elf32-powerpc.c: New file.
5686 * elfcode.h (prep_headers): Add bfd_arch_powerpc case.
5687 (elf_set_arch_mach): Likewise.
5688 * targets.c (bfd_elf32_powerpc_vec): Declare.
5689 * Makefile.in (BFD32_BACKENDS): Add elf32-powerpc.o.
5690 (CFILES): Add elf32-powerpc.c.
5691 Rebuilt dependencies.
5692
42f62ead
ILT
5693Thu Feb 17 15:29:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5694
5695 * coffgen.c (coff_write_linenumbers): Always return a value.
5696
5697 * elfcode.h (elf_slurp_symbol_table): Handle zero symbols
5698 reasonably. Allocate x_symp using alloca.
5699
5700 * elfcode.h (map_program_segments): ELF program header entries
5701 must be sorted by load address. This used to generate the entries
5702 in reverse order.
5703
5704 * section.c (SEC_IN_MEMORY): Define.
5705 (asection): Rename unused field otheruserdata to contents, and
5706 make it char *.
5707 (bfd_make_section_anyway): Initialize contents field to NULL.
5708 (bfd_get_section_contents): If SEC_IN_MEMORY is set, get section
5709 contents from contents field rather than from file.
5710 * bfd-in2.h: Rebuilt.
5711
d1ad85a6
DM
5712Thu Feb 17 08:30:53 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5713
5714 * bfd.c (bfd_get_error, bfd_set_error): New functions.
5715 (bfd_error): Make static.
5716 (bfd_error_type): Renamed from bfd_ec. Prepend "bfd_error_" to
5717 all values.
5718 * bfd-in2.h: Regenerated.
5719 * aix386-core.c, aout-adobe.c, aout-encap.c, aout-target.h,
5720 aoutf1.h, aoutx.h, archive.c, archures.c,
5721 bfd.c, bout.c, cache.c, coff-alpha.c, coff-mips.c,
5722 coff-rs6000.c, coffcode.h, coffgen.c, core.c, ctor.c,
5723 ecoff.c, ecofflink.c, elf.c, elf32-hppa.c, elf32-mips.c,
5724 elfcode.h, format.c, hash.c, hp300hpux.c, hppabsd-core.c,
5725 i386lynx.c, ieee.c, libbfd.c, libelf.h, linker.c,
5726 lynx-core.c, nlm.c, nlm32-alpha.c, nlm32-i386.c,
5727 nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
5728 ptrace-core.c, reloc16.c, rs6000-core.c, section.c, som.c,
5729 srec.c, sunos.c, syms.c, targets.c, tekhex.c,
5730 trad-core.c: Change callers.
5731
7430a991
JL
5732Tue Feb 15 22:27:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5733
5734 * som.c: Remove FIXMEs for things which have been dealt with.
5735
54196ea1
KR
5736Tue Feb 15 19:39:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5737
5738 * section.c (bfd_get_section_contents): Since this function reads
5739 unrelocated contents, the section's raw size is always the one to
5740 use for bounds checking.
5741
5742 * linker.c (default_indirect_link_order): In assertion, compare
5743 link_order size field against cooked size, not raw size, of input
5744 section.
5745
5746 * bout.c (b_out_get_reloc_upper_bound): For BSS section, just
5747 return 0.
5748 (aligncode): When shrinking, the addend should be set to the
5749 current offset in the section plus the number of bytes of padding
5750 that will actually be retained.
5751 (b_out_relax_section): If a section contains no relocations, don't
5752 bother processing them.
5753 (b_out_get_relocated_section_contents): Set reloc_done. Assert
5754 that bfd_get_section_contents returns true. Check that relocs are
5755 properly ordered.
5756 (b_out_get_relocated_section_contents, case ALIGNDONE): Assert
5757 that reloc->addend falls between the current source offset and the
5758 raw size of the input section.
5759
5760 * config.bfd: Support i960 vxworks versions > 5.0 with coff, not
5761 bout. Default with no version number is still bout. Support
5762 explicit i960-coff target too.
5763
5764 * bout.c: Changed some indentation, deleted trailing whitespace,
5765 fixed some comments, removed some "#if 1" lines.
5766 (output_addr): New macro.
5767 (calljx_callback, callj_callback, get_value, abs32code, aligncode,
5768 b_out_get_relocated_section_contents): Use it for readability.
5769
c6cdb69a
JL
5770Tue Feb 15 09:00:16 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5771
5772 * som.c (som_bfd_prep_for_ar_write): Iterate through the SOM
5773 symbols, not the BFD symbols.
5774 (som_bfd_ar_write_symbol_stuff): Likewise.
5775
6e033f86
JL
5776Mon Feb 14 22:55:20 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5777
24a1f6a0
JL
5778 * som.c (som_slurp_symbol_table): Do not die if a BFD doesn't
5779 have any symbols.
5780
6e033f86
JL
5781 * Finish basic read-write support for SOM archive libraries. Bugs
5782 surely remain as this hasn't been tested all that much.
5783 * som.c (SOM_LST_HASH_SIZE, SOM_LST_MODULE_LIMIT): Define.
5784 (struct som_misc_symbol_info): New structure to hold info necessary
5785 to build both normal and library symbol tables.
5786 (som_derive_misc_symbol_info): New function to derive info necessary
5787 to build both normal and library symbol tables.
5788 (som_build_and_write_symbol_table): Use new function to derive misc
5789 symbol information.
5790 (som_slurp_symbol_table): Update backend private data for symbols
5791 appropriately.
5792 (som_bfd_prep_for_ar_write): New function.
5793 (som_bfd_ar_symbol_hash): New function.
5794 (som_bfd_ar_write_symbol_stuff): New function.
5795 (som_write_armap): Flesh out.
5796 (som_vec): Fix ar padding character.
5797
5798 * som.c: Consistently use memset rather than bzero.
5799
8b8ddedb
SG
5800Mon Feb 14 17:02:28 1994 Stu Grossman (grossman at cygnus.com)
5801
5802 * coff-rs6000.c: Add Lynx core file support, use HOST_AIX, where
5803 appropriate.
5804 * rs6000-core.c: Use HOST_AIX instead of COREFILES_PLEASE.
5805 * config/rs6000.mh: Remove defs of ARCHIVES_PLEASE and
5806 COREFILES_PLEASE.
5807 * config/rs6000lynx.mh: Turn on Lynx core file support.
5808 * hosts/rs6000.h: #define HOST_AIX.
5cf354ef 5809 * hosts/rs6000lynx.h: Create this to enable Lynx host support.
8b8ddedb 5810
6863eb4b
JL
5811Sun Feb 13 14:30:00 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5812
50c5c4ad
JL
5813 * som.h (som_symbol_data): Safely access backend private data
5814 for BFD symbols. All callers changed.
5815
6e033f86 5816 * Read-only SOM archive support.
3c37f9ca
JL
5817 * som.c (som_bfd_count_ar_symbols): New helper function.
5818 (som_bfd_fill_in_ar_symbols): New helper function.
5819 (som_slurp_armap): New function to read a SOM LST.
5820
6863eb4b
JL
5821 * som.h: Include <lst.h> and <ar.h>.
5822
5e829a34
JL
5823Sat Feb 12 22:34:14 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5824
5825 * elfcode.h (elf_map_symbols): Fix typo.
5826 (write_object_contents): Check return values from prep_headers and
5827 elf_compute_section_file_positions.
5828 (set_section_contents): Likewise.
5829
a15691a5
DM
5830Fri Feb 11 16:56:50 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5831
5832 * archive.c (normalize) [VMS]: Call malloc, not bfd_xmalloc.
5833 (bfd_construct_extended_name_table): Check result of normalize.
5834
9783e04a
DM
5835Tue Feb 8 08:57:31 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5836
5837 Make all callers of malloc or realloc (including via obstacks)
5838 check the result for NULL. Most set bfd_error to no_memory and
5839 return in that case; a few are harder to fix, and are marked
5840 with "FIXME <return type>".
5841
5842 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub
5843 hppa_elf_build_long_branch_stub): Check bfd_make_empty_symbol return.
5844 * linker.c (_bfd_generic_link_output_symbols
5845 _bfd_generic_link_write_global_symbol): Ditto
5846 * section.c (bfd_make_section_anyway): Ditto.
5847
5848 * tekhex.c (find_chunk tekhex_mkobject): Check bfd_alloc.
5849 (first_phase): Ditto. FIXME void
5850 (tekhex_make_empty_symbol): Check bfd_zalloc.
5851
5852 * sunos.c (sunos_read_dynamic_info): Check bfd_zalloc.
5853 (MY(read_dynamic_symbols) MY(read_dynamic_relocs)): Check bfd_alloc.
5854
5855 * stringhash.c (_bfd_stringtab_hash_newfunc): Check bfd_hash_allocate.
5856
5857 * srec.c: Indent.
5858 (fillup_symbols): Check bfd_alloc. FIXME void
5859 (srec_mkobject srec_get_section_contents
5860 srec_set_section_contents): Check bfd_alloc.
5861 (srec_make_empty_symbol): Check bfd_zalloc.
5862
5863 * som.c (hppa_som_gen_reloc_type): Check bfd_alloc_by_size_t.
5864 (make_unique_section): Check bfd_alloc.
5865 (som_new_section_hook): Check bfd_zalloc.
5866 (bfd_som_attach_aux_hdr): Ditto. FIXME void
5867
5868 * rs6000-core.c (rs6000coff_core_p): Check bfd_zalloc.
5869
5870 * osf-core.c (osf_core_make_empty_symbol): Check bfd_zalloc.
5871 (osf_core_core_file_p): Check bfd_alloc.
5872
5873 * oasys.c (oasys_slurp_symbol_table oasys_archive_p
5874 oasys_mkobject oasys_object_p oasys_new_section_hook
5875 oasys_set_section_contents): Check bfd_alloc.
5876 (oasys_slurp_section_data): Check bfd_zalloc and bfd_alloc.
5877 (oasys_make_empty_symbol): Check bfd_zalloc.
5878
5879 * nlmcode.h (nlm_make_empty_symbol): Check bfd_zalloc.
5880 (nlm_slurp_symbol_table): Check bfd_zalloc and bfd_alloc.
5881
5882 * nlm32-sparc.c (nlm_sparc_read_import): Check bfd_alloc.
5883
5884 * nlm32-i386.c (nlm_i386_read_import): Check bfd_alloc.
5885
5886 * nlm32-alpha.c (nlm_alpha_read_import): Check bfd_alloc.
5887
5888 * linker.c (_bfd_link_hash_newfunc
5889 (generic_link_hash_newfunc
5890 (archive_hash_newfunc
5891 (_bfd_generic_link_add_one_symbol): Check bfd_hash_allocate.
5892 (_bfd_generic_final_link
5893 (_bfd_generic_link_output_symbols
5894 (default_indirect_link_order): Check bfd_alloc.
5895 (bfd_new_link_order): Check bfd_alloc_by_size_t.
5896
5897 * irix-core.c (irix_core_make_empty_symbol): Check bfd_zalloc.
5898
5899 * ieee.c: Indent.
5900 (read_id get_symbol get_section_entry ieee_archive_p ieee_object_p
5901 ieee_slurp_section_data ieee_new_section_hook): Check bfd_alloc.
5902 (do_one): Check bfd_alloc. Return a boolean.
5903 (ieee_slurp_section_data): Check it.
5904 (init_for_output): Check bfd_alloc. Return a boolean.
5905 (ieee_set_section_contents): Check it.
5906 (do_with_relocs): Check bfd_alloc. Return a boolean.
5907 (ieee_bfd_debug_info_accumulate): Ditto. FIXME void.
5908 (ieee_mkobject): Check bfd_zalloc.
5909 (ieee_make_empty_symbol): Check bfd_zmalloc.
5910
5911 * hpux-core.c (hpux_core_make_empty_symbol): Check
5912 bfd_zalloc.
5913
5914 * hppabsd-core.c (hppabsd_core_make_empty_symbol): Check
5915 bfd_zalloc.
5916 (hppabsd_core_core_file_p): Check bfd_zalloc.
5917
5918 * hp300hpux.c (MY(slurp_symbol_table)): Check bfd_alloc.
5919
5920 * elfcode.h (elf_new_section_hook): Check bfd_alloc.
5921 (bfd_section_from_phdr): Ditto.
5922 (write_relocs): Ditto. FIXME void
5923 (elf_map_symbols assign_section_numbers map_program_segments):
5924 Ditto. Return a boolean.
5925 (swap_out_syms): Ditto. Check elf_map_symbols.
5926 (elf_slurp_symbol_table): Check bfd_zalloc.
5927 (elf_slurp_reloca_table): Check bfd_alloc.
5928 (elf_slurp_reloc_table): Ditto.
5929 (elf_compute_section_file_positions): Check assign_section_numbers.
5930 (assign_file_positions_except_relocs): Return a boolean.
5931 Check map_program_segments.
5932 (elf_compute_section_file_positions): Check it.
5933
5934 * elf32-mips.c (mips_elf_final_link): Check bfd_alloc.
5935
5936 * elf32-hppa.c (hppa_elf_stub_branch_reloc): Check bfd_zmalloc and
5937 realloc.
5938 (hppa_elf_stub_reloc): Ditto.
5939 (hppa_elf_build_arg_reloc_stub): Check bfd_zalloc.
5940 (hppa_elf_build_long_branch_stub): Ditto.
5941 (elf32_hppa_backend_symbol_table_processing): Ditto.
5942
5943 * ecoff.c (ecoff_set_symbol_info): Check bfd_alloc. Return a boolean.
5944 (ecoff_slurp_symbol_table): Check it.
5945 (ecoff_slurp_armap): Check bfd_alloc.
5946 (ecoff_write_armap): Check bfd_zalloc.
5947 (ecoff_link_hash_newfunc): Check bfd_hash_allocate and
5948 _bfd_link_hash_newfunc.
5949 (ecoff_link_add_externals): Check bfd_alloc.
5950
5951 * ctor.c (bfd_constructor_entry): Check bfd_alloc.
5952
5953 * coffgen.c (coff_real_object_p): Check bfd_alloc.
5954 (coff_renumber_symbols): Check bfd_alloc_by_size_t. Return a boolean.
5955 (coff_write_symbol): Check bfd_alloc. FIXME int
5956 (coff_write_linenumbers): Check bfd_alloc. Return a boolean.
5957 (coff_section_symbol): Check bfd_alloc_by_size_t.
5958 (coff_get_normalized_symtab): Check bfd_alloc.
5959 (coff_bfd_make_debug_symbol): Check bfd_zalloc.
5960 * libcoff-in.h: Change decls of coff_renumber_symbols,
5961 coff_write_linenumbers.
5962 * libcoff.h: Rebuilt.
5963 * coffcode.h (coff_write_object_contents): Check
5964 coff_renumber_symbols, coff_write_linenumbers.
5965
5966 * coffcode.h: Indent.
5967 (coff_add_missing_symbols): Check bfd_alloc_by_size_t. Return a
5968 boolean.
5969 (coff_write_object_contents): Check it.
5970
5971 * coff-alpha.c (alpha_relocate_section): Check bfd_alloc.
5972 * coff-mips.c (mips_relocate_section): Ditto.
5973
5974 * archive.c (bfd_slurp_bsd_armap_f2): Check bfd_alloc value.
5975 (do_slurp_bsd_armap): Ditto.
5976 (compute_and_write_armap): Check bfd_realloc value.
5977
5978 * aoutx.h (translate_from_native_sym_flags): Check bfd_alloc
5979 return value. Return boolean value.
5980 (NAME(aout,make_empty_symbol)): Check bfd_zalloc return value.
5981 (NAME(aout,slurp_symbol_table)): Check bf_alloc and bfd_zalloc
5982 return value.
5983 (add_to_stringtab): Ditto. FIXME void
5984 (aout_link_hash_newfunc): Check bfd_hash_allocate return value.
5985 (aout_link_add_symbols): Check bfd_alloc value.
5986 (translate_symbol_table): Check translate_from_native_sym_flags.
5987 * hp300hpux.c (MY(slurp_symbol_table)): Ditto.
5988 * aoutx.h (aout_link_hash_newfunc): Check _bfd_link_hash_newfunc.
5989
5990 * opncls.c (bfd_zalloc bfd_realloc): Check result of bfd_alloc.
5991
5992 * opncls.c (obstack_chunk_alloc): Define as malloc, not
5993 bfd_xmalloc_by_size_t.
5994 (_bfd_new_bfd): Check obstack_begin for 0 return.
5995
5996 * ieee.c (obstack_chunk_alloc): Define as malloc, not
5997 bfd_xmalloc_by_size_t.
5998 (ieee_archive_p): Check obstack_begin for 0 return and
5999 obstack_finish for NULL return.
6000
6001 * hash.c (obstack_chunk_alloc): Define as malloc, not
6002 bfd_xmalloc_by_size_t.
6003 (bfd_hash_table_init_n): Check obstack_begin for 0 return and
6004 obstack_finish for NULL return.
6005 (bfd_hash_lookup): Check obstack_alloc for NULL return.
6006
6007 * ecofflink.c (obstack_chunk_alloc): Define as malloc, not
6008 bfd_xmalloc_by_size_t.
6009 bfd_ecoff_debug_accumulate
6010 bfd_ecoff_debug_accumulate_other): Check obstack_alloc.
6011 (add_file_shuffle add_memory_shuffle): Check obstack_alloc for
6012 NULL return. Return boolean, not void.
6013 (bfd_ecoff_debug_init): Check obstack_begin for 0 return.
6014 (bfd_ecoff_debug_accumulate): Check add_file_shuffle
6015 and add_memory_shuffle return.
6016 (string_hash_newfunc): Check bfd_hash_allocate and bfd_hash_newfunc.
6017 (bfd_ecoff_debug_accumulate): Check bfd_alloc.
6018 (ecoff_add_string): Check add_memory_shuffle return.
6019
6020 * libbfd-in.h (xmalloc, bfd_xmalloc, bfd_xmalloc_by_size_t):
6021 Remove decls.
6022 * libbfd.h: Rebuilt.
6023
30e441ca
SG
6024Fri Feb 11 15:35:32 1994 Stu Grossman (grossman at cygnus.com)
6025
6026 * configure.host: Add Lynx/rs6000 support.
6027 * config/i386-nlm.mt: Enable a.out file support.
6028 * config/rs6000lynx.mh: Lynx/rs6000 host support.
6029
5ee3886b
ILT
6030Fri Feb 11 17:25:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6031
6032 * archive.c (compute_and_write_armap): Rewrite somewhat to improve
6033 memory usage.
6034
9a793780
SS
6035Fri Feb 11 13:10:42 1994 Stan Shebs (shebs@andros.cygnus.com)
6036
6037 * archive.c: Change all references to '\n' in archive magic
6038 to '\012', for greater portability.
6039 * ecoff.c (ecoff_write_armap): Ditto.
6040
6041Thu Feb 10 12:58:48 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6042
6043 * aoutx.h (aout_link_write_other_symbol): Check strip settings to
6044 see whether symbol should be output.
6045 * genlink.h (struct generic_write_global_symbol_info): Added info
6046 field.
6047 * linker.c (_bfd_generic_final_link): Initialize wginfo.info.
6048 (_bfd_generic_link_write_global_symbol): Check strip settings to
6049 see whether symbol should be output.
6050 * elf32-mips.c (mips_elf_final_link): Initialize wginfo.info.
6051
a62dd44f
JL
6052Wed Feb 9 21:34:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6053
9a793780
SS
6054 * som.c (som_reloc_queue_find): Do not examine a NULL queue entry.
6055
a62dd44f
JL
6056 * som.c: Cast return values from BFD memory allocation routines to
6057 avoid warnings from the HP compiler.
6058
945f125b
ILT
6059Wed Feb 9 12:55:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6060
0d634116
ILT
6061 * coff-alpha.c (alpha_relocate_section): Accept a LITERAL
6062 reloc on an "ldl" instruction too.
6063
945f125b
ILT
6064 * archive.c (bfd_ar_hdr_from_filesystem): Cast status elements
6065 when passing them to sprintf. Use %ld instead of %d.
6066
6067 * coff-rs6000.c (rs6000coff_mkarchive): Return false.
6068 (rs6000_coff_snarf_ar_hdr): Don't declare errno; it's not used.
6069 Also removed unused variable namelen.
6070 (rs6000coff_write_armap): Declare orl_count and stridx parameters.
6071
6072Tue Feb 8 18:00:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6073
6074 * libbfd-in.h (xmalloc): Don't declare parameter type, to avoid
6075 conflicts.
6076 * libbfd.h: Rebuilt.
6077
fa965415
KR
6078Tue Feb 8 15:55:50 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6079
6080 * coff-alpha.c (reloc_nil): New function.
6081 (alpha_howto_table): Use it as special_function to prevent certain
6082 relocs from being adjusted by bfd_perform_relocation. IGNORE
6083 reloc should be partial_inplace.
6084 (alpha_ecoff_get_relocated_section_contents): Accept a LITERAL
6085 reloc on an "ldl" instruction too.
6086
7c202d37
PS
6087Tue Feb 8 00:32:28 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
6088
6089 * elf32-hppa.c (CURRENT_STUB_OFFSET, hppa_elf_build_arg_reloc_stub,
6090 hppa_elf_build_long_branch_stub): Cast to char * instead of int
6091 before performing pointer arithmetic.
6092
9ed21f0e
JL
6093Mon Feb 7 20:56:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6094
6095 * config.bfd (hppa*-*-osf*): Use bfd_name hppaosf for this
6096 configuration.
6097 (hppa*-*-*elf*): This configuration used hppa-elf now.
6098
6099 * som.c: This file is also used for HOST_HPPAOSF.
6100
6101 * targets.c (bfd_target_vector): Enable som_vec for HOST_HPPAOSF.
6102
6103 * hosts/hppaosf.h: New host configuration file.
6104
6105 * config/hppabsd.mt (SELECT_VECS): Add bfd_elf32_hppa_vec as
6106 BSD handles both SOM and ELF object files.
6107
6108 * config/hppaosf.mh (HDEFINES): Delete. No longer needed.
6109 (RANLIB): Doesn't do anything, define it to be "echo".
6110
6111 * config/hppaosf.mt: New target makefile fragment for a PA running
6112 OSF1.
6113
bf969135
ILT
6114Mon Feb 7 15:02:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6115
66f1cff5
ILT
6116 * archures.c (enum bfd_architecture): Added bfd_arch_powerpc.
6117 (archures_init_table): If SELECT_ARCHITECTURES is not defined,
6118 added bfd_powerpc_arch.
6119 * bfd-in2.h: Rebuilt.
6120 * cpu-powerpc.c: New file.
6121 * Makefile.in (ALL_MACHINES, CFILES): Added cpu-powerpc.c.
6122 Rebuilt dependencies.
6123
bf969135
ILT
6124 * elfcode.h (bfd_section_from_shdr): Get vma and alignment_power
6125 of an SHT_STRTAB section from sh_addr and sh_addralign, rather
6126 than just setting them to zero.
6127
b9d5cdf0
DM
6128Sun Feb 6 20:04:10 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6129
6130 * elfcode.h (prep_headers, swap_out_syms): Check for NULL return
6131 from bfd_new_strtab.
6132 (elf_compute_section_file_positions): Check for false return from
6133 swap_out_syms.
6134
6135 * linker.c (default_indirect_link_order): Check for NULL return
6136 from bfd_get_relocated_section_contents.
6137
6138 * syms.c: Make example application in doc call xmalloc, not
6139 bfd_xmalloc.
6140
6141 * aoutx.h (NAME(aout,slurp_symbol_table),
6142 aout_link_get_symbols, NAME(aout,link_hash_table_create)):
6143 * bout.c (b_out_slurp_reloc_table, b_out_squirt_out_relocs):
6144 * ecoff.c (ecoff_bfd_link_hash_table_create):
6145 * ecofflink.c (bfd_ecoff_debug_init):
6146 * format.c (bfd_check_format_matches):
6147 * linker.c (_bfd_generic_link_hash_table_create):
6148 (_bfd_generic_final_link):
6149 * reloc16.c (bfd_coff_reloc16_relax_section):
6150 (bfd_coff_reloc16_get_relocated_section_contents):
6151 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub):
6152 * elf32-mips.c (mips_elf_final_link):
6153 * elfcode.h (bfd_new_strtab):
6154 (bfd_add_2_to_strtab):
6155 (elf_slurp_symbol_table):
6156 (elf_corefile_note):
6157 * libbfd.c (bfd_zmalloc):
6158 Use malloc and check the result, instead of bfd_xmalloc.
6159
6b054519
JK
6160Sat Feb 5 12:39:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
6161
6162 * config.bfd: Put m68*-*-sysv* line after m68*-*-sysv4*.
6163
bf430317
PS
6164Sat Feb 5 05:32:44 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
6165
6166 * srec.c (srec_write_record): Put CONST keyword for "src" before
6167 "unsigned", some compilers don't like it after "unsigned".
6168 * libcoff.h, libcoff-in.h (bfd_perform_slip): Rename "value" to
6169 "val" in prototype declaration because some compilers don't like
6170 arguments whose names are the same as types.
6171
9b39ed6b
ILT
6172Sat Feb 5 01:14:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6173
6174 * aoutx.h (aout_link_check_ar_symbols): Correct test for whether
6175 object file defines symbol. Also, if skipping a symbol, skip the
6176 second symbol of a N_WARNING or N_INDR symbol as well.
6177
d352be4f
ILT
6178Fri Feb 4 23:55:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6179
6180 Add basic support for writing RS/6000 XCOFF files.
6181 * coff-rs6000.c (dummy_reloc): Removed.
6182 (rs6000coff_howto_table): Defined XCOFF relocs.
6183 (RTYPE2HOWTO): Defined to use rs6000coff_rtype2howto.
6184 (rs6000coff_rtype2howto): New function.
6185 (coff_bfd_reloc_type_lookup): Defined to use
6186 rs6000coff_reloc_type_lookup.
6187 (rs6000coff_reloc_type_lookup): New function.
6188 (SELECT_RELOC): Defined to set r_type and r_size fields.
6189 (COFF_LONG_FILENAMES): Defined.
6190 * coffcode.h (combined_entry_type): Changed fix_tag and fix_end
6191 fields to bitfields. Added fields fix_value and fix_scnlen.
6192 (sec_to_styp_flags): If STYP_DEBUG is defined, use it rather than
6193 STYP_INFO for the type of a section named .debug.
6194 (coff_add_missing_symbols): Don't define if RS6000COFF_C.
6195 (coff_write_object_contents): If RS6000COFF_C, don't call
6196 coff_add_missing_symbols.
6197 (coff_slurp_symbol_table): If RS6000COFF_C, then if the last aux
6198 entry has type STY_LD change the x_scnlen into a pointer to a
6199 symbol and set fix_scnlen. Also, for a C_BSTAT symbol, change the
6200 value into a pointer to a symbol and set fix_value.
6201 * libcoff.h: Rebuilt.
6202 * coffgen.c (coff_mangle_symbols): Reindent. If fix_value is set,
6203 get the symbol offset. Likewise for fix_scnlen.
6204 (string_size): Change type to bfd_size_type.
6205 (debug_string_size, debug_string_section): New static variables.
6206 (coff_fix_symbol_name): If bfd_coff_symname_in_debug returns true,
6207 write the symbol name into the .debug section; assume that the
6208 section has already been created with the right size.
6209 (coff_write_symbols): Initialize debug_string_size to 0. If
6210 bfd_coff_symname_in_debug returns true, don't put symbol name in
6211 usual string table. After writing out all symbols, if
6212 debug_string_size is not 0, check that it matches the size of the
6213 .debug section.
6214 (coff_get_normalized_symtab): Clear new fix_value and fix_scnlen
6215 fields. If the string offset is 0, always use an empty string as
6216 the name.
6217 (coff_make_empty_symbol): Zero out the symbol structure.
6218 * reloc.c (bfd_perform_relocation): Work around one gross hack
6219 with another: actually look at the target name to avoid the broken
6220 COFF check.
6221 (bfd_reloc_code_real_type): Add BFD_RELOC_PPC_B26,
6222 BFD_RELOC_PPC_BA26 and BFD_RELOC_PPC_TOC16.
6223 * bfd-in2.h: Rebuilt.
6224
0ee34272
DM
6225Fri Feb 4 17:28:32 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6226
6227 * libbfd.c (bfd_zmalloc): Call bfd_xmalloc instead of malloc.
6228 (bfd_xmalloc, bfd_xmalloc_by_size_t): Functions deleted.
6229 * libbfd-in.h: Define them as macros calling xmalloc and declare
6230 xmalloc.
6231 * libbfd.h: Rebuilt.
0ee34272 6232
fa2302b8
ILT
6233Thu Feb 3 16:49:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6234
cbc174e7
ILT
6235 * ecofflink.c (bfd_ecoff_debug_externals): If a small undefined
6236 symbol has a value in the ECOFF symbol but not in the BFD symbol,
6237 keep the value in the ECOFF symbol. This helps gas.
6238
5072b8e5
ILT
6239 * linker.c (_bfd_generic_link_output_symbols,
6240 _bfd_generic_link_write_global_symbol): Don't require that all
6241 references to a common symbol be themselves common symbols.
6242
fa2302b8
ILT
6243 * aoutx.h (aout_reloc_index_to_section): Handle N_UNDF.
6244
96ad107b
JK
6245Wed Feb 2 20:37:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
6246
6247 * libbfd.c, bfd-in.h, hosts/alphaosf.h, hosts/sparc-ll.h, aoutf1.h,
6248 sparclynx.c, Makefile.in: Change HOST_64_BIT to BFD_HOST_64_BIT.
0324156c 6249 * bfd-in2.h: Rebuilt.
96ad107b 6250
192d8ee8
ILT
6251Wed Feb 2 12:30:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6252
38e1f0ce
ILT
6253 * coffswap.h (coff_swap_reloc_out): If RS6000COFF_C, handle type
6254 and size correctly.
6255 (coff_swap_aux_in): If RS6000COFF_C, change x_csect.x_scnlen to
6256 x_csect.x_scnlen.l to match change in coff/internal.h.
6257 (coff_swap_aux_out): Likewise.
6258
ebf3b4cd
ILT
6259 * coff-mips.c (mips_ecoff_backend_data), coff-alpha.c
6260 (alpha_ecoff_backend_data): Change casts of aux_in and aux_out
6261 fields to match yesterday's changes.
6262
192d8ee8
ILT
6263 * coffcode.h (coff_write_relocs): If SELECT_RELOC is defined, pass
6264 in the internal_reloc itself, not the type.
6265 * coff-apollo.c, coff-h8300.c, coff-h8500.c, coff-i386.c,
6266 coff-m68k.c, coff-sh.c, coff-we32k.c, coff-z8k.c: Changed
6267 definition of SELECT_RELOC accordingly.
6268
330595d0
ILT
6269Tue Feb 1 12:05:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6270
6271 * coffcode.h (bfd_coff_backend_data): Added new arguments to
6272 _bfd_coff_swap_aux_in and _bfd_coff_swap_aux_out: aux index number
6273 and number of aux entries.
6274 (bfd_coff_swap_aux_in, bfd_coff_swap_aux_out): Changed
6275 accordingly.
6276 * libcoff.h: Rebuilt.
6277 * coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Accept new
6278 arguments. If RS6000COFF_C, only treat C_EXT and C_HIDEXT
6279 specially if this is the last aux entry.
6280 * coffgen.c (coff_write_symbol, coff_get_normalized_symtab): Pass
6281 new arguments to swap_aux functions.
6282
4e810849
KR
6283Sun Jan 30 15:14:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6284
6285 * gen-aout.c (main): Set DEFAULT_ARCH based on preprocessor macros
6286 (only testing for m68k and vax at the moment); do verify that the
6287 preprocessor didn't trash the arch name inside the string version.
6288 Don't print out "pagesize =" line that prevents output from
6289 compiling. Derive BYTES_IN_WORD and ARCH values from sizeof
6290 results.
6291 * Makefile.in (aout-params.h): Pass gen-aout a dummy target name.
26b572e4
KR
6292 (check, installcheck): Identify directory in "no testsuites"
6293 message.
4e810849 6294
2edc8357
ILT
6295Sun Jan 30 13:25:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6296
6297 * aoutx.h (aout_link_write_symbols): Write out correct value for
6298 object file symbol.
6299
098630a0
KR
6300Fri Jan 28 18:34:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6301
6302 * hosts/vaxbsd.h (HOST_STACK_END_ADDR): Vax BSD doesn't define
6303 KERNBASE, so hard-code 0x80000000 instead.
6304
c3156966
ILT
6305Thu Jan 27 13:54:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6306
6307 * linker.c (generic_link_add_symbol_list): If symbol is common,
6308 set the BSF_OLD_COMMON flag.
6309
d6d4e4c3
DM
6310Wed Jan 26 13:47:15 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6311
6312 * format.c (bfd_check_format_matches): Put the new entry in the
6313 correct element of matching_vector.
6314
09f70549
JK
6315Tue Jan 25 11:43:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
6316
6317 * som.c, som.h (bfd_som_set_section_attributes,
6318 bfd_som_set_subsection_attributes): Change parameters from char
6319 to int. Following a prototype with an old-style function definition
6320 in the presence of widened parameters is a GCC-ism not supported
6321 by the HP compiler in ANSI mode.
6322
a927c32d
ILT
6323Tue Jan 25 11:46:46 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6324
8638431e
ILT
6325 * reloc.c (bfd_get_reloc_size): Size of type -2 is 4 bytes, not 2.
6326
3b490cdd
ILT
6327 * hp300hpux.c (MY(write_object_contents)): Write out the symbols
6328 before writing out the relocs, so that the right symbol indices
6329 are used.
6330
71d58b59
ILT
6331 * archive.c (do_slurp_bsd_armap, bfd_slurp_bsd_armap_f2): Do not
6332 try to overlay the internal carsyms on the external symdefs. That
6333 can not work if the size of a host pointer is larger than 4 bytes.
6334
6335 * format.c (bfd_check_format_matches): Cast result of
6336 bfd_xmalloc_by_size_t.
6337 * opncls.c (_bfd_new_bfd): Avoid ANSI C prototype.
6338
a927c32d
ILT
6339 * archive.c: Reindented to GNU standards.
6340
aabda2da
DM
6341Mon Jan 24 14:41:23 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6342
f4bd7a8f
DM
6343 * opncls.c (_bfd_new_bfd, _bfd_new_bfd_contained_in): Add
6344 "_bfd_" to function names.
6345 * archive.c (_bfd_create_empty_archive_element_shell),
6346 libbfd-in.h: Change callers.
6347
6348 * libbfd.c (bfd_zmalloc): Renamed from zalloc.
6349 * libbfd.c (bfd_add_to_string_table),
6350 trad-core.c (trad_unix_core_file_p),
6351 targets.c (bfd_target_list),
6352 ptrace-core.c (ptrace_unix_core_file_p),
6353 opncls.c (new_bfd), libbfd-in.h,
6354 ieee.c (ieee_make_empty_symbol),
6355 elf32-hppa.c (hppa_elf_stub_branch_reloc),
6356 (hppa_elf_stub_reloc): Change callers.
6357 * libbfd.h: Regenerated.
6358
6359 * archive.c (_bfd_look_for_bfd_in_cache): Add "_bfd_" to name.
6360 (_bfd_get_elt_at_filepos),
6361 coff-rs6000.c (rs6000coff_get_elt_at_filepos), libbfd-in.h:
6362 Change callers.
6363
6364 * format.c (bfd_check_format_matches), libbfd-in.h, targets.c,
6365 elfcode.h (elf_object_p): Rename target_vector to bfd_target_vector
6366 and default_vector to bfd_default_vector.
6367 * libbfd.h: Regenerated.
6368
aabda2da
DM
6369 * format.c (bfd_check_format_matches): New function.
6370 (bfd_check_format): Call it.
6371 (bfd_matching_formats): Function removed.
6372 * targets.c: Replace the vector added on Jan 21 with a count of
6373 entries in default_vector.
6374 * bfd-in2.h: Regenerated.
6375
ca1c6bec
ILT
6376Mon Jan 24 12:38:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6377
3f048f7f
ILT
6378 * coff-alpha.c (alpha_ecoff_object_p): New function. Set size of
6379 .pdata section based on lnnoptr field, not section header.
6380 (alpha_relocate_section): Don't bother to check if r_symndx >= 0,
6381 since it is unsigned.
6382 (ecoffalpha_little_vec): Use alpha_ecoff_object_p rather than
6383 coff_object_p.
6384 * ecoff.c (ecoff_new_section_hook): Set alignment_power field of
6385 .pdata section to 3.
6386 (ecoff_compute_section_file_positions): Save the size of the
6387 .pdata section in the line_filepos field, and actually align the
6388 .pdata section to an alignment power of 4.
6389 (ecoff_compute_reloc_file_positions): Set output_has_begun after
6390 calling ecoff_compute_section_file_positions.
6391 (ecoff_write_object_contents): Set s_lnnoptr for the .pdata
6392 section from the line_filepos field. Set vstamp for the optional
6393 header from the vstamp of the symbolic header.
6394 (ecoff_bfd_final_link): Set vstamp of the symbolic header to the
6395 vstamp used by the first object file in the link.
6396
6397 * ecofflink.c (ecoff_align_debug): Align RFDs to debug_align.
6398
a20bdb43
ILT
6399 * linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
6400 for a created common section.
6401 (_bfd_generic_link_add_one_symbol): Likewise.
6402
6403 * elfcode.h (swap_out_syms): Use elf_section_from_bfd_section to
6404 get the index of a common section, rather than always using
6405 SHN_COMMON (MIPS has multiple common sections).
6406
7a60ed8c
ILT
6407 * elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =).
6408
4991ebb9
ILT
6409 * bfd/aoutx.h (aout_link_input_section_std,
6410 aout_link_input_section_ext): Pass additional arguments to
6411 reloc_overflow callback.
6412 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents,
6413 alpha_relocat_section): Likewise.
6414 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
6415 * coff-h8500.c (extra_case): Likewise.
6416 * coff-mips.c (mips_relocate_section): Likewise.
6417 * coff-z8k.c (extra_case): Likewise.
6418 * elf32-hppa.c (hppa_elf_stub_finish): Likewise.
6419 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
6420
1cedfe03
ILT
6421 * bout.c (calljx_callback, callj_callback): Use get_value to get
6422 the symbol value and check for undefined symbols.
6423 (get_value): If the symbol is undefined, look it up in the linker
6424 hash table.
6425 (b_out_get_relocated_section_contents): For PCREL24 and PCREL13
6426 use get_value to get the symbol value and check for undefined
6427 symbols.
6428 * reloc16.c (bfd_coff_reloc16_get_value): If the symbol is
6429 undefined, look it up in the linker hash table.
6430
ca1c6bec
ILT
6431 * aoutx.h (translate_symbol_table): The string index 0 has a
6432 special meaning for normal symbols, but not for dynamic symbols.
6433
3f2255e7
SG
6434Sat Jan 22 12:26:01 1994 Stu Grossman (grossman at cygnus.com)
6435
6436 * sparclynx.c: Setup appropriate macros to enable core file
6437 support.
6438
0f8f509c
DM
6439Fri Jan 21 16:25:35 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6440
3b31740c
DM
6441 * targets.c: Add a vector of matching format names.
6442 * format.c (bfd_matching_formats): New function to return it.
6443 (bfd_check_format): Set it.
6444 * bfd-in2.h: Regenerated.
6445
0f8f509c
DM
6446 * bfd-in.h: Remove decls of bfd_ec type and error printing functions.
6447 Remove decl of type symclass; wasn't used.
6448 * bfd.c: Document error handling, including code fragments
6449 containing the error decls that were in bfd-in.h.
6450 Remove DEFUNs.
6451 * bfd-in2.h: Regenerated.
6452
27814aa6 6453Fri Jan 21 14:11:16 1994 Sean Fagan (sef@cygnus.com)
4733517b
JK
6454
6455 * nlmcode.h, liblnm.h, nlm32-alpha.c nlm32-i386.c nlm32-sparc.c:
6456 The sparc (and possibly other?) NLM format requires a different
6457 way to write exports, so add a write_export field to the backend
6458 data (and set it to NULL for everything but the sparc).
e7cc9a2e 6459
3f40d101
DM
6460Fri Jan 21 14:11:16 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
6461
e7cc9a2e
JK
6462 * sunos.c (MY(read_dynamic_relocs)): Compare info->dynrel with NULL,
6463 not (struct external_nlist *) NULL. info->dynrel is a PTR, not
6464 a struct external_nlist *.
6465
6de49562
DM
6466Fri Jan 21 09:29:01 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6467
74788cf0 6468 * bfd.c: Remove error strings for errors removed below.
6de49562
DM
6469 * aoutx.h (translate_to_native_sym_flags), bfd-in.h (bfd_ec),
6470 oasys.c (oasys_write_sections): Rename
6471 bfd_error_nonrepresentable_section to nonrepresentable_section.
6472 None of the other bfd error names start with "bfd_error".
6473 Remove errors symbol_not_found and no_relocation_info, which seem
6474 to be unused.
6475 * bfd-in2.h: Regenerated.
6476
0ee75d02
ILT
6477Fri Jan 21 01:11:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6478
fcc41f68
ILT
6479 * bfd.c (bfd_get_gp_size): Added support for ELF.
6480
0ee75d02
ILT
6481 * syms.c (BSF_DYNAMIC): New symbol flag.
6482 (bfd_print_symbol_vandf): Print it.
6483 * bfd-in2.h: Rebuilt.
6484 * libaout.h (struct aout_backend_data): New read_dynamic_symbols
6485 and read_dynamic_relocs fields.
6486 (struct aoutdata): New dynamic_info field.
6487 (obj_aout_dynamic_info): New accessor macro.
6488 * sunos.c (struct sunos_dynamic_info): New structure.
6489 (sunos_read_dynamic_info, MY(read_dynamic_symbols),
6490 MY(read_dynamic_relocs)): New functions to read dynamic symbols
6491 and relocs.
6492 * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
6493 dynamically linked, set SEC_RELOC for both the .text and .data
6494 sections.
6495 (translate_from_native_sym_flags): Don't set BSF_LOCAL for an
6496 undefined symbol.
6497 (translate_symbol_table): New function, split out of
6498 slurp_symbol_table; set the BSF_DYNAMIC flag appropriately.
6499 (NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any.
6500 (NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any.
6501 (NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in
6502 return value.
6503 * aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write
6504 out dynamic symbols or relocs against reloc symbols, since they
6505 are already in the .text section and we wouldn't know where to
6506 write them anyhow.
6507 (sunos4_aout_backend): Initialize read_dynamic_symbols and
6508 read_dynamic_relocs fields.
6509 * aout-target.h (MY(backend_data)): Initialize
6510 read_dynamic_symbols and read_dynamic_relocs fields.
6511
dc3da58f
KR
6512Thu Jan 20 20:57:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6513
6514 * hosts/alphaosf.h (uint64e_type, uint64_type, int64_type): Delete
6515 typedefs, since HOST_64_BIT will take care of defining them in
6516 bfd.h.
6517
7e7fb4a8
KR
6518Wed Jan 19 17:28:59 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
6519
6520 * config/alphaosf.mh (HDEFINES): Don't define HOST_64_BIT here;
6521 that's dealt with elsewhere.
6522 * hosts/alphaosf.h (sprintf_vma, fprintf_vma): New macros.
6523 (uint64_typeHIGH, uint64_typeLOW): Comment with HOST_64_BIT so
6524 they get copied to bfd.h.
6525
6526 * reloc.c (enum bfd_reloc_code_real): Add some Alpha relocation
6527 types. Reorganized some of the existing ones.
6528 * coff-alpha.c (alpha_howto_table): Construct 64-bit negative one
6529 values in case of compilation on a 32-bit machine. Fix pcrel
6530 fields of some reloc types.
6531 (alpha_bfd_reloc_type_lookup): Handle more relocation types.
6532
6533 * bfd-in.h (uint64_typeHIGH, uint64_typeLOW): Supply default
6534 definitions when not defined, regardless of whether uint64_type is
6535 a defined macro or not.
6536 (fprintf_vma, sprintf_vma): Define only if fprintf_vma is not
6537 already defined.
6538
d7e34f67
ILT
6539Wed Jan 19 00:02:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6540
6541 * aoutx.h (translate_to_native_sym_flags): Set the type of a
6542 BSF_WARNING symbol to N_WARNING.
6543
53155af1
ILT
6544Tue Jan 18 16:43:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6545
6546 * aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p
6547 for an indirect or warning symbol.
6548 (aout_link_write_symbols): Update sym_hash with the target of an
3a5b50f4
ILT
6549 indirect or warning symbol. If an indirect symbol is defined,
6550 output the calculated value and don't output the target symbol.
53155af1 6551
0c205af2
DM
6552Tue Jan 18 03:54:59 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6553
6554 * aoutx.h (translate_from_native_sym_flags): Give warning symbols
6555 an (unused) nonzero section value, needed for check below.
6556
964affdc
DM
6557Mon Jan 17 15:12:07 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6558
6559 * aoutx.h (translate_from_native_sym_flags,
6560 aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
6561 N_SET[ABDT].
6562
38a5f510
ILT
6563Fri Jan 14 16:45:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6564
6565 * elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set
6566 the DYNAMIC flag for the BFD.
6567 (NAME(bfd_elf,write_object_contents)): Don't try to write out a
6568 BFD with the DYNAMIC flag set, since we don't generate the program
6569 header table correctly.
6570
6571Fri Jan 14 01:04:36 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
6572
6573 * elfcode.h (elf_slurp_symbol_table): Free x_symp at the end
6574 of the function to avoid storage leak.
6575
75919b3b
ILT
6576Thu Jan 13 23:07:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6577
6578 * ecoff.c (ecoff_link_write_external): An ifd can be -1.
6579
39961154
JL
6580Thu Jan 13 12:33:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6581
9558d13f
JL
6582 * som.c (som_set_reloc_info): Provide a default symbol for
6583 relocations which don't actually have an associated symbol.
6584
39961154
JL
6585 * som.c (hppa_som_reloc): Add new "error message" argument.
6586
32476597
PS
6587Wed Jan 12 13:36:43 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
6588
6589 Enable gdb to write to core files on more core file readers.
6590 * libbfd.c (bfd_generic_set_section_contents): Remove range check
6591 for section size, it is already done in bfd_set_section_contents
6592 with bfd_get_section_size_now.
6593 * aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c,
6594 osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents):
6595 Use bfd_generic_set_section_contents instead of bfd_false.
6596
92f345b9
ILT
6597Wed Jan 12 15:31:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6598
39961154
JL
6599 * linker.c: Added initial documentation.
6600
92f345b9
ILT
6601 * linker.c (default_indirect_link_order): Don't expect space for
6602 output relocations if there aren't any input relocations.
6603
fed872d3
ILT
6604Tue Jan 11 14:37:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6605
c5481a5e
ILT
6606 * aoutx.h (NAME(aout,final_link)): Set a_entry before computing
6607 file offsets.
6608
fed872d3
ILT
6609 * elfcode.h (swap_out_syms): A common symbol is STT_OBJECT, not
6610 STT_NOTYPE.
6611
b36b8a6e
JK
6612Tue Jan 11 09:10:56 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
6613
6614 * config.bfd: Use ELF, not COFF for m88*-*-dgux*.
6615 Combine m88k-*-* and m88110-*-* cases into m88*-*-*.
6616
cf286547
ILT
6617Tue Jan 11 00:07:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6618
6619 * ecofflink.c: Extensive changes to compress and merge debugging
6620 information, and to write some of out directly rather than saving
6621 it in memory. Several new functions and structures, and new
6622 arguments to existing functions.
6623 * ecoff.c (ecoff_compute_reloc_file_positions): Compute
6624 sym_filepos as well.
6625 (ecoff_get_extr): Use ifdmap instead of ifdbase.
6626 (ecoff_write_object_contents): Don't compute sym_filepos here.
6627 Only output symbols if outsymbols is not NULL.
6628 (ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and
6629 bfd_ecoff_debug functions. Write out debugging information here.
6630 (ecoff_final_link_debug_accumulate): Adjust for changes in
6631 bfd_ecoff_debug functions.
6632 (ecoff_link_write_external): Use ifdmap rather than ifdbase.
6633 * elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols
6634 first, to put them in the first memory buffer. Clear fdr field.
6635 (mips_elf_get_extr): Use pointer to unswapped external symbol.
6636 (mips_elf_final_link): Adjust for changes in bfd_ecoff functions.
6637 Preserve .text, .data and .bss even if they are empty. Save
6638 pointer to unswapped external symbol rather than copying it.
6639 Don't free up the external symbols.
6640 * libelf.h (elf_symbol_type): Change mips_extr to PTR.
6641 * bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare.
6642 (bfd_ecoff_debug_accumulate): Update declaration.
6643 (bfd_ecoff_debug_accumulate_other): Rename declaration from
6644 bfd_ecoff_debug_link_other and update.
6645 (bfd_ecoff_write_accumulated_debug): Declare.
6646 * bfd-in2.h: Rebuilt.
6647 * Makefile.in: Rebuilt dependencies.
6648
2c96ba79
JK
6649Mon Jan 10 20:46:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
6650
6651 * Makefile.in (install): Remove "@" which follows a backslash. In
6652 this position it just causes errors, not suppresses echoes.
6653
2304e1e8
JL
6654Mon Jan 10 09:06:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
6655
6656 * som.c (hppa_som_gen_reloc_type): Fix handling of LT and RT
6657 field selectors.
6658
fb4cf140
KR
6659Sun Jan 9 04:32:25 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
6660
6661 * config/i386-netbsd.mt (SELECT_VECS): Include i386bsd_vec.
6662
d44b2ddb
DM
6663Fri Jan 7 10:27:27 1994 David J. Mackenzie (djm@rtl.cygnus.com)
6664
5330499f
DM
6665 * aoutx.h (adjust_z_magic): Don't merge the start of bss with the
6666 end of data if they are not contiguous.
6667
d44b2ddb
DM
6668 * aoutf1.h (sunos4_aout_backend): Comment the fields' meanings.
6669
a5a835ff
ILT
6670Fri Jan 7 15:40:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6671
6672 * ecoff.c (ecoff_mkobject_hook): Don't set SEC_SHARED_LIBRARY flag
6673 for .reginfo section here.
6674 (ecoff_new_section_hook): Set it here instead.
6675
442da995
SS
6676Fri Jan 7 10:29:27 1994 Stan Shebs (shebs@andros.cygnus.com)
6677
6678 * bfd-in.h: (bfd_boolean): Add workaround for systems that also
6679 define true and false as enums.
6680 (ALMOST_STDC): Add as alternative to __STDC__.
6681 * bfd-in2.h: Rebuilt.
6682 * syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*.
6683
6f56c941
DM
6684Thu Jan 6 14:24:44 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6685
6686 * aoutx.h (translate_to_native_sym_flags): Catch the case where
6687 there is no output section.
6688
2f84ec0d
ILT
6689Thu Jan 6 14:37:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6690
90d58284
ILT
6691 * nlmcode.h (nlm_object_p): If we can't read the fixed header,
6692 count it as a wrong format error, not a system call error, since
6693 the object file might simply be too small.
6694
6695 * targets.c (target_vector): Added nlm32_alpha_vec inside #ifdef
6696 BFD64.
6697 * Makefile.in (BFD32_BACKENDS): Remove nlm32-alpha.o.
6698 (BFD64_BACKENDS): Add nlm32-alpha.o. It depends on 64 bit
6699 support, even though it is for an Alpha in 32 bit mode.
6700 * configure.in (nlm32_alpha_vec): Set target64 to true.
6701
6702 * nlm32-gen.c, nlm64-gen.c: Removed. All nlm targets are
6703 different, so there is no point to providing a generic one.
6704 * libnlm.h: Don't bother to check for nlm_backend(bfd) being NULL
6705 in the backend accessor macros; that should no longer be possible.
6706 * targets.c (target_vector): Removed nlm32_big_generic_vec,
6707 nlm64_big_generic_vec, nlm64_little_generic_vec.
6708 * configure.in (nlm32_big_generic_vec, nlm32_little_generic_vec,
6709 nlm64_big_generic_vec, nlm64_little_generic_vec): Removed.
6710 * Makefile.in: Rebuilt dependencies, and
6711 (BFD32_BACKENDS): Removed nlm32-gen.o.
6712 (BFD64_BACKENDS): Removed nlm64-gen.o.
6713 (CFILES): Removed nlm32-gen.c and nlm64-gen.c.
6714
559d5074
ILT
6715 * hp300hpux.c (ARCH_SIZE): Define before including aoutx.h.
6716
2f84ec0d
ILT
6717 * linker.c (_bfd_generic_link_add_one_symbol): Add constructor and
6718 bitsize arguments. Changed all callers (aoutx.h).
6719 * libbfd-in.h (_bfd_generic_link_add_one_symbol): Add constructor
6720 and bitsize arguments to declaration.
6721 * libbfd.h: Rebuilt.
6722
6723 * ecoff.c: First cut at new style of linker backend for
6724 ECOFF--added a bunch of functions. Also:
6725 (ecoff_sec_to_styp_flags): Set flags for .pdata and .xdata.
6726 (ecoff_slurp_symbolic_header): New function.
6727 (ecoff_slurp_symbolic_info): Call ecoff_slurp_symbolic_header.
6728 (ecoff_compute_reloc_file_positions): New function.
6729 (ecoff_set_section_contents): Get out quickly if count is zero.
6730 Check errors better.
6731 (ecoff_write_object_contents): Put .xdata section in data segment.
6732 Call ecoff_compute_reloc_file_positions. Don't output relocs or
6733 external symbols if outsymbols is NULL.
6734 (ecoff_bfd_final_link): Completely rewritten.
6735 * libecoff.h: Include bfdlink.h.
6736 (struct ecoff_backend_data): Add relocate_section field.
6737 (ecoff_data_type): Add sym_hashes and symndx_to_section fields.
6738 (struct ecoff_link_hash_entry): Define.
6739 (struct ecoff_link_hash_table): Define.
6740 (ecoff_bfd_link_add_symbols): Declare as function, not macro.
6741 (ecoff_bfd_link_hash_table_create): Likewise.
6742 * ecofflink.c (bfd_ecoff_debug_one_external): New function.
6743 (bfd_ecoff_debug_externals): Call bfd_ecoff_debug_one_external.
6744 * bfd-in.h (bfd_ecoff_debug_one_external): Declare.
6745 * bfd-in2.h: Rebuilt.
6746 * coff-alpha.c (alpha_howto_table): Mark BRADDR as
6747 partial_inplace, and set the src_mask to 0x1fffff.
6748 (alpha_ecoff_get_relocated_section_contents): Remove unused
6749 variable gp_warned.
6750 (alpha_convert_external_reloc): New static function.
6751 (alpha_relocate_section): New static function.
6752 (alpha_ecoff_backend_data): Initialize relocate_section field.
6753 * coff-mips.c (mips_relocate_refhi): New static function.
6754 (mips_relocate_section): New static function.
6755 (mips_ecoff_backend_data): Initialize relocate_section field.
6756
6757 * reloc.c (_bfd_relocate_contents): Corrected signed overflow
6758 checking when there is an addend.
6759
6760 * aoutx.h (NAME(aout,final_link)): Don't abort when trying to link
6761 a non a.out file, just pass it to _bfd_default_link_order.
6762 (aout_link_input_section_std): When doing a final PC relative link
6763 against a section symbol, subtract the VMA of the input section.
6764 (aout_link_input_section_ext): Likewise.
6765
6766 * linker.c (default_indirect_link_order): Renamed from
6767 _bfd_generic_indirect_link_order and made static.
6768 (_bfd_generic_final_link): Don't switch on link_order type, just
6769 call _bfd_default_link_order.
6770 (_bfd_default_link_order): Handle bfd_indirect_link_order type.
6771 * genlink.h: Removed declaration of
6772 _bfd_generic_indirect_link_order.
6773 * elf32-mips.c (mips_elf_final_link): Don't switch on link_order
6774 type, just call _bfd_default_link_order.
6775
6776Tue Jan 4 21:23:37 1994 Ian Lance Taylor (ian@cygnus.com)
6777
6778 * linker.c (generic_link_check_archive_element): Base the name of
6779 the created common section on the name of the section the symbol
6780 came from.
6781 (_bfd_generic_link_add_one_symbol): (case BIG): A common symbol
6782 must have a section, so don't bother to create one.
6783
83acd9a2
DM
6784Mon Jan 3 15:32:16 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6785
6786 * aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags.
6787 * aoutf1.h (NAME(aout,sunos4_write_object_contents)):
6788 If the DYNAMIC flag is set, set it in the exec header.
6789 * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
6790 dynamically linked, set the DYNAMIC flag in the BFD.
6791 * libaout.h (N_SET_DYNAMIC): New macro.
6792 (N_DYNAMIC): Add missing 0 in mask.
6793
031534b0
ILT
6794Mon Jan 3 11:41:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6795
2f84ec0d
ILT
6796 * ecoff.c (ecoff_get_extr): Don't output section symbols as
6797 external symbols.
6798
85d73944
ILT
6799 * bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t
6800 to unsigned int, because size_t may not be defined in bfd.h.
6801 * bfd-in2.h: Rebuilt.
6802
8120aa8f
ILT
6803 * bfd-in.h (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
6804 be a const pointer.
6805 * bfd-in2.h: Rebuilt.
6806 * libbfd.c (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
6807 be a const pointer.
6808 * targets.c (bfd_target): Change swap function pointers
6809 accordingly.
6810 * archive.c (do_slurp_coff_armap): Change swap accordingly.
6811 * aix386-core.c: Change NO_GET and NO_GETS accordingly.
6812 * hppabsd-core.c, hpux-core.c, irix-core.c, osf-core.c,
6813 ptrace-core.c, trad-core.c: Change NO_GET and NO_SIGNED_GET
6814 accordingly.
6815
b59f0276
ILT
6816 * libbfd-in.h (struct artdata): Added tdata field.
6817 (_bfd_add_bfd_to_archive_cache): Declare.
2af2b7c4 6818 (_bfd_get_elt_at_filepos): Declare.
b59f0276
ILT
6819 (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
6820 * libbfd.h: Rebuilt.
6821 * archive.c: Cleaned up some more.
6822 (_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
6823 pointer elements of artdata.
6824 (_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
6825 (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
2af2b7c4
ILT
6826 (_bfd_get_elt_at_filepos): Renamed from get_elt_at_filepos.
6827 (get_extended_arelt_filename, bfd_construct_extended_name_table,
6828 bfd_ar_hdr_from_filesystem, compute_and_write_armap): Made static.
b59f0276
ILT
6829 * ecoff.c: Some comment changes.
6830 (ecoff_slurp_armap): Handle rename of snarf_ar_hdr. Set
6831 ardata->tdata to raw_armap.
6832 (ecoff_archive_p): Initialize pointer elements of artdata.
6833 * coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
6834 add_bfd_to_cache.
6835
031534b0
ILT
6836 * hash.c: Added some documentation.
6837
3f99570e
JK
6838Mon Jan 3 11:09:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
6839
6840 * aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC,
6841 and do the swapping here rather than calling ntohl from the N_*
6842 macros. This cleans up assumptions about the size of a host long,
6843 the existence to ntohl, etc.
6844
e38bcbdb
RS
6845Sat Jan 1 13:50:05 1994 Rob Savoye (rob@darkstar.cygnus.com)
6846
6847 * config.bfd: Add support for VSTa micro-kernel. It currently uses
6848 i386-aout.
6849
f4d7c848
DM
6850Sat Jan 1 10:18:54 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6851
00fe3f53 6852 * hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value.
f4d7c848
DM
6853 * i386mach3.c (SEGMENT_SIZE): Fix value.
6854
728472f1
ILT
6855Fri Dec 31 16:23:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6856
6857 Minor cleanups suggested by CodeCenter.
6858 * aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c,
6859 linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as
6860 appropriate.
6861 * aoutx.h (struct external_exec): Removed unnecessary declaration.
6862 (NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL.
6863 (adjust_z_magic): Removed useless variable data_vma.
6864 (stringtab_init): Initialize hash_zero.
6865 (add_to_stringtab): Removed unused fourth argument.
6866 (NAME(aout,swap_std_reloc_out)): Removed useless variable
6867 r_addend.
6868 (aout_link_input_section): Added some casts.
6869 * archive.c (get_extended_arelt_filename, do_slurp_coff_armap,
6870 bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap):
6871 Minor code rewriting to make it more C like.
6872 (do_slurp_bsd_armap): Added some casts.
6873 * ecoff.c (ecoff_write_object_contents): Removed useless variable
6874 scn_base.
6875 (ecoff_write_armap): Added some casts. Use "" rather than "\0".
6876 * ecofflink.c (bfd_ecoff_write_debug): Added a cast.
6877 * libaout.h (struct internal_exec): Removed unnecessary
6878 declaration.
6879 * linker.c (_bfd_generic_indirect_link_order): Added a cast.
6880 * opncls.c (new_bfd): Removed a cast.
6881 * reloc.c (bfd_generic_get_relocated_section_contents): Added
6882 some casts.
6883 * srec.c (internal_srec_write_object_contents): Removed useless
6884 variable bytes_written.
6885
696df58f
DM
6886Fri Dec 31 11:46:13 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6887
6888 * i386mach3.c (N_TXTADDR): Don't define after all.
6889 (TEXT_START_ADDR): Don't include exec header size in value.
6890
e450eb45
DM
6891Thu Dec 30 15:47:54 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6892
6893 * i386mach3.c (N_TXTADDR): Define.
6894
4c3721d5
ILT
6895Thu Dec 30 13:37:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6896
6897 Extensive changes to move the bulk of the linker into BFD so that
6898 more efficient backend code can be written for specific object
6899 files. Only existing efficient backend is a.out.
6900 * seclet.c, seclet.h: Removed.
6901 * hash.c, linker.c, genlink.h: New files.
6902 * bfd-in.h: Removed bfd_error_vector. Declared hash table
6903 structures and functions.
6904 (JUMP_TABLE): Removed bfd_seclet_link, added
6905 bfd_link_hash_table_create, bfd_link_add_symbols and
6906 bfd_final_link.
6907 * All backends: Changed accordingly.
6908 * bfd-in2.h: Rebuilt.
6909 * bfd.c (struct _bfd): Added link_next and archive_pass fields.
6910 Removed ld_symbols field.
6911 (bfd_nonrepresentable_section, bfd_undefined_symbol,
6912 bfd_reloc_value_truncated, bfd_reloc_is_dangerous,
6913 bfd_error_vector): Removed.
6914 (bfd_default_error_trap, bfd_error_trap,
6915 bfd_error_nonrepresentabltrap): Removed.
6916 (bfd_get_relocated_section_contents): Pass link_info. Pass
6917 link_order instead of seclet. Pass symbols.
6918 (bfd_relax_section): Pass link_info.
6919 (bfd_seclet_link): Removed.
6920 (bfd_link_hash_table_create, bfd_link_add_symbols,
6921 bfd_final_link): New macros.
6922 * libbfd-in.h: If __GNUC__ is defined and alloca is not, define
6923 alloca as __builtin_alloca. Declare internal linking functions.
6924 * libbfd.h: Rebuilt.
6925 * libbfd.c (bfd_seek): Comment out fseek assertion. It's worked
6926 for months.
6927 * reloc.c (reloc_howto_type): Added error_message argument to
6928 special_function field. Changed all callers and all definitions.
6929 (bfd_get_reloc_size): Make argument a const pointer.
6930 (bfd_perform_relocation): Add error_message argument to hold
6931 string set if return value if bfd_reloc_dangerous. Changed all
6932 callers.
6933 (_bfd_final_link_relocate, _bfd_relocate_contents): New functions.
6934 * section.c (asection): Renamed seclets_head and seclets_tail to
6935 link_order_head and link_order_tail.
6936 * targets.c (bfd_target): Replaced seclet argument with link_info
6937 and link_order and symbols arguments in
6938 bfd_get_relocated_section_contents. Added symbols argument to
6939 bfd_relax_section. Removed bfd_seclet_link. Added
6940 bfd_link_hash_table_create, bfd_link_add_symbols and
6941 bfd_final_link.
6942 * libaout.h (struct aoutdata): Added external_syms,
6943 external_sym_count, external_strings, sym_hashes fields.
6944 (obj_aout_external_syms, obj_aout_external_sym_count,
6945 obj_aout_external_strings, obj_aout_sym_hashes): New accessor
6946 macros.
6947 (WRITE_HEADERS): Only output symbols if outsymbols is not NULL.
6948 * aoutx.h: Wrote new back end linker routines.
6949 (translate_to_native_sym_flags): Return boolean value. Don't use
6950 bfd_error_vector.
6951 (NAME(aout,write_syms)): Return boolean value. Check return value
6952 of translate_to_native_sym_flags and bfd_write.
6953 * aout-target.h (final_link_callback): New function.
6954 (MY_bfd_final_link): New function.
6955 * aout-adobe.c (aout_adobe_write_object_contents): Check return
6956 value of aout_32_write_syms.
6957 * hp300hpux.c (MY(write_object_contents)): Likewise.
6958 * i386lynx.c (WRITE_HEADERS): Likewise.
6959 * libaout.h (WRITE_HEADERS): Likewise.
6960 * bout.c: Changed functions to use link_info->callbacks rather
6961 than bfd_error_vector, and link_orders rather than seclets.
6962 * coff-alpha.c: Likewise.
6963 * coff-h8300.c: Likewise.
6964 * coff-h8500.c: Likewise.
6965 * coff-sh.c: Likewise.
6966 * coff-z8k.c: Likewise.
6967 * elf32-hppa.c: Likewise.
6968 * reloc16.c: Likewise.
6969 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look
6970 up _gp in the hash table rather than in outsymbols.
6971 * coff-a29k.c (a29k_reloc): Pass errors back in new error_message
6972 argument rather than printing them.
6973 * coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and
6974 link_order arguments rather than seclet. Changed all uses and
6975 definitions.
6976 (bfd_coff_reloc16_estimate): Pass link_info arguments. Changed
6977 all uses and definitions.
6978 * libcoff.h: Rebuilt.
6979 * ecoff.c (ecoff_get_extr): If symbol is defined by linker, but
6980 not by ECOFF, make it scAbs.
6981 (ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and
6982 rewritten.
6983 * elf32-mips.c (mips_elf_final_link): Renamed from
6984 mips_elf_seclet_link and rewritten.
6985 * elf32-hppa.c (elf32_hppa_stub_description): Added link_info
6986 field.
6987 (new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub,
6988 hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section):
6989 Added link_info arguments. Changed all callers.
6990 * elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is
6991 not NULL.
6992 * oasys.c (oasys_write_sections): Return boolean value rather than
6993 using bfd_error_vector.
6994 (oasys_write_object_contents): Check return value of
6995 oasys_write_sections.
6996 * hosts/std-host.h: Don't declare qsort or strtol.
6997 * Makefile.in: Rebuild dependencies.
6998 (BFD_LIBS): Removed seclet.o. Added hash.o and linker.o.
6999 (CFILES): Removed seclet.c. Added hash.c and linker.c.
7000 (HFILES): Removed seclet.h. Added genlink.h.
7001
1adbf662
PS
7002Thu Dec 30 07:41:36 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
7003
7004 * section.c (bfd_get_section_contents): Return zero filled buffer
7005 if section has no contents.
7006
d1b44e83
ILT
7007Tue Dec 28 12:43:54 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7008
7009 * elf.c (bfd_elf_generic_reloc): If this is not an inplace reloc,
7010 then skip bfd_perform_relocation even if the addend is non-zero.
7011
a2805287
KR
7012Tue Dec 21 09:22:19 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
7013
7014 * coffcode.h (coff_write_relocs) [SWAP_OUT_RELOC_OFFSET]: Copy
7015 addend to r_offset field.
7016
7017 * Makefile.in (CFILES): Added coff-sparc.c. Rebuild dependencies.
7018
7019 * coff-sparc.c (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET,
7020 CALC_ADDEND): Define.
7021
7022 * aix386-core.c (aix386_core_file_p): Use cd_regs[0] for computing
7023 the offsetof because AIX /bin/cc does not like to take the address
7024 of an array. (From Minh Tran-Le.)
7025
277b2d2b
JL
7026Thu Dec 16 13:06:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7027
a2805287
KR
7028 * Thu Dec 16 15:41:06 1993 Peter Hoogenboom (hoogen@cs.utah.edu)
7029
7030 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Make sure to copy
7031 the return pointer into %r2 if no jump-in-call-delay-slot
7032 optimization was done.
7033
277b2d2b
JL
7034 * hosts/hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD.
7035
f8af9b40
DM
7036Wed Dec 15 08:04:16 1993 David J. Mackenzie (djm@thepub.cygnus.com)
7037
7038 * hosts/std-host.h: (time): Don't declare; conflicts on Mach3.
7039
7040 * hosts/i386mach3.h (HOST_PAGE_SIZE): Set to 1 to avoid padding.
7041 (HOST_SEGMENT_SIZE): Set to 0 for same reason.
7042
7043 * i386mach3.c (PAGE_SIZE, SEGMENT_SIZE): Same changes as above.
7044 (TEXT_START_ADDR): Correct.
7045 (MY_backend_data): Define.
7046
7047 * aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic):
7048 New functions; code moved from aout_<size>_adjust_sizes_and_vmas.
7049
c97ae6e4
JL
7050Tue Dec 14 21:48:33 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7051
7052 * som.c (som_begin_writing): Fix thinkos in auxiliary header
7053 support.
7054 (bfd_som_attach_aux_hdr): Likewise.
7055
a36b6f1d
JL
7056Mon Dec 13 23:34:48 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7057
7058 * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle 'T' field
7059 selectors for PIC code.
7060
7061 * som.c (hppa_som_gen_reloc_type): Handle 'T' field selectors.
7062 (som_write_fixups): Handle R_DLT_REL, R_FSEL, R_RSEL, R_LSEL
7063 relocations needed by PIC.
7064
9e6f2498
SG
7065Tue Dec 7 15:47:51 1993 Stu Grossman (grossman at cygnus.com)
7066
7067 * nlmcode.h: Fixes to avoid compiler warnings...
7068
900e6d96
ILT
7069Tue Dec 7 15:10:54 1993 Ian Lance Taylor (ian@cygnus.com)
7070
7071 * libnlm.h (nlm_backend_data): Removed macro definition.
7072 (nlm_alpha_backend_data): Adjusted accordingly.
7073
017a52d7
JL
7074Sun Dec 5 19:32:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7075
f6c2300b
JL
7076 * som.c (som_begin_writing): Flesh out code for handling simple
7077 auxiliary headers.
7078 (bfd_som_attach_aux_hdr): New function.
7079
7080 * som.h (struct somdata): Add fields for attaching version and
7081 copyright headers. Add accessor macros.
7082
744069b8
JL
7083 * som.c (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Add protected
7084 definitions for old versions of HPUX which fail to define them.
7085 (som_hppa_howto_talbe): Add R_DLT_REL, R_AUX_UNWIND, and R_SEC_STMT
7086 now that they're safe. Delete bogus R_STATEMENT relocations.
7087
017a52d7
JL
7088 * som.c (som_hppa_howto_table): Add missing R_END_TRY. Delete
7089 extra R_DATA_OVERRIDE.
7090 (hppa_som_gen_reloc_type): Generate a relocation for the rounding
7091 mode selector if needed.
7092 (som_write_fixups): Handle requests for a change in the default
7093 rounding mode. Rounding modes do not consume input bytes, but
7094 are just markers much like R_ENTRY and R_EXIT.
7095
48eb5281
JL
7096Sat Dec 4 19:40:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7097
7098 Fri Dec 3 09:55:17 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
7099
017a52d7
JL
7100 * elf32-hppa.c: (hppa_elf_reloc): Do not do code reordering when
7101 the branch instruction as originally been nullified.
7102 hppa_elf_reloc): Avoid useless call to bfd_put_32 () in the
7103 case of no code reordering due to an LDO instruction in the
7104 delay slot of the branch. Make sure to relocate the correct
7105 instruction. Do not perform instruction reordering for millicode
7106 calls.
7107 (hppa_elf_build_arg_reloc_stub): Change the relocation type
7108 to R_HPPA_STUB_CALL_17 when special processing might be needed.
7109 (hppa_elf_build_long_branch_stub): Prevent code reordering on
7110 a call from a linker stub to another linker stub and for millicode
7111 calls. Do not trash the return register for calls from one linker
7112 stub to a second linker stub.
7113
4861ac76
JL
7114 * elf32-hppa.c: (elf_hppa_howto_table): PLABEL and DLT
7115 relocations are not pc-relative.
7116
48eb5281
JL
7117 * hppa_stubs.h: (BLE_N_XXX_0_31): New instruction used in
7118 linker stub code.
7119 (COPY_2_31): Likewise.
7120
ecb2d887
ILT
7121Fri Dec 3 18:40:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7122
7123 * config/solaris2.mh (HDEFINES): Remove -Dconst=
7124 * hosts/solaris.h: If not __GNUC__, define const as empty.
7125
800748cd
ILT
7126Thu Dec 2 15:43:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7127
4919d3ab
ILT
7128 * ecoff.c: Added various casts for 32/64 bit cross targeting.
7129 (ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo
7130 section so that the linker ignores it.
7131 * ecofflink.c: Added various casts for 32/64 bit cross targeting.
7132 (ecoff_add_bytes): Changed need argument to size_t.
7133 (bfd_ecoff_debug_link_other): Check return value of
7134 ecoff_add_string.
7135
7136 * libbfd-in.h (new_bfd): Use void rather than an empty parameter
7137 list.
7138 * libbfd.h: Rebuilt.
7139
800748cd
ILT
7140 * libnlm.h (struct nlm_obj_tdata): New field backend_data.
7141 (nlm_backend_data, nlm_alpha_backend_data): New accessor macros.
7142 (struct nlm_backend_data): New field no_uninitialized_data.
7143 (nlm_no_uninitialized_data): New accessor macro.
7144 * nlmcode.h (nlm_compute_section_file_positions): Handle
7145 no_uninitialized_data.
7146 (nlm_external_reloc_compare): Sort relocs by address for a
7147 particular symbol, to make the sort more stable.
7148 (nlm_write_object_contents): Cast the arguments to qsort. Get the
7149 value of a debugging symbol the same way we get the value of a
7150 normal symbol.
7151 * nlm32-alpha.c: Various changes. Write out GP and .lita relocs.
7152 Set no_uninitialized_data to true.
7153 * nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c
7154 (nlm32_sparc_backend): Set no_uninitialized_data field false.
7155 * nlmswap.h (nlm_swap_fixed_header_out): Zero out destination
7156 before filling it in.
7157
a7f6a456
JL
7158Wed Dec 1 21:47:58 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7159
7160 * som.c (som_section_type, som_decode_symcalss): New functions.
7161 (som_get_symbol_info): Use them.
7162 (som_slurp_symbol_table): Set the section of common and undefined
7163 symbols correctly.
7164
848ace96
KR
7165Wed Dec 1 14:15:10 1993 Ken Raeburn (raeburn@cygnus.com)
7166
7167 * elfcode.h (write_relocs): Initialize local var LAST_SYM_IDX, to
7168 make gcc happy.
7169
7170 * mipsbsd.c: Changes from Ralph Campbell:
7171 (mips_howto_table_ext): MIPS_RELOC_LO16 should use
7172 complain_overflow_dont.
7173 (aout_mips_*_vec): Make name use "a.out" instead of "aout", to
7174 make gdb happy.
7175
7176 * bfd.c (bfd_errmsgs): Reword invalid-target message.
7177
7178 * config.bfd: For sparc*-*-coff, use sparc-coff.
7179 * configure.in: Handle sparccoff_vec.
7180 * targets.c (sparccoff_vec): Declare.
7181
7182 * reloc.c (bfd_get_reloc_size): New function.
7183 (struct reloc_howto_type): Update documentation of size field.
7184
2f555d79
ILT
7185Wed Dec 1 14:39:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7186
68eaffda
ILT
7187 * nlm32-alpha.c: New file; preliminary Alpha NetWare support.
7188 * config.bfd (alpha-*-netware*): New target; use alpha-nlm.
7189 * config/alpha-nlm.mt: New file.
7190 * configure.in (nlm32_alpha_vec): New vector; use nlm32-alpha.o,
7191 nlm32.o, and nlm.o.
7192 * Makefile.in (BFD32_BACKENDS): Added nlm32-alpha.o.
7193 (CFILES): Added nlm32-alpha.c.
7194 Rebuilt dependencies.
7195 * targets.c (nlm32_alpha_vec): Declare.
7196
7197 * libnlm.h (struct nlm_backend_data): New fields
7198 optional_prefix_size, nlm_backend_object_p, nlm_write_prefix,
7199 nlm_set_public_section, nlm_get_public_offset. Removed unused
7200 nlm_write_reloc field. Changed nlm_write_import to remove
7201 unnecessary symbol argument. Renamed nlm_write_externals to
7202 nlm_write_external, and changed cound argument from bfd_vma to
7203 bfd_size_type.
7204 (nlm_optional_prefix_size, nlm_backend_object_p_func,
7205 nlm_write_prefix_func, nlm_set_public_section_func,
7206 nlm_get_public_offset_func): New accessor macros.
7207 (nlm_write_reloc_func): Removed.
7208 (nlm_write_external_func): Adjusted for field renaming.
7209 * nlm32-i386.c (nlm_i386_write_import): Renamed from
7210 nlm_i386_write_reloc. Removed old nlm_i386_write_import which
7211 just called old nlm_i386_write_reloc.
7212 (nlm_i386_write_external): Renamed from nlm_i386_write_externals.
7213 Declared. Changed second argument from bfd_vma to bfd_size_type.
7214 (nlm32_i386_backend): Adjusted for changes to fields and names.
7215 * nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused,
7216 ifdeffed out code.
7217 (nlm_sparc_write_import): Removed second argument.
7218 (nlm_sparc_write_external): Renamed from
7219 nlm_sparc_write_externals. Changed second argument from bfd_vma
7220 to bfd_size_type.
7221 (nlm32_sparc_backend): Adjusted for changes to fields and names.
7222 * nlmcode.h: Removed some unused code.
7223 (nlm_object_p): Don't destroy tdata pointer. Call
7224 backend_object_p function if it exists.
7225 (nlm_slurp_symbol_table): Removed unused variable rcount. Call
7226 set_public_section_func if it exists instead of checking
7227 NLM_HIBIT.
7228 (nlm_compute_section_file_positions): Account for
7229 optional_prefix_size.
7230 (nlm_write_object_contents): Account for optional_prefix_size.
7231 Removed useless variable write_reloc_func. Changed declaration
7232 and call of write_import_func. Call write_prefix_func if it
7233 exists. Removed unused variables len and temp. Call
7234 get_public_offset_func if it exists rather than setting NLM_HIBIT.
7235 * nlmswap.h: Declare functions.
7236
2f555d79
ILT
7237 * bfd-in.h (uint64_typeLOW, uint64_typeHIGH): Fully parenthesize
7238 for clarity.
7239 (fprintf_vma, sprintf_vma): Use %lx, not %x.
7240 * bfd-in2.h: Rebuilt.
7241 * hosts/alphaosf.h (uint64_typeLOW, uint64_typeHIGH): Cast results
7242 to unsigned long.
7243
7244 * config.bfd: Don't set target64 here, as the setting is ignored.
7245 * configure.in (ecoffalpha_little_vec): Set target64.
7246
7247 * config/alphaosf.mt (TDEFINES): Removed; setting host parameters
7248 in TDEFINES is wrong.
7249
7250 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
7251 Remove unused variable output_section.
7252
7cd39d69
ILT
7253Tue Nov 30 16:45:23 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7254
7255 * irix-core.c: New file for Irix 4 and Irix 5 core support.
7256 Functions taken out of coff-mips.c. Handle vmap type VMAPFILE.
7257 * coff-mips.c: Irix 4 core file support moved to irix-core.c.
7258 * targets.c: If IRIX_CORE defined, include irix_core_vec in
7259 target_vector.
7260 * config/irix4.mh (HDEFINES): Add -DIRIX_CORE.
7261 (HDEPFILES): Define to be irix-core.o.
7262 * config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE.
7263 (HDEPFILES): Define to be irix-core.o.
7264 * Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o. Removed
7265 sco-core.o, which no longer exists.
7266 (CFILES): Added all *-core.c files.
7267 Rebuilt dependencies.
7268
8d12f138
ILT
7269Wed Nov 24 02:02:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7270
6c35a16d
ILT
7271 * elfcode.h (map_program_segments): Restore check of file_size !=
7272 mem_size, but only if SHT_PROGBITS.
7273
8d12f138
ILT
7274 * ecofflink.c: New file to hold ECOFF debug information linking
7275 routines.
7276 * ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet,
7277 ecoff_add_string, ecoff_get_debug): Removed. Functionality now in
7278 ecofflink.c.
7279 (ecoff_get_extr, ecoff_set_index): New functions.
7280 (ecoff_slurp_symbolic_info): Don't save raw_size.
7281 (ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions.
7282 (ecoff_compute_section_file_positions): Don't set EXEC_P just
7283 because there is a start address.
7284 (ecoff_write_object_contents): Handle external symbols here. Use
7285 ecofflink.c functions to write out debugging information.
7286 * elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr,
7287 mips_elf_set_index): New functions.
7288 (mips_elf_seclet_link): Discard empty sections, the .options
7289 section and .gptab sections. Handle linking .mdebug section.
7290 * libecoff.h (ecoff_data_type): Removed raw_size and ifdbase.
7291 * libelf.h (elf_symbol_type): Added mips_extr to tc_data union.
7292 * bfd-in.h: Added prototypes for routines in ecofflink.c (some are
7293 called by gas, so they are public).
7294 * bfd-in2.h: Rebuilt.
7295 * Makefile.in (BFD_LIBS): Added ecofflink.o.
7296 (CFILES): Added ecofflink.c.
7297 (ecofflink.o): New target. Rebuilt dependencies.
7298
abb324b2
JL
7299Mon Nov 22 22:26:42 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7300
7301 * som.c (hppa_object_p): Also recognize SHARED_MAGIC_CNX as
7302 a valid magic number if it's been defined.
7303
8f45f604
ILT
7304Mon Nov 22 14:17:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7305
7306 * ecoff.c (ecoff_mkobject): Don't create .scommon section; linker
7307 no longer requires it.
7308 (ecoff_bfd_seclet_link, ecoff_sizeof_headers,
7309 ecoff_write_object_contents): Don't treat .scommon section
7310 specially.
7311
c236d8b3
FF
7312Mon Nov 22 10:54:27 1993 Fred Fish (fnf@cygnus.com)
7313
7314 Merged changes from kev@spuds.geg.mot.com (Kevin A. Buettner):
7315 * bfd/config/delta88.mh (HDEFINES): Define this to be -DPTRACE_CORE.
7316 * bfd/config/delta88.mh (HDEPFILES): Defined to be ptrace-core.o.
7317 * bfd/ptrace-core.c: New file for dealing with core files with
7318 start with the ptrace_user structure found on BCS compliant systems.
7319 * bfd/targets.c (ptrace_core_vec): New vector.
7320
36456a67
JL
7321Mon Nov 22 02:33:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7322
7323 * Minimal support for reading SOM fixup streams. Allows
7324 objdump -r to do something reasonable.
7325 * som.c (som_get_reloc_upper_bound): Implement.
7326 (som_canonicalize_reloc): Implement.
7327 (som_set_reloc_info, som_slurp_reloc_table): New functions.
7328
8d12f138
ILT
7329Sun Nov 21 13:46:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7330
7331 * hosts/lynx.h (FPRINTF_ALREADY_DECLARED): Define.
7332 * hosts/sparclynx.h: Include lynx.h instead of duplicating it.
7333
a1bff336
ILT
7334Fri Nov 19 14:34:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7335
533af031
ILT
7336 * coff-a29k.c (a29k_reloc): For R_IREL, don't left shift
7337 signed_value before sign extending it. Don't subtract out
7338 reloc_entry->address. This makes it compatible with what gas is
7339 generating.
7340
a1bff336
ILT
7341 * elfcode.h (elf_fake_sections): Accept .sbss as the name for a
7342 SHT_NOBITS sections.
7343 (map_program_segments): Don't leave the loop after the first
7344 SHT_NOBITS section.
7345 (assign_file_positions_except_relocs): Only force sh_offset and
7346 sh_addr to match modulo maxpagesize for a section which is not
7347 SHT_NOBITS. Changed the method used to force page alignment after
7348 a SHT_NOBITS section to only do it for the last such consecutive
7349 section, and to really force page alignment.
7350
96be1f52
KR
7351Fri Nov 19 04:02:01 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7352
4c01d9b5
KR
7353 * coffcode.h (coff_slurp_symbol_table): Print more verbose message
7354 in the case of an unknown (or unhandled) storage class.
7355
96be1f52
KR
7356 * config/i386-lynx.mt (TDEFINES): FPRINTF_ALREADY_DECLARED should
7357 not be defined here, since it is a host attribute, not a target
7358 one.
7359 * config/m68k-lynx.mt, config/sparc-lynx.mt: Ditto.
7360
7361 * coffcode.h (coff_bfd_reloc_type_lookup): Don't define if already
7362 defined.
7363
7364 * coff-sparc.c: Define some relocations, based on ELF relocations.
7365 (enum reloc_type, bfd_coff_generic_reloc, coff_sparc_howto_table,
7366 struct coff_reloc_map, sparc_reloc_map,
7367 coff_sparc_reloc_type_lookup): Borrowed from elf32-sparc.c and
7368 elf.c, renamed.
7369 (coff_bfd_reloc_type_lookup): Define to be coff_sparc_reloc_....
7370 (rtype2howto): Index into coff_sparc_howto_table using
7371 dst->r_type.
7372
f8944f84
ILT
7373Thu Nov 18 11:45:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7374
7375 * config.bfd (mips*-*-irix5*): New target; use mipsbelf.
7376 * configure.host (mips-sgi-irix5*) New host; use irix5 (no
7377 hosts/irix5.h created; just use std-host.h).
7378 * config/irix5.mh: New file; like irix4.mh, but don't use -G or
7379 -lmalloc.
7380 * Makefile.in: Rebuilt dependencies.
7381
7382 * ecoffswap.h: Changed type of internal pointers for swap out
7383 functions to const *.
7384
7385 * elf32-mips.c (mips_elf_got16_reloc): New function. Handle GOT16
7386 correctly for assembler, but linker support not implemented.
7387 (elf_mips_howto_table): Use mips_elf_got16_reloc for GOT16.
7388 (mips_elf_sym_is_global): New function; at least on Irix 5, all
7389 non section symbols are considered global.
7390 (elf_backend_sym_is_global): Define.
7391 (mips_elf_final_write_processing): New function. Set the MIPS
7392 architecture level correctly.
7393 (elf_backend_final_write_processing): Define.
7394 (mips_elf_section_from_shdr): Handle SHT_MIPS_OPTIONS.
7395 (mips_elf_fake_sections): Set entsize of .mdebug or .reginfo
7396 section to 1. Handle .options section.
7397 (mips_elf_acom_section, mips_elf_acom_symbol,
7398 mips_elf_acom_symbol_ptr): New static variables, used to build a
7399 generic .acommon section to hold SHN_MIPS_ACOMMON symbols.
7400 (mips_elf_symbol_processing): Handle SHN_MIPS_ACOMMON symbols by
7401 putting them all in a global .acommon section.
7402
7403 * elfcode.h (bfd_section_from_shdr): Don't dump core if target
7404 section has no ELF section data.
7405 (elf_make_sections): Set addralign of reloc section to 4.
7406 (elf_fake_sections): Likewise.
7407 (map_program_segments): Don't consider section 0.
7408 (assign_file_positions_except_relocs): Don't consider section 0.
7409 In the main loop, skip the symtab and strtab sections, since their
7410 positions are set elsewhere.
7411 (swap_out_syms): Set addralign of symtab section to 4. Set
7412 addralign of strtab sections to 1.
7413 (assign_file_positions_for_relocs): Don't consider section 0.
7414 (write_object_contents): Don't write out section 0.
7415
7416 * libelf.h (struct elf_backend_data): Added fields
7417 elf_backend_sym_is_global and elf_backend_final_write_processing.
7418 * elf32-target.h (elf32_bed): Added corresponding initializers.
7419 * elf64-target.h (elf64_bed): Likewise.
7420 * elfcode.h (sym_is_global): Take abfd argument. Call
7421 elf_backend_sym_is_global if it is not NULL.
7422 (elf_map_symbols): Pass abfd to sym_is_global.
7423 (write_object_contents): Call elf_backend_final_write_processing
7424 if it is defined.
7425
c9668c58
ILT
7426Wed Nov 17 18:43:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7427
7428 * libecoff.h: Include coff/ecoff.h.
7429 (struct ecoff_backend_data): Move external debugging information
7430 fields into a single field pointing to an ecoff_debug_swap
7431 structure.
7432 (ecoff_data_type): Move debugging information fields into a single
7433 field pointing to an ecoff_debug_info structure.
7434 * coff-alpha.c, coff-mips.c, ecoff.c: Corresponding changes.
7435
2f555d79
ILT
7436Wed Nov 17 17:38:58 1993 Sean Eric Fagan (sef@cygnus.com)
7437
7438 * nlmswap.h: New file to swap fixed header. Included by NLM
7439 backends.
7440 * libnlm.h (struct reloc_and_sec): Define.
7441 (struct nlm_backend_data): Add fields fixed_header_size,
7442 nlm_read_import, nlm_write_import, nlm_swap_fhdr_in,
7443 nlm_swap_fhdr_out.
7444 (nlm_fixed_header_size, nlm_read_import_func,
7445 nlm_write_import_func, nlm_swap_fixed_header_in_func,
7446 nlm_swap_fixed_header_out_func, nlm_write_external_func): New
7447 accessor macros.
7448 * nlmcode.h: Use new functions.
7449 * nlm32-i386.c: Provide new functions.
7450 * nlm32-sparc.c: New file; SPARC NLM backend.
7451
55ff7aef
SS
7452Wed Nov 17 13:56:10 1993 Stan Shebs (shebs@rtl.cygnus.com)
7453
7454 * i386lynx.c (swap_std_reloc_in, swap_ext_reloc_in): Ignore
7455 garbage bits appearing in the upper end of symbolnums.
7456
7457 * config/sparc-lynx.mt (TDEFINES): Add -DFPRINTF_ALREADY_DECLARED.
7458
343c1a96
SG
7459Tue Nov 16 17:03:41 1993 Stu Grossman (grossman at cygnus.com)
7460
7461 * lynx-core.c (lynx_core_file_p): Change bfd_zalloc to bfd_alloc.
7462 * m68klynx.c: Define core file macros.
7463 * hosts/i386lynx.h, hosts/m68klynx.h, hosts/lynx.h: Move all
7464 non-architecture specific stuff into lynx.h.
7465
794057a7
JK
7466Tue Nov 16 15:45:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
7467
7468 * i386linux.c: Define new macro ZMAGIC_DISK_BLOCK_SIZE to 1024, and
7469 change PAGE_SIZE to 4096.
7470
7471Mon Nov 15 11:48:08 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
7472
7473 * Makefile.in (diststuff): New target.
7474
7475 * VERSION: Updated.
7476
09796011
JL
7477Sun Nov 14 23:33:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7478
3be54498
JL
7479 * som.c (som_object_setup): Do not create dummy ".text", ".data",
7480 and ".bss" sections.
7481 (setup_sections): Do not set SEC_HAS_CONTENTS if a section's size
7482 is zero. Recognize BSS type sections and turn off SEC_LOAD and
7483 SEC_DATA (so binutils/size works). Set the correct value for
7484 a section's _raw_size.
7485 (som_slurp_symbol_table): Program entry points, and millicode are
7486 also functions. Mark them as such. Also mark L$* symbols as
7487 debugging symbols.
7488
09796011
JL
7489 * bfd-in2.h: Rebuilt.
7490
aff97790
JL
7491Sat Nov 13 15:27:15 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7492
91c0bcbb
JL
7493 * som.c (som_bfd_reloc_type_lookup): Add missing prototype. Returns
7494 a pointer to constant data. Delete bogus #define which made the
7495 function useless.
7496
aff97790 7497 * som.c (som_prep_for_fixups): New function.
9d0dea6f 7498 (som_write_fixups): New function.
0b35f7ec 7499 (som_write_space_strings): New function.
6eb64408
JL
7500 (som_write_symbol_strings): New function.
7501 (som_begin_writing): New function.
aff97790 7502
40249bfb
JL
7503Fri Nov 12 15:29:36 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7504
980bac64
JL
7505 * som.c (som_write_object_contents): Do not abort. Flesh out.
7506 (som_set_section_contents): Do not abort. Flesh out.
7507
efc0df7c
JL
7508 * som.c (som_write_headers): New function.
7509 (som_prep_headers): New function.
713de7ec 7510 (som_build_and_write_symbol_table): New function.
7057b78f 7511
2212ff92
JL
7512 * som.c (som_sizeof_headers): Add missing prototype.
7513 (som_set_arch_mach): Do not abort.
7514
5532fc5a
JL
7515 * som.c (som_count_spaces): New function.
7516 (som_count_subspaces): New function.
7517 (compare_syms): New function.
7518 (som_compute_checksum): New function.
7519
32619c58
JL
7520 * som.c (hppa_som_gen_reloc_type): New function.
7521 (som_bfd_reloc_type_lookup): New function.
7522
54bbfd37
JL
7523 * som.c (try_prev_fixup): New function.
7524 (som_reloc_skip): New function.
7525 (som_reloc_addend): New function.
efc0df7c 7526 (som_reloc_call): New function.
54bbfd37 7527
d125665c
JL
7528 * som.c (som_initialize_reloc_queue): New function.
7529 (som_reloc_queue_insert): Likewise.
7530 (som_reloc_queue_fix): Likewise.
7531 (som_reloc_queue_find): Likewise.
7532
fcb0c846
JL
7533 * som.c (som_hppa_howto_table): SOM howto relocation table.
7534 (hppa_som_reloc): New function.
7535
4fdb66cd
JL
7536 * som.c (struct reloc_queue): New structure to keep track of
7537 the last four multibyte relocations emitted.
7538 (enum pa_symbol_type): Type to fully describe the symbol types
7539 associated with .import/.export assembler directives.
7540
70f1d738
JL
7541 * som.c: Include libhppa.h
7542
40249bfb
JL
7543 * som.c (bfd_som_set_section_attributes): New function.
7544 (bfd_som_set_subsection_attributes): Likewise.
7545 (bfd_som_set_symboL_type): Likewise.
7546 (bfd_som_attach_unwind_info): Likewise.
7547 * som.h: Declare new exported functions.
7548
7549 * som.h (struct som_symbol): Add new fields to hold additional
7550 information needed to build/write symbol tables and fixup streams.
7551 (struct som_section_data_struct): Add new fields to hold additional
7552 information needed to build/write space and subspace headers.
7553 (som_symbol_data): New accessor macro for SOM symbol information.
7554 (R_HPPA_*): Basic relocation types to be used by the assembler.
7555
115f7430
JK
7556Fri Nov 12 11:00:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
7557
7558 * trad-core.c (trad_unix_core_file_p): If new hook
7559 TRAD_CORE_ALLOW_ANY_EXTRA_SIZE defined, then skip the check for the
7560 corefile being too big.
7561 * hosts/i386sco.h: Define it.
7562
3e80841e
JL
7563Thu Nov 11 15:16:28 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7564
8a71bf96
JL
7565 * bfd.c (struct _bfd): Add hppabsd_core_data.
7566 * targets.c (target_vector): Add hppabsd_core_vec.
7567 * hpux-core.c (hpux_core_core_file_p): Fail if an unknown core
7568 section is encountered during core section scanning.
7569 * hppabsd-core.c: New file.
7570 * config/hppabsd.mh: Enable HPPA BSD core files.
7571
3e80841e
JL
7572 * elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud. Remove code
7573 which is either commented out or ifdef'd out. Add, update and
7574 clean comments. Fix various indention and spacing problems. Handle
7575 problems related to using "ble" to jump to a stub rather than "bl"
7576 (%r31 is trashed by "ble", but not by "bl").
7577 (NEW_INSTRUCTION): Put inside curly braces.
7578 (CURRENT_STUB_OFFSET): Fix indention problems.
7579 (hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems.
7580 Add, update and clean comments. Handle "ble" %r31 lossage problems.
7581 (hppa_elf_build_long_branch_stub): Likewise.
7582 (hppa_look_for_stubs_in_section): Likewise.
7583 (hppa_elf_stub_check): Remove obsolete function.
7584
7585 * hppa_stubs.h: Add new instructions to deal with %r31 lossage
7586 problems. Delete unused instructions.
7587
0f5bc783
SS
7588Tue Nov 9 11:40:27 1993 Stan Shebs (shebs@rtl.cygnus.com)
7589
7590 * m68klynx.c (TARGET_IS_BIG_ENDIAN_P): Define.
7591
95469b02
ILT
7592Tue Nov 9 11:26:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7593
346f0414
ILT
7594 * elfcode.h (elf_object_p): Rather than looking through an array
7595 of architectures, get the ELF EM_xxx code from the backend
7596 information. Let the generic ELF target match any EM_xxx code not
7597 matched by another ELF target. Call elf_backend_object_p to let
7598 the backend do more checks and set global information.
7599 * libelf.h (struct elf_backend_data): Added elf_machine_code and
7600 elf_backend_object_p fields.
7601 (struct bfd_elf_arch_map): Removed.
7602 (bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare.
7603 * elf32-target.h, elf64-target.h: Initialize elf_machine_code
7604 field with ELF_MACHINE_CODE. Initialize elf_backend_object_p
7605 field with elf_backend_object_p (if it is defined).
7606 * elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c,
7607 elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c,
7608 elf64-gen.c (ELF_MACHINE_CODE): Defined.
7609 * elf32-mips.c: Include ecoffswap.h to get ECOFF swapping
7610 routines.
7611 (mips_elf_object_p): Set the right machine number.
7612 (mips_elf_ecoff_debug_swap): Defined.
7613 (elf_backend_object_p): Defined to be mips_elf_object_p.
7614 (elf_backend_ecoff_debug_swap): Defined to be
7615 mips_elf_ecoff_debug_swap.
7616 * elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed.
7617
7618 * libbfd-in.h (target_vector, default_vector): Declare.
7619 * libbfd.h: Rebuilt.
7620 * format.c (target_vector, default_vector): Don't declare.
7621
7622 * elf32-mips.c (elf_mips_howto_table): Don't complain on overflow
7623 for R_MIPS_26. Correct overflow detection requires matching the
7624 upper four bits of the destination against the PC. From Ted Lemon
7625 <mellon@pepper.ncd.com>.
7626
7627 * bout.c (b_out_reloc_type_lookup): Return type should point to
7628 const data.
7629 * coff-i960.c (coff_i960_reloc_type_lookup): Likewise.
7630 * elf32-hppa.c (elf_hppa_reloc_type_lookup): Likewise.
7631 * mipsbsd.c (MY(reloc_howto_type_lookup)): Likewise.
7632 * coff-i386.c (coff_i386_reloc): Made howto const.
7633 * oasys.c (oasys_write_data): Made how const.
7634
95469b02
ILT
7635 * libelf.h: Added some comments.
7636 (struct elf_backend_data): Added elf_backend_ecoff_debug_swap
7637 field. Removed unused write_relocs field.
7638 * elf32-target.h: Adjusted elf_backend_data initialization
7639 accordingly.
7640 * elf64-target.h: Corrected elf_backend_data initialization to
7641 fill in all fields and to set elf_64_p to 1.
7642
e2756048
ILT
7643Mon Nov 8 18:13:14 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7644
7b8106b4
ILT
7645 * elfcode.h (bfd_section_from_shdr): Remove duplicate assignment
7646 to filepos in SHT_STRTAB case.
7647 (assign_file_position_for_section): Set BFD section filepos as
7648 well as ELF section sh_offset.
7649
e2756048
ILT
7650 * reloc.c: Use const instead of CONST.
7651 (bfd_perform_relocation): Make variable howto a const pointer.
7652 * bfd-in2.h, libbfd.h: Rebuilt.
7653
7654Mon Nov 8 12:19:15 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
7655
7656 * Makefile.in (realclean): Don't remove generated headers. Reverts
7657 change of 2 Jul 1993.
7658
007455de
DHW
7659Mon Nov 8 06:08:31 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com)
7660
7661 * configure.bfd: make unixware equivalent to sysv4.
7662
7663 * config/i386-nlm.mt: bring in elf config; make it the default.
7664
1d3e8847
JL
7665Sun Nov 7 20:21:38 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7666
7667 * libbfd.c (bfd_put_8): Add parens around reference to "val"
7668 argument.
7669
2ccb88c0
DM
7670Fri Nov 5 21:45:09 1993 David J. Mackenzie (djm@thepub.cygnus.com)
7671
7672 * hosts/i386mach3.h (HOST_SEGMENT_SIZE),
7673 i386mach3.c (SEGMENT_SIZE, TEXT_START_ADDR): Correct values (?).
7674
0f396d2a
ILT
7675Fri Nov 5 15:17:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7676
7677 * coffcode.h (coff_write_object_contents): Zero out internal_a.
7678
c188b0be
DM
7679Fri Nov 5 10:41:07 1993 David J. Mackenzie (djm@thepub.cygnus.com)
7680
7681 * aoutx.h, archive.c, archures.c, bfd.c, cache.c, coffcode.h,
7682 core.c, ctor.c, format.c, init.c, libbfd.c, opncls.c, reloc.c,
7683 section.c, syms.c, targets.c:
7684 Doc cleanup (spelling, punctuation, grammar, formatting).
7685 * bfd-in2.h, libbfd.h: Rebuild.
c188b0be 7686
baf205c4
JG
7687Thu Nov 4 14:46:14 1993 John Gilmore (gnu@rtl.cygnus.com)
7688
7689 * bfd-in.h (bfd_get_cacheable, bfd_set_cacheable): New accessors.
7690 * bfd.c, opncls.c: Improve comments on file descriptor cacheing.
7691
fa8e8648
JL
7692Thu Nov 4 08:54:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
7693
7694 * From Pete Hoogenboom (hoogen@cs.utah.edu)
7695 * elf32-hppa.c (hppa_elf_get_section_contents): Fix logic error
7696 in last change. Always rebuild symbol extension section the first
7697 time though if output sections exist (fixes ld -r problems).
7698
d5d53b0a
JW
7699Thu Nov 04 08:08:46 1993 Jeffrey Wheat (cassidy@cygnus.com)
7700
7701 * Makefile.in: Add .PHONY for check and installcheck rules.
7702
7703Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
7704
7705 * libbfd-in.h (artdata): Use long, not time_t for portability, at
7706 least to HPUX. File below is a derived file.
7707
31eb3ead
BC
7708Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
7709
7710 * libbfd.h (artdata): Use long, not time_t for portability, at
7711 least to HPUX.
7712
242f60e2
JK
7713Tue Nov 2 09:32:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
7714
7715 * config.bfd: Use bigmips for mips*-*-bsd*.
7716
55d5b62d
ILT
7717Mon Nov 1 14:30:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7718
f2e945df
ILT
7719 * elfcode.h (elf_slurp_reloca_table, elf_slurp_reloc_table):
7720 Handle symbol number of zero.
7721
7386c3b7
ILT
7722 * reloc.c (enum bfd_reloc_code_real): Added
7723 BFD_RELOC_MIPS_LITERAL, BFD_RELOC_MIPS_GOT16,
7724 BFD_RELOC_MIPS_CALL16, BFD_RELOC_MIPS_GPREL32.
7725 * bfd-in2.h: Rebuilt.
7726 * coff-mips.c (mips_bfd_reloc_type_lookup): Handle
7727 BFD_RELOC_MIPS_LITERAL.
7728 * elf32-mips.c (mips_reloc_map): Handle new relocs.
7729 (mips_elf_hi16_reloc, mips_elf_lo16_reloc): Rearrange _gp_disp
7730 checks slightly.
7731
55d5b62d
ILT
7732 * aout-target.h (MY_bfd_debug_info_start, MY_bfd_debug_info_end,
7733 MY_bfd_debug_info_accumulat [sic]): Remove unused definitions.
7734 (MY_bfd_get_relocated_section_contents, MY_bfd_relax_section,
7735 MY_bfd_seclet_link): Define.
7736 (MY_bfd_reloc_type_lookup): Rename from
7737 MY_reloc_howto_type_lookup.
7738 (MY_bfd_make_debug_symbol): Rename from MY_make_debug_symbol.
7739 (MY(vec)): Use JUMP_TABLE rather than listing functions.
7740 * hp300hpux.c (MY_get_symtab, MY_get_symtab_upper_bound,
7741 MY_canonicalize_reloc, MY_write_object_contents): Don't define in
7742 terms of MY, because that causes a recusive invocation of CAT when
7743 expanded within JUMP_TABLE, and ANSI compilers don't expand
7744 recursive macros.
7745 * mipsbsd.c (MY_bfd_reloc_type_lookup): Rename from
7746 MY_reloc_howto_type_lookup, and don't define in terms of MY.
7747 (MY_canonicalize_reloc): Don't define in terms of MY.
7748 (aout_mips_little_vec, aout_mips_big_vec): Use JUMP_TABLE rather
7749 than listing functions.
7750
6198b7a1
JK
7751Mon Nov 1 09:12:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
7752
7753 * config.bfd: Use m68k-elf for m68*-*-sysv4*.
7754
ceeca31c 7755See file ChangeLog.1
e6d739eb 7756
41126f15
JK
7757\f
7758Local Variables:
7759mode: indented-text
7760left-margin: 8
6ec3bb6a
ILT
7761fill-column: 74
7762version-control: never
7763End:
This page took 0.653801 seconds and 4 git commands to generate.