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