Wed Feb 9 09:42:45 1994 Stan Shebs (shebs@andros.cygnus.com)
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
fa965415
KR
1Tue Feb 8 15:55:50 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2
3 * coff-alpha.c (reloc_nil): New function.
4 (alpha_howto_table): Use it as special_function to prevent certain
5 relocs from being adjusted by bfd_perform_relocation. IGNORE
6 reloc should be partial_inplace.
7 (alpha_ecoff_get_relocated_section_contents): Accept a LITERAL
8 reloc on an "ldl" instruction too.
9
7c202d37
PS
10Tue Feb 8 00:32:28 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
11
12 * elf32-hppa.c (CURRENT_STUB_OFFSET, hppa_elf_build_arg_reloc_stub,
13 hppa_elf_build_long_branch_stub): Cast to char * instead of int
14 before performing pointer arithmetic.
15
9ed21f0e
JL
16Mon Feb 7 20:56:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
17
18 * config.bfd (hppa*-*-osf*): Use bfd_name hppaosf for this
19 configuration.
20 (hppa*-*-*elf*): This configuration used hppa-elf now.
21
22 * som.c: This file is also used for HOST_HPPAOSF.
23
24 * targets.c (bfd_target_vector): Enable som_vec for HOST_HPPAOSF.
25
26 * hosts/hppaosf.h: New host configuration file.
27
28 * config/hppabsd.mt (SELECT_VECS): Add bfd_elf32_hppa_vec as
29 BSD handles both SOM and ELF object files.
30
31 * config/hppaosf.mh (HDEFINES): Delete. No longer needed.
32 (RANLIB): Doesn't do anything, define it to be "echo".
33
34 * config/hppaosf.mt: New target makefile fragment for a PA running
35 OSF1.
36
bf969135
ILT
37Mon Feb 7 15:02:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
38
66f1cff5
ILT
39 * archures.c (enum bfd_architecture): Added bfd_arch_powerpc.
40 (archures_init_table): If SELECT_ARCHITECTURES is not defined,
41 added bfd_powerpc_arch.
42 * bfd-in2.h: Rebuilt.
43 * cpu-powerpc.c: New file.
44 * Makefile.in (ALL_MACHINES, CFILES): Added cpu-powerpc.c.
45 Rebuilt dependencies.
46
bf969135
ILT
47 * elfcode.h (bfd_section_from_shdr): Get vma and alignment_power
48 of an SHT_STRTAB section from sh_addr and sh_addralign, rather
49 than just setting them to zero.
50
b9d5cdf0
DM
51Sun Feb 6 20:04:10 1994 David J. Mackenzie (djm@thepub.cygnus.com)
52
53 * elfcode.h (prep_headers, swap_out_syms): Check for NULL return
54 from bfd_new_strtab.
55 (elf_compute_section_file_positions): Check for false return from
56 swap_out_syms.
57
58 * linker.c (default_indirect_link_order): Check for NULL return
59 from bfd_get_relocated_section_contents.
60
61 * syms.c: Make example application in doc call xmalloc, not
62 bfd_xmalloc.
63
64 * aoutx.h (NAME(aout,slurp_symbol_table),
65 aout_link_get_symbols, NAME(aout,link_hash_table_create)):
66 * bout.c (b_out_slurp_reloc_table, b_out_squirt_out_relocs):
67 * ecoff.c (ecoff_bfd_link_hash_table_create):
68 * ecofflink.c (bfd_ecoff_debug_init):
69 * format.c (bfd_check_format_matches):
70 * linker.c (_bfd_generic_link_hash_table_create):
71 (_bfd_generic_final_link):
72 * reloc16.c (bfd_coff_reloc16_relax_section):
73 (bfd_coff_reloc16_get_relocated_section_contents):
74 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub):
75 * elf32-mips.c (mips_elf_final_link):
76 * elfcode.h (bfd_new_strtab):
77 (bfd_add_2_to_strtab):
78 (elf_slurp_symbol_table):
79 (elf_corefile_note):
80 * libbfd.c (bfd_zmalloc):
81 Use malloc and check the result, instead of bfd_xmalloc.
82
6b054519
JK
83Sat Feb 5 12:39:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
84
85 * config.bfd: Put m68*-*-sysv* line after m68*-*-sysv4*.
86
bf430317
PS
87Sat Feb 5 05:32:44 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
88
89 * srec.c (srec_write_record): Put CONST keyword for "src" before
90 "unsigned", some compilers don't like it after "unsigned".
91 * libcoff.h, libcoff-in.h (bfd_perform_slip): Rename "value" to
92 "val" in prototype declaration because some compilers don't like
93 arguments whose names are the same as types.
94
9b39ed6b
ILT
95Sat Feb 5 01:14:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
96
97 * aoutx.h (aout_link_check_ar_symbols): Correct test for whether
98 object file defines symbol. Also, if skipping a symbol, skip the
99 second symbol of a N_WARNING or N_INDR symbol as well.
100
d352be4f
ILT
101Fri Feb 4 23:55:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
102
103 Add basic support for writing RS/6000 XCOFF files.
104 * coff-rs6000.c (dummy_reloc): Removed.
105 (rs6000coff_howto_table): Defined XCOFF relocs.
106 (RTYPE2HOWTO): Defined to use rs6000coff_rtype2howto.
107 (rs6000coff_rtype2howto): New function.
108 (coff_bfd_reloc_type_lookup): Defined to use
109 rs6000coff_reloc_type_lookup.
110 (rs6000coff_reloc_type_lookup): New function.
111 (SELECT_RELOC): Defined to set r_type and r_size fields.
112 (COFF_LONG_FILENAMES): Defined.
113 * coffcode.h (combined_entry_type): Changed fix_tag and fix_end
114 fields to bitfields. Added fields fix_value and fix_scnlen.
115 (sec_to_styp_flags): If STYP_DEBUG is defined, use it rather than
116 STYP_INFO for the type of a section named .debug.
117 (coff_add_missing_symbols): Don't define if RS6000COFF_C.
118 (coff_write_object_contents): If RS6000COFF_C, don't call
119 coff_add_missing_symbols.
120 (coff_slurp_symbol_table): If RS6000COFF_C, then if the last aux
121 entry has type STY_LD change the x_scnlen into a pointer to a
122 symbol and set fix_scnlen. Also, for a C_BSTAT symbol, change the
123 value into a pointer to a symbol and set fix_value.
124 * libcoff.h: Rebuilt.
125 * coffgen.c (coff_mangle_symbols): Reindent. If fix_value is set,
126 get the symbol offset. Likewise for fix_scnlen.
127 (string_size): Change type to bfd_size_type.
128 (debug_string_size, debug_string_section): New static variables.
129 (coff_fix_symbol_name): If bfd_coff_symname_in_debug returns true,
130 write the symbol name into the .debug section; assume that the
131 section has already been created with the right size.
132 (coff_write_symbols): Initialize debug_string_size to 0. If
133 bfd_coff_symname_in_debug returns true, don't put symbol name in
134 usual string table. After writing out all symbols, if
135 debug_string_size is not 0, check that it matches the size of the
136 .debug section.
137 (coff_get_normalized_symtab): Clear new fix_value and fix_scnlen
138 fields. If the string offset is 0, always use an empty string as
139 the name.
140 (coff_make_empty_symbol): Zero out the symbol structure.
141 * reloc.c (bfd_perform_relocation): Work around one gross hack
142 with another: actually look at the target name to avoid the broken
143 COFF check.
144 (bfd_reloc_code_real_type): Add BFD_RELOC_PPC_B26,
145 BFD_RELOC_PPC_BA26 and BFD_RELOC_PPC_TOC16.
146 * bfd-in2.h: Rebuilt.
147
0ee34272
DM
148Fri Feb 4 17:28:32 1994 David J. Mackenzie (djm@thepub.cygnus.com)
149
150 * libbfd.c (bfd_zmalloc): Call bfd_xmalloc instead of malloc.
151 (bfd_xmalloc, bfd_xmalloc_by_size_t): Functions deleted.
152 * libbfd-in.h: Define them as macros calling xmalloc and declare
153 xmalloc.
154 * libbfd.h: Rebuilt.
0ee34272 155
fa2302b8
ILT
156Thu Feb 3 16:49:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
157
cbc174e7
ILT
158 * ecofflink.c (bfd_ecoff_debug_externals): If a small undefined
159 symbol has a value in the ECOFF symbol but not in the BFD symbol,
160 keep the value in the ECOFF symbol. This helps gas.
161
5072b8e5
ILT
162 * linker.c (_bfd_generic_link_output_symbols,
163 _bfd_generic_link_write_global_symbol): Don't require that all
164 references to a common symbol be themselves common symbols.
165
fa2302b8
ILT
166 * aoutx.h (aout_reloc_index_to_section): Handle N_UNDF.
167
96ad107b
JK
168Wed Feb 2 20:37:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
169
170 * libbfd.c, bfd-in.h, hosts/alphaosf.h, hosts/sparc-ll.h, aoutf1.h,
171 sparclynx.c, Makefile.in: Change HOST_64_BIT to BFD_HOST_64_BIT.
0324156c 172 * bfd-in2.h: Rebuilt.
96ad107b 173
192d8ee8
ILT
174Wed Feb 2 12:30:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
175
38e1f0ce
ILT
176 * coffswap.h (coff_swap_reloc_out): If RS6000COFF_C, handle type
177 and size correctly.
178 (coff_swap_aux_in): If RS6000COFF_C, change x_csect.x_scnlen to
179 x_csect.x_scnlen.l to match change in coff/internal.h.
180 (coff_swap_aux_out): Likewise.
181
ebf3b4cd
ILT
182 * coff-mips.c (mips_ecoff_backend_data), coff-alpha.c
183 (alpha_ecoff_backend_data): Change casts of aux_in and aux_out
184 fields to match yesterday's changes.
185
192d8ee8
ILT
186 * coffcode.h (coff_write_relocs): If SELECT_RELOC is defined, pass
187 in the internal_reloc itself, not the type.
188 * coff-apollo.c, coff-h8300.c, coff-h8500.c, coff-i386.c,
189 coff-m68k.c, coff-sh.c, coff-we32k.c, coff-z8k.c: Changed
190 definition of SELECT_RELOC accordingly.
191
330595d0
ILT
192Tue Feb 1 12:05:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
193
194 * coffcode.h (bfd_coff_backend_data): Added new arguments to
195 _bfd_coff_swap_aux_in and _bfd_coff_swap_aux_out: aux index number
196 and number of aux entries.
197 (bfd_coff_swap_aux_in, bfd_coff_swap_aux_out): Changed
198 accordingly.
199 * libcoff.h: Rebuilt.
200 * coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Accept new
201 arguments. If RS6000COFF_C, only treat C_EXT and C_HIDEXT
202 specially if this is the last aux entry.
203 * coffgen.c (coff_write_symbol, coff_get_normalized_symtab): Pass
204 new arguments to swap_aux functions.
205
4e810849
KR
206Sun Jan 30 15:14:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
207
208 * gen-aout.c (main): Set DEFAULT_ARCH based on preprocessor macros
209 (only testing for m68k and vax at the moment); do verify that the
210 preprocessor didn't trash the arch name inside the string version.
211 Don't print out "pagesize =" line that prevents output from
212 compiling. Derive BYTES_IN_WORD and ARCH values from sizeof
213 results.
214 * Makefile.in (aout-params.h): Pass gen-aout a dummy target name.
26b572e4
KR
215 (check, installcheck): Identify directory in "no testsuites"
216 message.
4e810849 217
2edc8357
ILT
218Sun Jan 30 13:25:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
219
220 * aoutx.h (aout_link_write_symbols): Write out correct value for
221 object file symbol.
222
098630a0
KR
223Fri Jan 28 18:34:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
224
225 * hosts/vaxbsd.h (HOST_STACK_END_ADDR): Vax BSD doesn't define
226 KERNBASE, so hard-code 0x80000000 instead.
227
c3156966
ILT
228Thu Jan 27 13:54:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
229
230 * linker.c (generic_link_add_symbol_list): If symbol is common,
231 set the BSF_OLD_COMMON flag.
232
d6d4e4c3
DM
233Wed Jan 26 13:47:15 1994 David J. Mackenzie (djm@thepub.cygnus.com)
234
235 * format.c (bfd_check_format_matches): Put the new entry in the
236 correct element of matching_vector.
237
09f70549
JK
238Tue Jan 25 11:43:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
239
240 * som.c, som.h (bfd_som_set_section_attributes,
241 bfd_som_set_subsection_attributes): Change parameters from char
242 to int. Following a prototype with an old-style function definition
243 in the presence of widened parameters is a GCC-ism not supported
244 by the HP compiler in ANSI mode.
245
a927c32d
ILT
246Tue Jan 25 11:46:46 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
247
8638431e
ILT
248 * reloc.c (bfd_get_reloc_size): Size of type -2 is 4 bytes, not 2.
249
3b490cdd
ILT
250 * hp300hpux.c (MY(write_object_contents)): Write out the symbols
251 before writing out the relocs, so that the right symbol indices
252 are used.
253
71d58b59
ILT
254 * archive.c (do_slurp_bsd_armap, bfd_slurp_bsd_armap_f2): Do not
255 try to overlay the internal carsyms on the external symdefs. That
256 can not work if the size of a host pointer is larger than 4 bytes.
257
258 * format.c (bfd_check_format_matches): Cast result of
259 bfd_xmalloc_by_size_t.
260 * opncls.c (_bfd_new_bfd): Avoid ANSI C prototype.
261
a927c32d
ILT
262 * archive.c: Reindented to GNU standards.
263
aabda2da
DM
264Mon Jan 24 14:41:23 1994 David J. Mackenzie (djm@thepub.cygnus.com)
265
f4bd7a8f
DM
266 * opncls.c (_bfd_new_bfd, _bfd_new_bfd_contained_in): Add
267 "_bfd_" to function names.
268 * archive.c (_bfd_create_empty_archive_element_shell),
269 libbfd-in.h: Change callers.
270
271 * libbfd.c (bfd_zmalloc): Renamed from zalloc.
272 * libbfd.c (bfd_add_to_string_table),
273 trad-core.c (trad_unix_core_file_p),
274 targets.c (bfd_target_list),
275 ptrace-core.c (ptrace_unix_core_file_p),
276 opncls.c (new_bfd), libbfd-in.h,
277 ieee.c (ieee_make_empty_symbol),
278 elf32-hppa.c (hppa_elf_stub_branch_reloc),
279 (hppa_elf_stub_reloc): Change callers.
280 * libbfd.h: Regenerated.
281
282 * archive.c (_bfd_look_for_bfd_in_cache): Add "_bfd_" to name.
283 (_bfd_get_elt_at_filepos),
284 coff-rs6000.c (rs6000coff_get_elt_at_filepos), libbfd-in.h:
285 Change callers.
286
287 * format.c (bfd_check_format_matches), libbfd-in.h, targets.c,
288 elfcode.h (elf_object_p): Rename target_vector to bfd_target_vector
289 and default_vector to bfd_default_vector.
290 * libbfd.h: Regenerated.
291
aabda2da
DM
292 * format.c (bfd_check_format_matches): New function.
293 (bfd_check_format): Call it.
294 (bfd_matching_formats): Function removed.
295 * targets.c: Replace the vector added on Jan 21 with a count of
296 entries in default_vector.
297 * bfd-in2.h: Regenerated.
298
ca1c6bec
ILT
299Mon Jan 24 12:38:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
300
3f048f7f
ILT
301 * coff-alpha.c (alpha_ecoff_object_p): New function. Set size of
302 .pdata section based on lnnoptr field, not section header.
303 (alpha_relocate_section): Don't bother to check if r_symndx >= 0,
304 since it is unsigned.
305 (ecoffalpha_little_vec): Use alpha_ecoff_object_p rather than
306 coff_object_p.
307 * ecoff.c (ecoff_new_section_hook): Set alignment_power field of
308 .pdata section to 3.
309 (ecoff_compute_section_file_positions): Save the size of the
310 .pdata section in the line_filepos field, and actually align the
311 .pdata section to an alignment power of 4.
312 (ecoff_compute_reloc_file_positions): Set output_has_begun after
313 calling ecoff_compute_section_file_positions.
314 (ecoff_write_object_contents): Set s_lnnoptr for the .pdata
315 section from the line_filepos field. Set vstamp for the optional
316 header from the vstamp of the symbolic header.
317 (ecoff_bfd_final_link): Set vstamp of the symbolic header to the
318 vstamp used by the first object file in the link.
319
320 * ecofflink.c (ecoff_align_debug): Align RFDs to debug_align.
321
a20bdb43
ILT
322 * linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
323 for a created common section.
324 (_bfd_generic_link_add_one_symbol): Likewise.
325
326 * elfcode.h (swap_out_syms): Use elf_section_from_bfd_section to
327 get the index of a common section, rather than always using
328 SHN_COMMON (MIPS has multiple common sections).
329
7a60ed8c
ILT
330 * elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =).
331
4991ebb9
ILT
332 * bfd/aoutx.h (aout_link_input_section_std,
333 aout_link_input_section_ext): Pass additional arguments to
334 reloc_overflow callback.
335 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents,
336 alpha_relocat_section): Likewise.
337 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
338 * coff-h8500.c (extra_case): Likewise.
339 * coff-mips.c (mips_relocate_section): Likewise.
340 * coff-z8k.c (extra_case): Likewise.
341 * elf32-hppa.c (hppa_elf_stub_finish): Likewise.
342 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
343
1cedfe03
ILT
344 * bout.c (calljx_callback, callj_callback): Use get_value to get
345 the symbol value and check for undefined symbols.
346 (get_value): If the symbol is undefined, look it up in the linker
347 hash table.
348 (b_out_get_relocated_section_contents): For PCREL24 and PCREL13
349 use get_value to get the symbol value and check for undefined
350 symbols.
351 * reloc16.c (bfd_coff_reloc16_get_value): If the symbol is
352 undefined, look it up in the linker hash table.
353
ca1c6bec
ILT
354 * aoutx.h (translate_symbol_table): The string index 0 has a
355 special meaning for normal symbols, but not for dynamic symbols.
356
3f2255e7
SG
357Sat Jan 22 12:26:01 1994 Stu Grossman (grossman at cygnus.com)
358
359 * sparclynx.c: Setup appropriate macros to enable core file
360 support.
361
0f8f509c
DM
362Fri Jan 21 16:25:35 1994 David J. Mackenzie (djm@thepub.cygnus.com)
363
3b31740c
DM
364 * targets.c: Add a vector of matching format names.
365 * format.c (bfd_matching_formats): New function to return it.
366 (bfd_check_format): Set it.
367 * bfd-in2.h: Regenerated.
368
0f8f509c
DM
369 * bfd-in.h: Remove decls of bfd_ec type and error printing functions.
370 Remove decl of type symclass; wasn't used.
371 * bfd.c: Document error handling, including code fragments
372 containing the error decls that were in bfd-in.h.
373 Remove DEFUNs.
374 * bfd-in2.h: Regenerated.
375
27814aa6 376Fri Jan 21 14:11:16 1994 Sean Fagan (sef@cygnus.com)
4733517b
JK
377
378 * nlmcode.h, liblnm.h, nlm32-alpha.c nlm32-i386.c nlm32-sparc.c:
379 The sparc (and possibly other?) NLM format requires a different
380 way to write exports, so add a write_export field to the backend
381 data (and set it to NULL for everything but the sparc).
e7cc9a2e 382
3f40d101
DM
383Fri Jan 21 14:11:16 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
384
e7cc9a2e
JK
385 * sunos.c (MY(read_dynamic_relocs)): Compare info->dynrel with NULL,
386 not (struct external_nlist *) NULL. info->dynrel is a PTR, not
387 a struct external_nlist *.
388
6de49562
DM
389Fri Jan 21 09:29:01 1994 David J. Mackenzie (djm@thepub.cygnus.com)
390
74788cf0 391 * bfd.c: Remove error strings for errors removed below.
6de49562
DM
392 * aoutx.h (translate_to_native_sym_flags), bfd-in.h (bfd_ec),
393 oasys.c (oasys_write_sections): Rename
394 bfd_error_nonrepresentable_section to nonrepresentable_section.
395 None of the other bfd error names start with "bfd_error".
396 Remove errors symbol_not_found and no_relocation_info, which seem
397 to be unused.
398 * bfd-in2.h: Regenerated.
399
0ee75d02
ILT
400Fri Jan 21 01:11:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
401
fcc41f68
ILT
402 * bfd.c (bfd_get_gp_size): Added support for ELF.
403
0ee75d02
ILT
404 * syms.c (BSF_DYNAMIC): New symbol flag.
405 (bfd_print_symbol_vandf): Print it.
406 * bfd-in2.h: Rebuilt.
407 * libaout.h (struct aout_backend_data): New read_dynamic_symbols
408 and read_dynamic_relocs fields.
409 (struct aoutdata): New dynamic_info field.
410 (obj_aout_dynamic_info): New accessor macro.
411 * sunos.c (struct sunos_dynamic_info): New structure.
412 (sunos_read_dynamic_info, MY(read_dynamic_symbols),
413 MY(read_dynamic_relocs)): New functions to read dynamic symbols
414 and relocs.
415 * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
416 dynamically linked, set SEC_RELOC for both the .text and .data
417 sections.
418 (translate_from_native_sym_flags): Don't set BSF_LOCAL for an
419 undefined symbol.
420 (translate_symbol_table): New function, split out of
421 slurp_symbol_table; set the BSF_DYNAMIC flag appropriately.
422 (NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any.
423 (NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any.
424 (NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in
425 return value.
426 * aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write
427 out dynamic symbols or relocs against reloc symbols, since they
428 are already in the .text section and we wouldn't know where to
429 write them anyhow.
430 (sunos4_aout_backend): Initialize read_dynamic_symbols and
431 read_dynamic_relocs fields.
432 * aout-target.h (MY(backend_data)): Initialize
433 read_dynamic_symbols and read_dynamic_relocs fields.
434
dc3da58f
KR
435Thu Jan 20 20:57:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
436
437 * hosts/alphaosf.h (uint64e_type, uint64_type, int64_type): Delete
438 typedefs, since HOST_64_BIT will take care of defining them in
439 bfd.h.
440
7e7fb4a8
KR
441Wed Jan 19 17:28:59 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
442
443 * config/alphaosf.mh (HDEFINES): Don't define HOST_64_BIT here;
444 that's dealt with elsewhere.
445 * hosts/alphaosf.h (sprintf_vma, fprintf_vma): New macros.
446 (uint64_typeHIGH, uint64_typeLOW): Comment with HOST_64_BIT so
447 they get copied to bfd.h.
448
449 * reloc.c (enum bfd_reloc_code_real): Add some Alpha relocation
450 types. Reorganized some of the existing ones.
451 * coff-alpha.c (alpha_howto_table): Construct 64-bit negative one
452 values in case of compilation on a 32-bit machine. Fix pcrel
453 fields of some reloc types.
454 (alpha_bfd_reloc_type_lookup): Handle more relocation types.
455
456 * bfd-in.h (uint64_typeHIGH, uint64_typeLOW): Supply default
457 definitions when not defined, regardless of whether uint64_type is
458 a defined macro or not.
459 (fprintf_vma, sprintf_vma): Define only if fprintf_vma is not
460 already defined.
461
d7e34f67
ILT
462Wed Jan 19 00:02:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
463
464 * aoutx.h (translate_to_native_sym_flags): Set the type of a
465 BSF_WARNING symbol to N_WARNING.
466
53155af1
ILT
467Tue Jan 18 16:43:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
468
469 * aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p
470 for an indirect or warning symbol.
471 (aout_link_write_symbols): Update sym_hash with the target of an
3a5b50f4
ILT
472 indirect or warning symbol. If an indirect symbol is defined,
473 output the calculated value and don't output the target symbol.
53155af1 474
0c205af2
DM
475Tue Jan 18 03:54:59 1994 David J. Mackenzie (djm@thepub.cygnus.com)
476
477 * aoutx.h (translate_from_native_sym_flags): Give warning symbols
478 an (unused) nonzero section value, needed for check below.
479
964affdc
DM
480Mon Jan 17 15:12:07 1994 David J. Mackenzie (djm@thepub.cygnus.com)
481
482 * aoutx.h (translate_from_native_sym_flags,
483 aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
484 N_SET[ABDT].
485
38a5f510
ILT
486Fri Jan 14 16:45:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
487
488 * elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set
489 the DYNAMIC flag for the BFD.
490 (NAME(bfd_elf,write_object_contents)): Don't try to write out a
491 BFD with the DYNAMIC flag set, since we don't generate the program
492 header table correctly.
493
494Fri Jan 14 01:04:36 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
495
496 * elfcode.h (elf_slurp_symbol_table): Free x_symp at the end
497 of the function to avoid storage leak.
498
75919b3b
ILT
499Thu Jan 13 23:07:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
500
501 * ecoff.c (ecoff_link_write_external): An ifd can be -1.
502
39961154
JL
503Thu Jan 13 12:33:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
504
9558d13f
JL
505 * som.c (som_set_reloc_info): Provide a default symbol for
506 relocations which don't actually have an associated symbol.
507
39961154
JL
508 * som.c (hppa_som_reloc): Add new "error message" argument.
509
32476597
PS
510Wed Jan 12 13:36:43 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
511
512 Enable gdb to write to core files on more core file readers.
513 * libbfd.c (bfd_generic_set_section_contents): Remove range check
514 for section size, it is already done in bfd_set_section_contents
515 with bfd_get_section_size_now.
516 * aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c,
517 osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents):
518 Use bfd_generic_set_section_contents instead of bfd_false.
519
92f345b9
ILT
520Wed Jan 12 15:31:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
521
39961154
JL
522 * linker.c: Added initial documentation.
523
92f345b9
ILT
524 * linker.c (default_indirect_link_order): Don't expect space for
525 output relocations if there aren't any input relocations.
526
fed872d3
ILT
527Tue Jan 11 14:37:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
528
c5481a5e
ILT
529 * aoutx.h (NAME(aout,final_link)): Set a_entry before computing
530 file offsets.
531
fed872d3
ILT
532 * elfcode.h (swap_out_syms): A common symbol is STT_OBJECT, not
533 STT_NOTYPE.
534
b36b8a6e
JK
535Tue Jan 11 09:10:56 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
536
537 * config.bfd: Use ELF, not COFF for m88*-*-dgux*.
538 Combine m88k-*-* and m88110-*-* cases into m88*-*-*.
539
cf286547
ILT
540Tue Jan 11 00:07:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
541
542 * ecofflink.c: Extensive changes to compress and merge debugging
543 information, and to write some of out directly rather than saving
544 it in memory. Several new functions and structures, and new
545 arguments to existing functions.
546 * ecoff.c (ecoff_compute_reloc_file_positions): Compute
547 sym_filepos as well.
548 (ecoff_get_extr): Use ifdmap instead of ifdbase.
549 (ecoff_write_object_contents): Don't compute sym_filepos here.
550 Only output symbols if outsymbols is not NULL.
551 (ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and
552 bfd_ecoff_debug functions. Write out debugging information here.
553 (ecoff_final_link_debug_accumulate): Adjust for changes in
554 bfd_ecoff_debug functions.
555 (ecoff_link_write_external): Use ifdmap rather than ifdbase.
556 * elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols
557 first, to put them in the first memory buffer. Clear fdr field.
558 (mips_elf_get_extr): Use pointer to unswapped external symbol.
559 (mips_elf_final_link): Adjust for changes in bfd_ecoff functions.
560 Preserve .text, .data and .bss even if they are empty. Save
561 pointer to unswapped external symbol rather than copying it.
562 Don't free up the external symbols.
563 * libelf.h (elf_symbol_type): Change mips_extr to PTR.
564 * bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare.
565 (bfd_ecoff_debug_accumulate): Update declaration.
566 (bfd_ecoff_debug_accumulate_other): Rename declaration from
567 bfd_ecoff_debug_link_other and update.
568 (bfd_ecoff_write_accumulated_debug): Declare.
569 * bfd-in2.h: Rebuilt.
570 * Makefile.in: Rebuilt dependencies.
571
2c96ba79
JK
572Mon Jan 10 20:46:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
573
574 * Makefile.in (install): Remove "@" which follows a backslash. In
575 this position it just causes errors, not suppresses echoes.
576
2304e1e8
JL
577Mon Jan 10 09:06:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
578
579 * som.c (hppa_som_gen_reloc_type): Fix handling of LT and RT
580 field selectors.
581
fb4cf140
KR
582Sun Jan 9 04:32:25 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
583
584 * config/i386-netbsd.mt (SELECT_VECS): Include i386bsd_vec.
585
d44b2ddb
DM
586Fri Jan 7 10:27:27 1994 David J. Mackenzie (djm@rtl.cygnus.com)
587
5330499f
DM
588 * aoutx.h (adjust_z_magic): Don't merge the start of bss with the
589 end of data if they are not contiguous.
590
d44b2ddb
DM
591 * aoutf1.h (sunos4_aout_backend): Comment the fields' meanings.
592
a5a835ff
ILT
593Fri Jan 7 15:40:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
594
595 * ecoff.c (ecoff_mkobject_hook): Don't set SEC_SHARED_LIBRARY flag
596 for .reginfo section here.
597 (ecoff_new_section_hook): Set it here instead.
598
442da995
SS
599Fri Jan 7 10:29:27 1994 Stan Shebs (shebs@andros.cygnus.com)
600
601 * bfd-in.h: (bfd_boolean): Add workaround for systems that also
602 define true and false as enums.
603 (ALMOST_STDC): Add as alternative to __STDC__.
604 * bfd-in2.h: Rebuilt.
605 * syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*.
606
6f56c941
DM
607Thu Jan 6 14:24:44 1994 David J. Mackenzie (djm@thepub.cygnus.com)
608
609 * aoutx.h (translate_to_native_sym_flags): Catch the case where
610 there is no output section.
611
2f84ec0d
ILT
612Thu Jan 6 14:37:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
613
90d58284
ILT
614 * nlmcode.h (nlm_object_p): If we can't read the fixed header,
615 count it as a wrong format error, not a system call error, since
616 the object file might simply be too small.
617
618 * targets.c (target_vector): Added nlm32_alpha_vec inside #ifdef
619 BFD64.
620 * Makefile.in (BFD32_BACKENDS): Remove nlm32-alpha.o.
621 (BFD64_BACKENDS): Add nlm32-alpha.o. It depends on 64 bit
622 support, even though it is for an Alpha in 32 bit mode.
623 * configure.in (nlm32_alpha_vec): Set target64 to true.
624
625 * nlm32-gen.c, nlm64-gen.c: Removed. All nlm targets are
626 different, so there is no point to providing a generic one.
627 * libnlm.h: Don't bother to check for nlm_backend(bfd) being NULL
628 in the backend accessor macros; that should no longer be possible.
629 * targets.c (target_vector): Removed nlm32_big_generic_vec,
630 nlm64_big_generic_vec, nlm64_little_generic_vec.
631 * configure.in (nlm32_big_generic_vec, nlm32_little_generic_vec,
632 nlm64_big_generic_vec, nlm64_little_generic_vec): Removed.
633 * Makefile.in: Rebuilt dependencies, and
634 (BFD32_BACKENDS): Removed nlm32-gen.o.
635 (BFD64_BACKENDS): Removed nlm64-gen.o.
636 (CFILES): Removed nlm32-gen.c and nlm64-gen.c.
637
559d5074
ILT
638 * hp300hpux.c (ARCH_SIZE): Define before including aoutx.h.
639
2f84ec0d
ILT
640 * linker.c (_bfd_generic_link_add_one_symbol): Add constructor and
641 bitsize arguments. Changed all callers (aoutx.h).
642 * libbfd-in.h (_bfd_generic_link_add_one_symbol): Add constructor
643 and bitsize arguments to declaration.
644 * libbfd.h: Rebuilt.
645
646 * ecoff.c: First cut at new style of linker backend for
647 ECOFF--added a bunch of functions. Also:
648 (ecoff_sec_to_styp_flags): Set flags for .pdata and .xdata.
649 (ecoff_slurp_symbolic_header): New function.
650 (ecoff_slurp_symbolic_info): Call ecoff_slurp_symbolic_header.
651 (ecoff_compute_reloc_file_positions): New function.
652 (ecoff_set_section_contents): Get out quickly if count is zero.
653 Check errors better.
654 (ecoff_write_object_contents): Put .xdata section in data segment.
655 Call ecoff_compute_reloc_file_positions. Don't output relocs or
656 external symbols if outsymbols is NULL.
657 (ecoff_bfd_final_link): Completely rewritten.
658 * libecoff.h: Include bfdlink.h.
659 (struct ecoff_backend_data): Add relocate_section field.
660 (ecoff_data_type): Add sym_hashes and symndx_to_section fields.
661 (struct ecoff_link_hash_entry): Define.
662 (struct ecoff_link_hash_table): Define.
663 (ecoff_bfd_link_add_symbols): Declare as function, not macro.
664 (ecoff_bfd_link_hash_table_create): Likewise.
665 * ecofflink.c (bfd_ecoff_debug_one_external): New function.
666 (bfd_ecoff_debug_externals): Call bfd_ecoff_debug_one_external.
667 * bfd-in.h (bfd_ecoff_debug_one_external): Declare.
668 * bfd-in2.h: Rebuilt.
669 * coff-alpha.c (alpha_howto_table): Mark BRADDR as
670 partial_inplace, and set the src_mask to 0x1fffff.
671 (alpha_ecoff_get_relocated_section_contents): Remove unused
672 variable gp_warned.
673 (alpha_convert_external_reloc): New static function.
674 (alpha_relocate_section): New static function.
675 (alpha_ecoff_backend_data): Initialize relocate_section field.
676 * coff-mips.c (mips_relocate_refhi): New static function.
677 (mips_relocate_section): New static function.
678 (mips_ecoff_backend_data): Initialize relocate_section field.
679
680 * reloc.c (_bfd_relocate_contents): Corrected signed overflow
681 checking when there is an addend.
682
683 * aoutx.h (NAME(aout,final_link)): Don't abort when trying to link
684 a non a.out file, just pass it to _bfd_default_link_order.
685 (aout_link_input_section_std): When doing a final PC relative link
686 against a section symbol, subtract the VMA of the input section.
687 (aout_link_input_section_ext): Likewise.
688
689 * linker.c (default_indirect_link_order): Renamed from
690 _bfd_generic_indirect_link_order and made static.
691 (_bfd_generic_final_link): Don't switch on link_order type, just
692 call _bfd_default_link_order.
693 (_bfd_default_link_order): Handle bfd_indirect_link_order type.
694 * genlink.h: Removed declaration of
695 _bfd_generic_indirect_link_order.
696 * elf32-mips.c (mips_elf_final_link): Don't switch on link_order
697 type, just call _bfd_default_link_order.
698
699Tue Jan 4 21:23:37 1994 Ian Lance Taylor (ian@cygnus.com)
700
701 * linker.c (generic_link_check_archive_element): Base the name of
702 the created common section on the name of the section the symbol
703 came from.
704 (_bfd_generic_link_add_one_symbol): (case BIG): A common symbol
705 must have a section, so don't bother to create one.
706
83acd9a2
DM
707Mon Jan 3 15:32:16 1994 David J. Mackenzie (djm@thepub.cygnus.com)
708
709 * aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags.
710 * aoutf1.h (NAME(aout,sunos4_write_object_contents)):
711 If the DYNAMIC flag is set, set it in the exec header.
712 * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
713 dynamically linked, set the DYNAMIC flag in the BFD.
714 * libaout.h (N_SET_DYNAMIC): New macro.
715 (N_DYNAMIC): Add missing 0 in mask.
716
031534b0
ILT
717Mon Jan 3 11:41:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
718
2f84ec0d
ILT
719 * ecoff.c (ecoff_get_extr): Don't output section symbols as
720 external symbols.
721
85d73944
ILT
722 * bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t
723 to unsigned int, because size_t may not be defined in bfd.h.
724 * bfd-in2.h: Rebuilt.
725
8120aa8f
ILT
726 * bfd-in.h (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
727 be a const pointer.
728 * bfd-in2.h: Rebuilt.
729 * libbfd.c (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
730 be a const pointer.
731 * targets.c (bfd_target): Change swap function pointers
732 accordingly.
733 * archive.c (do_slurp_coff_armap): Change swap accordingly.
734 * aix386-core.c: Change NO_GET and NO_GETS accordingly.
735 * hppabsd-core.c, hpux-core.c, irix-core.c, osf-core.c,
736 ptrace-core.c, trad-core.c: Change NO_GET and NO_SIGNED_GET
737 accordingly.
738
b59f0276
ILT
739 * libbfd-in.h (struct artdata): Added tdata field.
740 (_bfd_add_bfd_to_archive_cache): Declare.
2af2b7c4 741 (_bfd_get_elt_at_filepos): Declare.
b59f0276
ILT
742 (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
743 * libbfd.h: Rebuilt.
744 * archive.c: Cleaned up some more.
745 (_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
746 pointer elements of artdata.
747 (_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
748 (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
2af2b7c4
ILT
749 (_bfd_get_elt_at_filepos): Renamed from get_elt_at_filepos.
750 (get_extended_arelt_filename, bfd_construct_extended_name_table,
751 bfd_ar_hdr_from_filesystem, compute_and_write_armap): Made static.
b59f0276
ILT
752 * ecoff.c: Some comment changes.
753 (ecoff_slurp_armap): Handle rename of snarf_ar_hdr. Set
754 ardata->tdata to raw_armap.
755 (ecoff_archive_p): Initialize pointer elements of artdata.
756 * coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
757 add_bfd_to_cache.
758
031534b0
ILT
759 * hash.c: Added some documentation.
760
3f99570e
JK
761Mon Jan 3 11:09:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
762
763 * aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC,
764 and do the swapping here rather than calling ntohl from the N_*
765 macros. This cleans up assumptions about the size of a host long,
766 the existence to ntohl, etc.
767
e38bcbdb
RS
768Sat Jan 1 13:50:05 1994 Rob Savoye (rob@darkstar.cygnus.com)
769
770 * config.bfd: Add support for VSTa micro-kernel. It currently uses
771 i386-aout.
772
f4d7c848
DM
773Sat Jan 1 10:18:54 1994 David J. Mackenzie (djm@thepub.cygnus.com)
774
00fe3f53 775 * hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value.
f4d7c848
DM
776 * i386mach3.c (SEGMENT_SIZE): Fix value.
777
728472f1
ILT
778Fri Dec 31 16:23:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
779
780 Minor cleanups suggested by CodeCenter.
781 * aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c,
782 linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as
783 appropriate.
784 * aoutx.h (struct external_exec): Removed unnecessary declaration.
785 (NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL.
786 (adjust_z_magic): Removed useless variable data_vma.
787 (stringtab_init): Initialize hash_zero.
788 (add_to_stringtab): Removed unused fourth argument.
789 (NAME(aout,swap_std_reloc_out)): Removed useless variable
790 r_addend.
791 (aout_link_input_section): Added some casts.
792 * archive.c (get_extended_arelt_filename, do_slurp_coff_armap,
793 bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap):
794 Minor code rewriting to make it more C like.
795 (do_slurp_bsd_armap): Added some casts.
796 * ecoff.c (ecoff_write_object_contents): Removed useless variable
797 scn_base.
798 (ecoff_write_armap): Added some casts. Use "" rather than "\0".
799 * ecofflink.c (bfd_ecoff_write_debug): Added a cast.
800 * libaout.h (struct internal_exec): Removed unnecessary
801 declaration.
802 * linker.c (_bfd_generic_indirect_link_order): Added a cast.
803 * opncls.c (new_bfd): Removed a cast.
804 * reloc.c (bfd_generic_get_relocated_section_contents): Added
805 some casts.
806 * srec.c (internal_srec_write_object_contents): Removed useless
807 variable bytes_written.
808
696df58f
DM
809Fri Dec 31 11:46:13 1993 David J. Mackenzie (djm@thepub.cygnus.com)
810
811 * i386mach3.c (N_TXTADDR): Don't define after all.
812 (TEXT_START_ADDR): Don't include exec header size in value.
813
e450eb45
DM
814Thu Dec 30 15:47:54 1993 David J. Mackenzie (djm@thepub.cygnus.com)
815
816 * i386mach3.c (N_TXTADDR): Define.
817
4c3721d5
ILT
818Thu Dec 30 13:37:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
819
820 Extensive changes to move the bulk of the linker into BFD so that
821 more efficient backend code can be written for specific object
822 files. Only existing efficient backend is a.out.
823 * seclet.c, seclet.h: Removed.
824 * hash.c, linker.c, genlink.h: New files.
825 * bfd-in.h: Removed bfd_error_vector. Declared hash table
826 structures and functions.
827 (JUMP_TABLE): Removed bfd_seclet_link, added
828 bfd_link_hash_table_create, bfd_link_add_symbols and
829 bfd_final_link.
830 * All backends: Changed accordingly.
831 * bfd-in2.h: Rebuilt.
832 * bfd.c (struct _bfd): Added link_next and archive_pass fields.
833 Removed ld_symbols field.
834 (bfd_nonrepresentable_section, bfd_undefined_symbol,
835 bfd_reloc_value_truncated, bfd_reloc_is_dangerous,
836 bfd_error_vector): Removed.
837 (bfd_default_error_trap, bfd_error_trap,
838 bfd_error_nonrepresentabltrap): Removed.
839 (bfd_get_relocated_section_contents): Pass link_info. Pass
840 link_order instead of seclet. Pass symbols.
841 (bfd_relax_section): Pass link_info.
842 (bfd_seclet_link): Removed.
843 (bfd_link_hash_table_create, bfd_link_add_symbols,
844 bfd_final_link): New macros.
845 * libbfd-in.h: If __GNUC__ is defined and alloca is not, define
846 alloca as __builtin_alloca. Declare internal linking functions.
847 * libbfd.h: Rebuilt.
848 * libbfd.c (bfd_seek): Comment out fseek assertion. It's worked
849 for months.
850 * reloc.c (reloc_howto_type): Added error_message argument to
851 special_function field. Changed all callers and all definitions.
852 (bfd_get_reloc_size): Make argument a const pointer.
853 (bfd_perform_relocation): Add error_message argument to hold
854 string set if return value if bfd_reloc_dangerous. Changed all
855 callers.
856 (_bfd_final_link_relocate, _bfd_relocate_contents): New functions.
857 * section.c (asection): Renamed seclets_head and seclets_tail to
858 link_order_head and link_order_tail.
859 * targets.c (bfd_target): Replaced seclet argument with link_info
860 and link_order and symbols arguments in
861 bfd_get_relocated_section_contents. Added symbols argument to
862 bfd_relax_section. Removed bfd_seclet_link. Added
863 bfd_link_hash_table_create, bfd_link_add_symbols and
864 bfd_final_link.
865 * libaout.h (struct aoutdata): Added external_syms,
866 external_sym_count, external_strings, sym_hashes fields.
867 (obj_aout_external_syms, obj_aout_external_sym_count,
868 obj_aout_external_strings, obj_aout_sym_hashes): New accessor
869 macros.
870 (WRITE_HEADERS): Only output symbols if outsymbols is not NULL.
871 * aoutx.h: Wrote new back end linker routines.
872 (translate_to_native_sym_flags): Return boolean value. Don't use
873 bfd_error_vector.
874 (NAME(aout,write_syms)): Return boolean value. Check return value
875 of translate_to_native_sym_flags and bfd_write.
876 * aout-target.h (final_link_callback): New function.
877 (MY_bfd_final_link): New function.
878 * aout-adobe.c (aout_adobe_write_object_contents): Check return
879 value of aout_32_write_syms.
880 * hp300hpux.c (MY(write_object_contents)): Likewise.
881 * i386lynx.c (WRITE_HEADERS): Likewise.
882 * libaout.h (WRITE_HEADERS): Likewise.
883 * bout.c: Changed functions to use link_info->callbacks rather
884 than bfd_error_vector, and link_orders rather than seclets.
885 * coff-alpha.c: Likewise.
886 * coff-h8300.c: Likewise.
887 * coff-h8500.c: Likewise.
888 * coff-sh.c: Likewise.
889 * coff-z8k.c: Likewise.
890 * elf32-hppa.c: Likewise.
891 * reloc16.c: Likewise.
892 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look
893 up _gp in the hash table rather than in outsymbols.
894 * coff-a29k.c (a29k_reloc): Pass errors back in new error_message
895 argument rather than printing them.
896 * coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and
897 link_order arguments rather than seclet. Changed all uses and
898 definitions.
899 (bfd_coff_reloc16_estimate): Pass link_info arguments. Changed
900 all uses and definitions.
901 * libcoff.h: Rebuilt.
902 * ecoff.c (ecoff_get_extr): If symbol is defined by linker, but
903 not by ECOFF, make it scAbs.
904 (ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and
905 rewritten.
906 * elf32-mips.c (mips_elf_final_link): Renamed from
907 mips_elf_seclet_link and rewritten.
908 * elf32-hppa.c (elf32_hppa_stub_description): Added link_info
909 field.
910 (new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub,
911 hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section):
912 Added link_info arguments. Changed all callers.
913 * elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is
914 not NULL.
915 * oasys.c (oasys_write_sections): Return boolean value rather than
916 using bfd_error_vector.
917 (oasys_write_object_contents): Check return value of
918 oasys_write_sections.
919 * hosts/std-host.h: Don't declare qsort or strtol.
920 * Makefile.in: Rebuild dependencies.
921 (BFD_LIBS): Removed seclet.o. Added hash.o and linker.o.
922 (CFILES): Removed seclet.c. Added hash.c and linker.c.
923 (HFILES): Removed seclet.h. Added genlink.h.
924
1adbf662
PS
925Thu Dec 30 07:41:36 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
926
927 * section.c (bfd_get_section_contents): Return zero filled buffer
928 if section has no contents.
929
d1b44e83
ILT
930Tue Dec 28 12:43:54 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
931
932 * elf.c (bfd_elf_generic_reloc): If this is not an inplace reloc,
933 then skip bfd_perform_relocation even if the addend is non-zero.
934
a2805287
KR
935Tue Dec 21 09:22:19 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
936
937 * coffcode.h (coff_write_relocs) [SWAP_OUT_RELOC_OFFSET]: Copy
938 addend to r_offset field.
939
940 * Makefile.in (CFILES): Added coff-sparc.c. Rebuild dependencies.
941
942 * coff-sparc.c (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET,
943 CALC_ADDEND): Define.
944
945 * aix386-core.c (aix386_core_file_p): Use cd_regs[0] for computing
946 the offsetof because AIX /bin/cc does not like to take the address
947 of an array. (From Minh Tran-Le.)
948
277b2d2b
JL
949Thu Dec 16 13:06:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
950
a2805287
KR
951 * Thu Dec 16 15:41:06 1993 Peter Hoogenboom (hoogen@cs.utah.edu)
952
953 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Make sure to copy
954 the return pointer into %r2 if no jump-in-call-delay-slot
955 optimization was done.
956
277b2d2b
JL
957 * hosts/hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD.
958
f8af9b40
DM
959Wed Dec 15 08:04:16 1993 David J. Mackenzie (djm@thepub.cygnus.com)
960
961 * hosts/std-host.h: (time): Don't declare; conflicts on Mach3.
962
963 * hosts/i386mach3.h (HOST_PAGE_SIZE): Set to 1 to avoid padding.
964 (HOST_SEGMENT_SIZE): Set to 0 for same reason.
965
966 * i386mach3.c (PAGE_SIZE, SEGMENT_SIZE): Same changes as above.
967 (TEXT_START_ADDR): Correct.
968 (MY_backend_data): Define.
969
970 * aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic):
971 New functions; code moved from aout_<size>_adjust_sizes_and_vmas.
972
c97ae6e4
JL
973Tue Dec 14 21:48:33 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
974
975 * som.c (som_begin_writing): Fix thinkos in auxiliary header
976 support.
977 (bfd_som_attach_aux_hdr): Likewise.
978
a36b6f1d
JL
979Mon Dec 13 23:34:48 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
980
981 * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle 'T' field
982 selectors for PIC code.
983
984 * som.c (hppa_som_gen_reloc_type): Handle 'T' field selectors.
985 (som_write_fixups): Handle R_DLT_REL, R_FSEL, R_RSEL, R_LSEL
986 relocations needed by PIC.
987
9e6f2498
SG
988Tue Dec 7 15:47:51 1993 Stu Grossman (grossman at cygnus.com)
989
990 * nlmcode.h: Fixes to avoid compiler warnings...
991
900e6d96
ILT
992Tue Dec 7 15:10:54 1993 Ian Lance Taylor (ian@cygnus.com)
993
994 * libnlm.h (nlm_backend_data): Removed macro definition.
995 (nlm_alpha_backend_data): Adjusted accordingly.
996
017a52d7
JL
997Sun Dec 5 19:32:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
998
f6c2300b
JL
999 * som.c (som_begin_writing): Flesh out code for handling simple
1000 auxiliary headers.
1001 (bfd_som_attach_aux_hdr): New function.
1002
1003 * som.h (struct somdata): Add fields for attaching version and
1004 copyright headers. Add accessor macros.
1005
744069b8
JL
1006 * som.c (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Add protected
1007 definitions for old versions of HPUX which fail to define them.
1008 (som_hppa_howto_talbe): Add R_DLT_REL, R_AUX_UNWIND, and R_SEC_STMT
1009 now that they're safe. Delete bogus R_STATEMENT relocations.
1010
017a52d7
JL
1011 * som.c (som_hppa_howto_table): Add missing R_END_TRY. Delete
1012 extra R_DATA_OVERRIDE.
1013 (hppa_som_gen_reloc_type): Generate a relocation for the rounding
1014 mode selector if needed.
1015 (som_write_fixups): Handle requests for a change in the default
1016 rounding mode. Rounding modes do not consume input bytes, but
1017 are just markers much like R_ENTRY and R_EXIT.
1018
48eb5281
JL
1019Sat Dec 4 19:40:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1020
1021 Fri Dec 3 09:55:17 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
1022
017a52d7
JL
1023 * elf32-hppa.c: (hppa_elf_reloc): Do not do code reordering when
1024 the branch instruction as originally been nullified.
1025 hppa_elf_reloc): Avoid useless call to bfd_put_32 () in the
1026 case of no code reordering due to an LDO instruction in the
1027 delay slot of the branch. Make sure to relocate the correct
1028 instruction. Do not perform instruction reordering for millicode
1029 calls.
1030 (hppa_elf_build_arg_reloc_stub): Change the relocation type
1031 to R_HPPA_STUB_CALL_17 when special processing might be needed.
1032 (hppa_elf_build_long_branch_stub): Prevent code reordering on
1033 a call from a linker stub to another linker stub and for millicode
1034 calls. Do not trash the return register for calls from one linker
1035 stub to a second linker stub.
1036
4861ac76
JL
1037 * elf32-hppa.c: (elf_hppa_howto_table): PLABEL and DLT
1038 relocations are not pc-relative.
1039
48eb5281
JL
1040 * hppa_stubs.h: (BLE_N_XXX_0_31): New instruction used in
1041 linker stub code.
1042 (COPY_2_31): Likewise.
1043
ecb2d887
ILT
1044Fri Dec 3 18:40:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1045
1046 * config/solaris2.mh (HDEFINES): Remove -Dconst=
1047 * hosts/solaris.h: If not __GNUC__, define const as empty.
1048
800748cd
ILT
1049Thu Dec 2 15:43:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1050
4919d3ab
ILT
1051 * ecoff.c: Added various casts for 32/64 bit cross targeting.
1052 (ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo
1053 section so that the linker ignores it.
1054 * ecofflink.c: Added various casts for 32/64 bit cross targeting.
1055 (ecoff_add_bytes): Changed need argument to size_t.
1056 (bfd_ecoff_debug_link_other): Check return value of
1057 ecoff_add_string.
1058
1059 * libbfd-in.h (new_bfd): Use void rather than an empty parameter
1060 list.
1061 * libbfd.h: Rebuilt.
1062
800748cd
ILT
1063 * libnlm.h (struct nlm_obj_tdata): New field backend_data.
1064 (nlm_backend_data, nlm_alpha_backend_data): New accessor macros.
1065 (struct nlm_backend_data): New field no_uninitialized_data.
1066 (nlm_no_uninitialized_data): New accessor macro.
1067 * nlmcode.h (nlm_compute_section_file_positions): Handle
1068 no_uninitialized_data.
1069 (nlm_external_reloc_compare): Sort relocs by address for a
1070 particular symbol, to make the sort more stable.
1071 (nlm_write_object_contents): Cast the arguments to qsort. Get the
1072 value of a debugging symbol the same way we get the value of a
1073 normal symbol.
1074 * nlm32-alpha.c: Various changes. Write out GP and .lita relocs.
1075 Set no_uninitialized_data to true.
1076 * nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c
1077 (nlm32_sparc_backend): Set no_uninitialized_data field false.
1078 * nlmswap.h (nlm_swap_fixed_header_out): Zero out destination
1079 before filling it in.
1080
a7f6a456
JL
1081Wed Dec 1 21:47:58 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1082
1083 * som.c (som_section_type, som_decode_symcalss): New functions.
1084 (som_get_symbol_info): Use them.
1085 (som_slurp_symbol_table): Set the section of common and undefined
1086 symbols correctly.
1087
848ace96
KR
1088Wed Dec 1 14:15:10 1993 Ken Raeburn (raeburn@cygnus.com)
1089
1090 * elfcode.h (write_relocs): Initialize local var LAST_SYM_IDX, to
1091 make gcc happy.
1092
1093 * mipsbsd.c: Changes from Ralph Campbell:
1094 (mips_howto_table_ext): MIPS_RELOC_LO16 should use
1095 complain_overflow_dont.
1096 (aout_mips_*_vec): Make name use "a.out" instead of "aout", to
1097 make gdb happy.
1098
1099 * bfd.c (bfd_errmsgs): Reword invalid-target message.
1100
1101 * config.bfd: For sparc*-*-coff, use sparc-coff.
1102 * configure.in: Handle sparccoff_vec.
1103 * targets.c (sparccoff_vec): Declare.
1104
1105 * reloc.c (bfd_get_reloc_size): New function.
1106 (struct reloc_howto_type): Update documentation of size field.
1107
2f555d79
ILT
1108Wed Dec 1 14:39:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1109
68eaffda
ILT
1110 * nlm32-alpha.c: New file; preliminary Alpha NetWare support.
1111 * config.bfd (alpha-*-netware*): New target; use alpha-nlm.
1112 * config/alpha-nlm.mt: New file.
1113 * configure.in (nlm32_alpha_vec): New vector; use nlm32-alpha.o,
1114 nlm32.o, and nlm.o.
1115 * Makefile.in (BFD32_BACKENDS): Added nlm32-alpha.o.
1116 (CFILES): Added nlm32-alpha.c.
1117 Rebuilt dependencies.
1118 * targets.c (nlm32_alpha_vec): Declare.
1119
1120 * libnlm.h (struct nlm_backend_data): New fields
1121 optional_prefix_size, nlm_backend_object_p, nlm_write_prefix,
1122 nlm_set_public_section, nlm_get_public_offset. Removed unused
1123 nlm_write_reloc field. Changed nlm_write_import to remove
1124 unnecessary symbol argument. Renamed nlm_write_externals to
1125 nlm_write_external, and changed cound argument from bfd_vma to
1126 bfd_size_type.
1127 (nlm_optional_prefix_size, nlm_backend_object_p_func,
1128 nlm_write_prefix_func, nlm_set_public_section_func,
1129 nlm_get_public_offset_func): New accessor macros.
1130 (nlm_write_reloc_func): Removed.
1131 (nlm_write_external_func): Adjusted for field renaming.
1132 * nlm32-i386.c (nlm_i386_write_import): Renamed from
1133 nlm_i386_write_reloc. Removed old nlm_i386_write_import which
1134 just called old nlm_i386_write_reloc.
1135 (nlm_i386_write_external): Renamed from nlm_i386_write_externals.
1136 Declared. Changed second argument from bfd_vma to bfd_size_type.
1137 (nlm32_i386_backend): Adjusted for changes to fields and names.
1138 * nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused,
1139 ifdeffed out code.
1140 (nlm_sparc_write_import): Removed second argument.
1141 (nlm_sparc_write_external): Renamed from
1142 nlm_sparc_write_externals. Changed second argument from bfd_vma
1143 to bfd_size_type.
1144 (nlm32_sparc_backend): Adjusted for changes to fields and names.
1145 * nlmcode.h: Removed some unused code.
1146 (nlm_object_p): Don't destroy tdata pointer. Call
1147 backend_object_p function if it exists.
1148 (nlm_slurp_symbol_table): Removed unused variable rcount. Call
1149 set_public_section_func if it exists instead of checking
1150 NLM_HIBIT.
1151 (nlm_compute_section_file_positions): Account for
1152 optional_prefix_size.
1153 (nlm_write_object_contents): Account for optional_prefix_size.
1154 Removed useless variable write_reloc_func. Changed declaration
1155 and call of write_import_func. Call write_prefix_func if it
1156 exists. Removed unused variables len and temp. Call
1157 get_public_offset_func if it exists rather than setting NLM_HIBIT.
1158 * nlmswap.h: Declare functions.
1159
2f555d79
ILT
1160 * bfd-in.h (uint64_typeLOW, uint64_typeHIGH): Fully parenthesize
1161 for clarity.
1162 (fprintf_vma, sprintf_vma): Use %lx, not %x.
1163 * bfd-in2.h: Rebuilt.
1164 * hosts/alphaosf.h (uint64_typeLOW, uint64_typeHIGH): Cast results
1165 to unsigned long.
1166
1167 * config.bfd: Don't set target64 here, as the setting is ignored.
1168 * configure.in (ecoffalpha_little_vec): Set target64.
1169
1170 * config/alphaosf.mt (TDEFINES): Removed; setting host parameters
1171 in TDEFINES is wrong.
1172
1173 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
1174 Remove unused variable output_section.
1175
7cd39d69
ILT
1176Tue Nov 30 16:45:23 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1177
1178 * irix-core.c: New file for Irix 4 and Irix 5 core support.
1179 Functions taken out of coff-mips.c. Handle vmap type VMAPFILE.
1180 * coff-mips.c: Irix 4 core file support moved to irix-core.c.
1181 * targets.c: If IRIX_CORE defined, include irix_core_vec in
1182 target_vector.
1183 * config/irix4.mh (HDEFINES): Add -DIRIX_CORE.
1184 (HDEPFILES): Define to be irix-core.o.
1185 * config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE.
1186 (HDEPFILES): Define to be irix-core.o.
1187 * Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o. Removed
1188 sco-core.o, which no longer exists.
1189 (CFILES): Added all *-core.c files.
1190 Rebuilt dependencies.
1191
8d12f138
ILT
1192Wed Nov 24 02:02:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1193
6c35a16d
ILT
1194 * elfcode.h (map_program_segments): Restore check of file_size !=
1195 mem_size, but only if SHT_PROGBITS.
1196
8d12f138
ILT
1197 * ecofflink.c: New file to hold ECOFF debug information linking
1198 routines.
1199 * ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet,
1200 ecoff_add_string, ecoff_get_debug): Removed. Functionality now in
1201 ecofflink.c.
1202 (ecoff_get_extr, ecoff_set_index): New functions.
1203 (ecoff_slurp_symbolic_info): Don't save raw_size.
1204 (ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions.
1205 (ecoff_compute_section_file_positions): Don't set EXEC_P just
1206 because there is a start address.
1207 (ecoff_write_object_contents): Handle external symbols here. Use
1208 ecofflink.c functions to write out debugging information.
1209 * elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr,
1210 mips_elf_set_index): New functions.
1211 (mips_elf_seclet_link): Discard empty sections, the .options
1212 section and .gptab sections. Handle linking .mdebug section.
1213 * libecoff.h (ecoff_data_type): Removed raw_size and ifdbase.
1214 * libelf.h (elf_symbol_type): Added mips_extr to tc_data union.
1215 * bfd-in.h: Added prototypes for routines in ecofflink.c (some are
1216 called by gas, so they are public).
1217 * bfd-in2.h: Rebuilt.
1218 * Makefile.in (BFD_LIBS): Added ecofflink.o.
1219 (CFILES): Added ecofflink.c.
1220 (ecofflink.o): New target. Rebuilt dependencies.
1221
abb324b2
JL
1222Mon Nov 22 22:26:42 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1223
1224 * som.c (hppa_object_p): Also recognize SHARED_MAGIC_CNX as
1225 a valid magic number if it's been defined.
1226
8f45f604
ILT
1227Mon Nov 22 14:17:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1228
1229 * ecoff.c (ecoff_mkobject): Don't create .scommon section; linker
1230 no longer requires it.
1231 (ecoff_bfd_seclet_link, ecoff_sizeof_headers,
1232 ecoff_write_object_contents): Don't treat .scommon section
1233 specially.
1234
c236d8b3
FF
1235Mon Nov 22 10:54:27 1993 Fred Fish (fnf@cygnus.com)
1236
1237 Merged changes from kev@spuds.geg.mot.com (Kevin A. Buettner):
1238 * bfd/config/delta88.mh (HDEFINES): Define this to be -DPTRACE_CORE.
1239 * bfd/config/delta88.mh (HDEPFILES): Defined to be ptrace-core.o.
1240 * bfd/ptrace-core.c: New file for dealing with core files with
1241 start with the ptrace_user structure found on BCS compliant systems.
1242 * bfd/targets.c (ptrace_core_vec): New vector.
1243
36456a67
JL
1244Mon Nov 22 02:33:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1245
1246 * Minimal support for reading SOM fixup streams. Allows
1247 objdump -r to do something reasonable.
1248 * som.c (som_get_reloc_upper_bound): Implement.
1249 (som_canonicalize_reloc): Implement.
1250 (som_set_reloc_info, som_slurp_reloc_table): New functions.
1251
8d12f138
ILT
1252Sun Nov 21 13:46:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1253
1254 * hosts/lynx.h (FPRINTF_ALREADY_DECLARED): Define.
1255 * hosts/sparclynx.h: Include lynx.h instead of duplicating it.
1256
a1bff336
ILT
1257Fri Nov 19 14:34:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1258
533af031
ILT
1259 * coff-a29k.c (a29k_reloc): For R_IREL, don't left shift
1260 signed_value before sign extending it. Don't subtract out
1261 reloc_entry->address. This makes it compatible with what gas is
1262 generating.
1263
a1bff336
ILT
1264 * elfcode.h (elf_fake_sections): Accept .sbss as the name for a
1265 SHT_NOBITS sections.
1266 (map_program_segments): Don't leave the loop after the first
1267 SHT_NOBITS section.
1268 (assign_file_positions_except_relocs): Only force sh_offset and
1269 sh_addr to match modulo maxpagesize for a section which is not
1270 SHT_NOBITS. Changed the method used to force page alignment after
1271 a SHT_NOBITS section to only do it for the last such consecutive
1272 section, and to really force page alignment.
1273
96be1f52
KR
1274Fri Nov 19 04:02:01 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1275
4c01d9b5
KR
1276 * coffcode.h (coff_slurp_symbol_table): Print more verbose message
1277 in the case of an unknown (or unhandled) storage class.
1278
96be1f52
KR
1279 * config/i386-lynx.mt (TDEFINES): FPRINTF_ALREADY_DECLARED should
1280 not be defined here, since it is a host attribute, not a target
1281 one.
1282 * config/m68k-lynx.mt, config/sparc-lynx.mt: Ditto.
1283
1284 * coffcode.h (coff_bfd_reloc_type_lookup): Don't define if already
1285 defined.
1286
1287 * coff-sparc.c: Define some relocations, based on ELF relocations.
1288 (enum reloc_type, bfd_coff_generic_reloc, coff_sparc_howto_table,
1289 struct coff_reloc_map, sparc_reloc_map,
1290 coff_sparc_reloc_type_lookup): Borrowed from elf32-sparc.c and
1291 elf.c, renamed.
1292 (coff_bfd_reloc_type_lookup): Define to be coff_sparc_reloc_....
1293 (rtype2howto): Index into coff_sparc_howto_table using
1294 dst->r_type.
1295
f8944f84
ILT
1296Thu Nov 18 11:45:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1297
1298 * config.bfd (mips*-*-irix5*): New target; use mipsbelf.
1299 * configure.host (mips-sgi-irix5*) New host; use irix5 (no
1300 hosts/irix5.h created; just use std-host.h).
1301 * config/irix5.mh: New file; like irix4.mh, but don't use -G or
1302 -lmalloc.
1303 * Makefile.in: Rebuilt dependencies.
1304
1305 * ecoffswap.h: Changed type of internal pointers for swap out
1306 functions to const *.
1307
1308 * elf32-mips.c (mips_elf_got16_reloc): New function. Handle GOT16
1309 correctly for assembler, but linker support not implemented.
1310 (elf_mips_howto_table): Use mips_elf_got16_reloc for GOT16.
1311 (mips_elf_sym_is_global): New function; at least on Irix 5, all
1312 non section symbols are considered global.
1313 (elf_backend_sym_is_global): Define.
1314 (mips_elf_final_write_processing): New function. Set the MIPS
1315 architecture level correctly.
1316 (elf_backend_final_write_processing): Define.
1317 (mips_elf_section_from_shdr): Handle SHT_MIPS_OPTIONS.
1318 (mips_elf_fake_sections): Set entsize of .mdebug or .reginfo
1319 section to 1. Handle .options section.
1320 (mips_elf_acom_section, mips_elf_acom_symbol,
1321 mips_elf_acom_symbol_ptr): New static variables, used to build a
1322 generic .acommon section to hold SHN_MIPS_ACOMMON symbols.
1323 (mips_elf_symbol_processing): Handle SHN_MIPS_ACOMMON symbols by
1324 putting them all in a global .acommon section.
1325
1326 * elfcode.h (bfd_section_from_shdr): Don't dump core if target
1327 section has no ELF section data.
1328 (elf_make_sections): Set addralign of reloc section to 4.
1329 (elf_fake_sections): Likewise.
1330 (map_program_segments): Don't consider section 0.
1331 (assign_file_positions_except_relocs): Don't consider section 0.
1332 In the main loop, skip the symtab and strtab sections, since their
1333 positions are set elsewhere.
1334 (swap_out_syms): Set addralign of symtab section to 4. Set
1335 addralign of strtab sections to 1.
1336 (assign_file_positions_for_relocs): Don't consider section 0.
1337 (write_object_contents): Don't write out section 0.
1338
1339 * libelf.h (struct elf_backend_data): Added fields
1340 elf_backend_sym_is_global and elf_backend_final_write_processing.
1341 * elf32-target.h (elf32_bed): Added corresponding initializers.
1342 * elf64-target.h (elf64_bed): Likewise.
1343 * elfcode.h (sym_is_global): Take abfd argument. Call
1344 elf_backend_sym_is_global if it is not NULL.
1345 (elf_map_symbols): Pass abfd to sym_is_global.
1346 (write_object_contents): Call elf_backend_final_write_processing
1347 if it is defined.
1348
c9668c58
ILT
1349Wed Nov 17 18:43:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1350
1351 * libecoff.h: Include coff/ecoff.h.
1352 (struct ecoff_backend_data): Move external debugging information
1353 fields into a single field pointing to an ecoff_debug_swap
1354 structure.
1355 (ecoff_data_type): Move debugging information fields into a single
1356 field pointing to an ecoff_debug_info structure.
1357 * coff-alpha.c, coff-mips.c, ecoff.c: Corresponding changes.
1358
2f555d79
ILT
1359Wed Nov 17 17:38:58 1993 Sean Eric Fagan (sef@cygnus.com)
1360
1361 * nlmswap.h: New file to swap fixed header. Included by NLM
1362 backends.
1363 * libnlm.h (struct reloc_and_sec): Define.
1364 (struct nlm_backend_data): Add fields fixed_header_size,
1365 nlm_read_import, nlm_write_import, nlm_swap_fhdr_in,
1366 nlm_swap_fhdr_out.
1367 (nlm_fixed_header_size, nlm_read_import_func,
1368 nlm_write_import_func, nlm_swap_fixed_header_in_func,
1369 nlm_swap_fixed_header_out_func, nlm_write_external_func): New
1370 accessor macros.
1371 * nlmcode.h: Use new functions.
1372 * nlm32-i386.c: Provide new functions.
1373 * nlm32-sparc.c: New file; SPARC NLM backend.
1374
55ff7aef
SS
1375Wed Nov 17 13:56:10 1993 Stan Shebs (shebs@rtl.cygnus.com)
1376
1377 * i386lynx.c (swap_std_reloc_in, swap_ext_reloc_in): Ignore
1378 garbage bits appearing in the upper end of symbolnums.
1379
1380 * config/sparc-lynx.mt (TDEFINES): Add -DFPRINTF_ALREADY_DECLARED.
1381
343c1a96
SG
1382Tue Nov 16 17:03:41 1993 Stu Grossman (grossman at cygnus.com)
1383
1384 * lynx-core.c (lynx_core_file_p): Change bfd_zalloc to bfd_alloc.
1385 * m68klynx.c: Define core file macros.
1386 * hosts/i386lynx.h, hosts/m68klynx.h, hosts/lynx.h: Move all
1387 non-architecture specific stuff into lynx.h.
1388
794057a7
JK
1389Tue Nov 16 15:45:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
1390
1391 * i386linux.c: Define new macro ZMAGIC_DISK_BLOCK_SIZE to 1024, and
1392 change PAGE_SIZE to 4096.
1393
1394Mon Nov 15 11:48:08 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
1395
1396 * Makefile.in (diststuff): New target.
1397
1398 * VERSION: Updated.
1399
09796011
JL
1400Sun Nov 14 23:33:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1401
3be54498
JL
1402 * som.c (som_object_setup): Do not create dummy ".text", ".data",
1403 and ".bss" sections.
1404 (setup_sections): Do not set SEC_HAS_CONTENTS if a section's size
1405 is zero. Recognize BSS type sections and turn off SEC_LOAD and
1406 SEC_DATA (so binutils/size works). Set the correct value for
1407 a section's _raw_size.
1408 (som_slurp_symbol_table): Program entry points, and millicode are
1409 also functions. Mark them as such. Also mark L$* symbols as
1410 debugging symbols.
1411
09796011
JL
1412 * bfd-in2.h: Rebuilt.
1413
aff97790
JL
1414Sat Nov 13 15:27:15 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1415
91c0bcbb
JL
1416 * som.c (som_bfd_reloc_type_lookup): Add missing prototype. Returns
1417 a pointer to constant data. Delete bogus #define which made the
1418 function useless.
1419
aff97790 1420 * som.c (som_prep_for_fixups): New function.
9d0dea6f 1421 (som_write_fixups): New function.
0b35f7ec 1422 (som_write_space_strings): New function.
6eb64408
JL
1423 (som_write_symbol_strings): New function.
1424 (som_begin_writing): New function.
aff97790 1425
40249bfb
JL
1426Fri Nov 12 15:29:36 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1427
980bac64
JL
1428 * som.c (som_write_object_contents): Do not abort. Flesh out.
1429 (som_set_section_contents): Do not abort. Flesh out.
1430
efc0df7c
JL
1431 * som.c (som_write_headers): New function.
1432 (som_prep_headers): New function.
713de7ec 1433 (som_build_and_write_symbol_table): New function.
7057b78f 1434
2212ff92
JL
1435 * som.c (som_sizeof_headers): Add missing prototype.
1436 (som_set_arch_mach): Do not abort.
1437
5532fc5a
JL
1438 * som.c (som_count_spaces): New function.
1439 (som_count_subspaces): New function.
1440 (compare_syms): New function.
1441 (som_compute_checksum): New function.
1442
32619c58
JL
1443 * som.c (hppa_som_gen_reloc_type): New function.
1444 (som_bfd_reloc_type_lookup): New function.
1445
54bbfd37
JL
1446 * som.c (try_prev_fixup): New function.
1447 (som_reloc_skip): New function.
1448 (som_reloc_addend): New function.
efc0df7c 1449 (som_reloc_call): New function.
54bbfd37 1450
d125665c
JL
1451 * som.c (som_initialize_reloc_queue): New function.
1452 (som_reloc_queue_insert): Likewise.
1453 (som_reloc_queue_fix): Likewise.
1454 (som_reloc_queue_find): Likewise.
1455
fcb0c846
JL
1456 * som.c (som_hppa_howto_table): SOM howto relocation table.
1457 (hppa_som_reloc): New function.
1458
4fdb66cd
JL
1459 * som.c (struct reloc_queue): New structure to keep track of
1460 the last four multibyte relocations emitted.
1461 (enum pa_symbol_type): Type to fully describe the symbol types
1462 associated with .import/.export assembler directives.
1463
70f1d738
JL
1464 * som.c: Include libhppa.h
1465
40249bfb
JL
1466 * som.c (bfd_som_set_section_attributes): New function.
1467 (bfd_som_set_subsection_attributes): Likewise.
1468 (bfd_som_set_symboL_type): Likewise.
1469 (bfd_som_attach_unwind_info): Likewise.
1470 * som.h: Declare new exported functions.
1471
1472 * som.h (struct som_symbol): Add new fields to hold additional
1473 information needed to build/write symbol tables and fixup streams.
1474 (struct som_section_data_struct): Add new fields to hold additional
1475 information needed to build/write space and subspace headers.
1476 (som_symbol_data): New accessor macro for SOM symbol information.
1477 (R_HPPA_*): Basic relocation types to be used by the assembler.
1478
115f7430
JK
1479Fri Nov 12 11:00:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
1480
1481 * trad-core.c (trad_unix_core_file_p): If new hook
1482 TRAD_CORE_ALLOW_ANY_EXTRA_SIZE defined, then skip the check for the
1483 corefile being too big.
1484 * hosts/i386sco.h: Define it.
1485
3e80841e
JL
1486Thu Nov 11 15:16:28 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1487
8a71bf96
JL
1488 * bfd.c (struct _bfd): Add hppabsd_core_data.
1489 * targets.c (target_vector): Add hppabsd_core_vec.
1490 * hpux-core.c (hpux_core_core_file_p): Fail if an unknown core
1491 section is encountered during core section scanning.
1492 * hppabsd-core.c: New file.
1493 * config/hppabsd.mh: Enable HPPA BSD core files.
1494
3e80841e
JL
1495 * elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud. Remove code
1496 which is either commented out or ifdef'd out. Add, update and
1497 clean comments. Fix various indention and spacing problems. Handle
1498 problems related to using "ble" to jump to a stub rather than "bl"
1499 (%r31 is trashed by "ble", but not by "bl").
1500 (NEW_INSTRUCTION): Put inside curly braces.
1501 (CURRENT_STUB_OFFSET): Fix indention problems.
1502 (hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems.
1503 Add, update and clean comments. Handle "ble" %r31 lossage problems.
1504 (hppa_elf_build_long_branch_stub): Likewise.
1505 (hppa_look_for_stubs_in_section): Likewise.
1506 (hppa_elf_stub_check): Remove obsolete function.
1507
1508 * hppa_stubs.h: Add new instructions to deal with %r31 lossage
1509 problems. Delete unused instructions.
1510
0f5bc783
SS
1511Tue Nov 9 11:40:27 1993 Stan Shebs (shebs@rtl.cygnus.com)
1512
1513 * m68klynx.c (TARGET_IS_BIG_ENDIAN_P): Define.
1514
95469b02
ILT
1515Tue Nov 9 11:26:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1516
346f0414
ILT
1517 * elfcode.h (elf_object_p): Rather than looking through an array
1518 of architectures, get the ELF EM_xxx code from the backend
1519 information. Let the generic ELF target match any EM_xxx code not
1520 matched by another ELF target. Call elf_backend_object_p to let
1521 the backend do more checks and set global information.
1522 * libelf.h (struct elf_backend_data): Added elf_machine_code and
1523 elf_backend_object_p fields.
1524 (struct bfd_elf_arch_map): Removed.
1525 (bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare.
1526 * elf32-target.h, elf64-target.h: Initialize elf_machine_code
1527 field with ELF_MACHINE_CODE. Initialize elf_backend_object_p
1528 field with elf_backend_object_p (if it is defined).
1529 * elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c,
1530 elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c,
1531 elf64-gen.c (ELF_MACHINE_CODE): Defined.
1532 * elf32-mips.c: Include ecoffswap.h to get ECOFF swapping
1533 routines.
1534 (mips_elf_object_p): Set the right machine number.
1535 (mips_elf_ecoff_debug_swap): Defined.
1536 (elf_backend_object_p): Defined to be mips_elf_object_p.
1537 (elf_backend_ecoff_debug_swap): Defined to be
1538 mips_elf_ecoff_debug_swap.
1539 * elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed.
1540
1541 * libbfd-in.h (target_vector, default_vector): Declare.
1542 * libbfd.h: Rebuilt.
1543 * format.c (target_vector, default_vector): Don't declare.
1544
1545 * elf32-mips.c (elf_mips_howto_table): Don't complain on overflow
1546 for R_MIPS_26. Correct overflow detection requires matching the
1547 upper four bits of the destination against the PC. From Ted Lemon
1548 <mellon@pepper.ncd.com>.
1549
1550 * bout.c (b_out_reloc_type_lookup): Return type should point to
1551 const data.
1552 * coff-i960.c (coff_i960_reloc_type_lookup): Likewise.
1553 * elf32-hppa.c (elf_hppa_reloc_type_lookup): Likewise.
1554 * mipsbsd.c (MY(reloc_howto_type_lookup)): Likewise.
1555 * coff-i386.c (coff_i386_reloc): Made howto const.
1556 * oasys.c (oasys_write_data): Made how const.
1557
95469b02
ILT
1558 * libelf.h: Added some comments.
1559 (struct elf_backend_data): Added elf_backend_ecoff_debug_swap
1560 field. Removed unused write_relocs field.
1561 * elf32-target.h: Adjusted elf_backend_data initialization
1562 accordingly.
1563 * elf64-target.h: Corrected elf_backend_data initialization to
1564 fill in all fields and to set elf_64_p to 1.
1565
e2756048
ILT
1566Mon Nov 8 18:13:14 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1567
7b8106b4
ILT
1568 * elfcode.h (bfd_section_from_shdr): Remove duplicate assignment
1569 to filepos in SHT_STRTAB case.
1570 (assign_file_position_for_section): Set BFD section filepos as
1571 well as ELF section sh_offset.
1572
e2756048
ILT
1573 * reloc.c: Use const instead of CONST.
1574 (bfd_perform_relocation): Make variable howto a const pointer.
1575 * bfd-in2.h, libbfd.h: Rebuilt.
1576
1577Mon Nov 8 12:19:15 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
1578
1579 * Makefile.in (realclean): Don't remove generated headers. Reverts
1580 change of 2 Jul 1993.
1581
007455de
DHW
1582Mon Nov 8 06:08:31 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com)
1583
1584 * configure.bfd: make unixware equivalent to sysv4.
1585
1586 * config/i386-nlm.mt: bring in elf config; make it the default.
1587
1d3e8847
JL
1588Sun Nov 7 20:21:38 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1589
1590 * libbfd.c (bfd_put_8): Add parens around reference to "val"
1591 argument.
1592
2ccb88c0
DM
1593Fri Nov 5 21:45:09 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1594
1595 * hosts/i386mach3.h (HOST_SEGMENT_SIZE),
1596 i386mach3.c (SEGMENT_SIZE, TEXT_START_ADDR): Correct values (?).
1597
0f396d2a
ILT
1598Fri Nov 5 15:17:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1599
1600 * coffcode.h (coff_write_object_contents): Zero out internal_a.
1601
c188b0be
DM
1602Fri Nov 5 10:41:07 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1603
1604 * aoutx.h, archive.c, archures.c, bfd.c, cache.c, coffcode.h,
1605 core.c, ctor.c, format.c, init.c, libbfd.c, opncls.c, reloc.c,
1606 section.c, syms.c, targets.c:
1607 Doc cleanup (spelling, punctuation, grammar, formatting).
1608 * bfd-in2.h, libbfd.h: Rebuild.
c188b0be 1609
baf205c4
JG
1610Thu Nov 4 14:46:14 1993 John Gilmore (gnu@rtl.cygnus.com)
1611
1612 * bfd-in.h (bfd_get_cacheable, bfd_set_cacheable): New accessors.
1613 * bfd.c, opncls.c: Improve comments on file descriptor cacheing.
1614
fa8e8648
JL
1615Thu Nov 4 08:54:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1616
1617 * From Pete Hoogenboom (hoogen@cs.utah.edu)
1618 * elf32-hppa.c (hppa_elf_get_section_contents): Fix logic error
1619 in last change. Always rebuild symbol extension section the first
1620 time though if output sections exist (fixes ld -r problems).
1621
d5d53b0a
JW
1622Thu Nov 04 08:08:46 1993 Jeffrey Wheat (cassidy@cygnus.com)
1623
1624 * Makefile.in: Add .PHONY for check and installcheck rules.
1625
1626Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
1627
1628 * libbfd-in.h (artdata): Use long, not time_t for portability, at
1629 least to HPUX. File below is a derived file.
1630
31eb3ead
BC
1631Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
1632
1633 * libbfd.h (artdata): Use long, not time_t for portability, at
1634 least to HPUX.
1635
242f60e2
JK
1636Tue Nov 2 09:32:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
1637
1638 * config.bfd: Use bigmips for mips*-*-bsd*.
1639
55d5b62d
ILT
1640Mon Nov 1 14:30:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1641
f2e945df
ILT
1642 * elfcode.h (elf_slurp_reloca_table, elf_slurp_reloc_table):
1643 Handle symbol number of zero.
1644
7386c3b7
ILT
1645 * reloc.c (enum bfd_reloc_code_real): Added
1646 BFD_RELOC_MIPS_LITERAL, BFD_RELOC_MIPS_GOT16,
1647 BFD_RELOC_MIPS_CALL16, BFD_RELOC_MIPS_GPREL32.
1648 * bfd-in2.h: Rebuilt.
1649 * coff-mips.c (mips_bfd_reloc_type_lookup): Handle
1650 BFD_RELOC_MIPS_LITERAL.
1651 * elf32-mips.c (mips_reloc_map): Handle new relocs.
1652 (mips_elf_hi16_reloc, mips_elf_lo16_reloc): Rearrange _gp_disp
1653 checks slightly.
1654
55d5b62d
ILT
1655 * aout-target.h (MY_bfd_debug_info_start, MY_bfd_debug_info_end,
1656 MY_bfd_debug_info_accumulat [sic]): Remove unused definitions.
1657 (MY_bfd_get_relocated_section_contents, MY_bfd_relax_section,
1658 MY_bfd_seclet_link): Define.
1659 (MY_bfd_reloc_type_lookup): Rename from
1660 MY_reloc_howto_type_lookup.
1661 (MY_bfd_make_debug_symbol): Rename from MY_make_debug_symbol.
1662 (MY(vec)): Use JUMP_TABLE rather than listing functions.
1663 * hp300hpux.c (MY_get_symtab, MY_get_symtab_upper_bound,
1664 MY_canonicalize_reloc, MY_write_object_contents): Don't define in
1665 terms of MY, because that causes a recusive invocation of CAT when
1666 expanded within JUMP_TABLE, and ANSI compilers don't expand
1667 recursive macros.
1668 * mipsbsd.c (MY_bfd_reloc_type_lookup): Rename from
1669 MY_reloc_howto_type_lookup, and don't define in terms of MY.
1670 (MY_canonicalize_reloc): Don't define in terms of MY.
1671 (aout_mips_little_vec, aout_mips_big_vec): Use JUMP_TABLE rather
1672 than listing functions.
1673
6198b7a1
JK
1674Mon Nov 1 09:12:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
1675
1676 * config.bfd: Use m68k-elf for m68*-*-sysv4*.
1677
ceeca31c 1678See file ChangeLog.1
e6d739eb 1679
41126f15
JK
1680\f
1681Local Variables:
1682mode: indented-text
1683left-margin: 8
1684fill-column: 74
1685version-control: never
1686End:
This page took 0.152204 seconds and 4 git commands to generate.