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