* read.c (s_space): Support non-constant fill value. Handle fill
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
603fdf16
SG
1Tue Apr 16 16:36:38 1996 Stu Grossman (grossman@lisa.cygnus.com)
2
3 * elfcore.h: Add support for core files with multiple threads.
4 (Primarily for Solaris.)
5
a2d914e1
ILT
6Tue Apr 16 13:44:08 1996 Ian Lance Taylor <ian@cygnus.com>
7
cdf23557
ILT
8 * aoutx.h (NAME(aout,squirt_out_relocs)): Don't do anything if
9 section->orelocation is NULL.
10
a2d914e1
ILT
11 * coffgen.c (bfd_coff_get_syment): New function.
12 (bfd_coff_get_auxent): New function.
13 * bfd-in.h (bfd_coff_get_syment): Declare.
14 (bfd_coff_get_auxent): Declare.
15 * bfd-in2.h: Rebuild.
16
5cf36a32
ILT
17Mon Apr 15 19:06:59 1996 Ian Lance Taylor <ian@cygnus.com>
18
19 * elf32-mips.c (struct mips_hi16): Define.
20 (mips_hi16_addr, mips_hi16_addend): Remove.
21 (mips_hi16_list): New static variable.
22 (mips_elf_hi16_reloc): Maintain a list of unmatched HI16 relocs.
23 (mips_elf_lo16_reloc): Process mips_hi16_list.
24 (mips_elf_relocate_section): Permit an arbitrary number of HI16
25 relocs before the associated LO16 reloc.
26
b7fce5be
ILT
27Wed Apr 10 00:23:53 1996 Ian Lance Taylor <ian@cygnus.com>
28
176512da
ILT
29 * versados.c (versados_scan): Check bfd_alloc return value.
30 (versados_object_p): Check all bfd_read return values. Require
31 that lang field be less than 10, to avoid confusion with Intel Hex
32 files.
33
18de3f19
ILT
34 * libaout.h (WRITE_HEADERS): Write out the relocs even if there
35 aren't any symbols.
36 * aoutx.h (NAME(aout,swap_std_reloc_out)): Set r_index to N_ABS,
37 not 0, for an absolute symbol.
38 (NAME(aout,swap_ext_reloc_out)): Likewise.
39
66ab4152
ILT
40 * ihex.c (ihex_scan): Accept a length of 4 for record type 5.
41 (ihex_write_object_contents): For a large start address, output
42 the full 32 bit address in record type 5.
43
b7fce5be
ILT
44 * ieee.c (ieee_write_byte): Change second parameter from bfd_byte
45 to int to avoid promotion problems in prototype.
46
f1b45745
ILT
47Tue Apr 9 11:44:21 1996 Ian Lance Taylor <ian@cygnus.com>
48
f400f358
ILT
49 * configure.host: Use ${srcdir} when looking for picfrag.
50
3d9a5986
ILT
51 * configure.host: Switch on ${libdir}, not $(libdir). From
52 alan@spri.levels.unisa.edu.au (Alan Modra).
53
f1b45745
ILT
54 * aoutx.h (aout_link_add_symbols): Always call add_dynamic_symbols
55 entry point, not just for DYNAMIC objects.
56 * sunos.c (sunos_add_dynamic_symbols): Always call
57 sunos_create_dynamic_sections. If called with a non DYNAMIC
58 object, don't do anything else.
59 (sunos_add_one_symbol): Don't call sunos_create_dynamic_sections.
60
6f21f2e3
ILT
61Mon Apr 8 12:09:36 1996 Ian Lance Taylor <ian@cygnus.com>
62
639b5a09
ILT
63 * configure.in: Permit --enable-shared to specify a list of
64 directories.
65 * configure: Rebuild.
66
6f21f2e3
ILT
67 * configure.host: Set HLDFLAGS and SHLIB_CFLAGS for *-dec-osf*
68 host when configuring with --enable-shard.
69
3f5f565b
ILT
70Fri Apr 5 12:24:13 1996 Ian Lance Taylor <ian@cygnus.com>
71
1ac75f5c
ILT
72 * config.bfd: Add i[345]86-*-freebsdelf* target; from John Polstra
73 <jdp@polstra.com>.
74
1a9951a9
ILT
75 * linker.c (link_action): For WARN_ROW/warn, use MWARN, not CYCLE,
76 to avoid crashing in bfd_hash_replace.
77
f1ac3acb 78 * sysdep.h: Use #ifdef, not #if.
3f5f565b 79
eb5f58e0
ILT
80Thu Apr 4 23:32:23 1996 Ian Lance Taylor <ian@cygnus.com>
81
82 * config.in: Rebuild.
83
ab1aa5cd
FF
84Thu Apr 4 18:49:09 1996 Fred Fish <fnf@cygnus.com>
85
86 * configure.in (mips-sony-bsd*): Fix typo in AC_DEFINE.
87 (AC_CHECK_HEADERS): Check for sys/time.h
88 (AC_HEADER_TIME): Add macro.
89 * configure: Rebuild.
90 * sysdep.h: Use TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H
91 to control what combination of <time> and <sys/time.h>
92 get included.
93
d1f74cd2
DE
94Tue Apr 2 13:11:53 1996 Doug Evans <dje@canuck.cygnus.com>
95
96 * aoutf1.h (sunos_32_set_arch_mach): Handle M_SPARCLET.
97 (aout_32_sunos4_write_object_contents): Likewise.
98 * aoutx.h (NAME(aout,machine_type)): Handle
99 bfd_mach_sparc_{sparclet,sparclite}.
100 * archures.c (bfd_mach_sparc_{sparclet,sparclite}): Define.
101 (bfd_mach_sparc_v9_p): Update.
102 * cpu-sparc.c (arch_info_struct): Add entries for sparclet,sparclite.
103 * libaout.h (enum machine_type): Add M_SPARCLET.
104 * sunos.c (MACHTYPE_OK): Define.
105 * bfd-in2.h: Regenerated.
106
1dad72bd
ILT
107Tue Apr 2 00:33:18 1996 Ian Lance Taylor <ian@cygnus.com>
108
19bfbcbe
ILT
109 * elf-bfd.h (struct elf_link_hash_table): Add hgot field.
110 * elf.c (_bfd_elf_link_hash_table_init): Initialize hgot field.
111 * elflink.c (_bfd_elf_create_got_section): Store the
112 _GLOBAL_OFFSET_TABLE_ hash table entry in the hgot field.
113 * elf32-sparc.c (elf32_sparc_check_relocs): If the size of the
114 global offset table goes over 0x1000, set the value of
115 _GLOBAL_OFFSET_TABLE_ to 0x1000 into the section.
116 (elf32_sparc_relocate_section): Subtract the offset of
117 _GLOBAL_OFFSET_TABLE_ when handling GOT relocations.
118
1dad72bd
ILT
119 * elfcode.h: Don't include <string.h>.
120
ca4e2190
JL
121Mon Apr 1 10:39:24 1996 Jeffrey A Law (law@cygnus.com)
122
123 * linker.c (_bfd_generic_link_hash_newfunc): Renamed from
124 generic_link_hash_newfunc. All references changed.
125 * genlink.h (_bfd_generic_link_hash_newfunc): Declaration
126 moved here from libbfd-in.h.
127 * libbfd-in.h: Corresponding changes.
128 * libbfd.h: Regenerated.
129
ce6a7731
ILT
130Mon Apr 1 12:35:36 1996 Ian Lance Taylor <ian@cygnus.com>
131
aad53b0d
ILT
132 * aoutx.h (aout_link_input_section_std): When reporting an
133 overflow error, use the name of the symbol in the hash table if
134 available.
135 (aout_link_input_section_ext): Likewise.
136
ce6a7731
ILT
137 * elflink.h (elf_adjust_dynamic_symbol): If a common symbol got
138 defined in a regular file, set ELF_LINK_HASH_DEF_REGULAR.
139
323b430f
SC
140Sun Mar 31 01:58:41 1996 steve chamberlain <sac@slash.cygnus.com>
141
142 * peicode.h (coff_swap_aouthdr_out): Delete test for .junk.
143 * coffcode.h (coff_compute_section_file_positions): Likewise.
144 (coff_write_object_contents): Likewise.
145
7fc1cd16
ILT
146Fri Mar 29 12:44:36 1996 Ian Lance Taylor <ian@cygnus.com>
147
5a28331f
ILT
148 * section.c (SEC_LINK_ONCE): Define.
149 (SEC_LINK_DUPLICATES): Define.
150 (SEC_LINK_DUPLICATES_DISCARD): Define.
151 (SEC_LINK_DUPLICATES_ONE_ONLY): Define.
152 (SEC_LINK_DUPLICATES_SAME_SIZE): Define.
153 (SEC_LINK_DUPLICATES_SAME_CONTENTS): Define.
154 * bfd-in2.h: Rebuild.
155 * coffcode.h (sec_to_styp_flags): If COFF_WITH_PE, turn
156 SEC_LINK_ONCE into IMAGE_SCN_LNK_COMDAT.
157 (styp_to_sec_flags): If COFF_WITH_PE, turn IMAGE_SCN_LNK_REMOVE
158 into SEC_EXCLUDE. If IMAGE_SCN_LNK_COMDAT is set, set
159 SEC_LINK_ONCE, and look through the symbol table for the setting
160 for SEC_LINK_DUPLICATES.
161 (coff_write_object_contents): If COFF_WITH_PE, if SEC_LINK_ONCE is
162 set for a section, find the section symbol in the symbol table,
163 and set the aux entry based on SEC_LINK_DUPLICATES.
164 * coffgen.c (coff_print_symbol): Add a space before "checksum".
165 * coff-arm.c (armcoff_big_vec): If COFF_WITH_PE is defined, add
166 SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
167 * coff-i386.c (i386coff_vec): Likewise.
168 * coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
169
7fc1cd16
ILT
170 * VERSION: Bump to 2.6.1.
171 * Makefile.in (stamp-h): Depend upon VERSION.
172
9399a257
JL
173Thu Mar 28 23:48:49 1996 Jeffrey A Law (law@cygnus.com)
174
175 * libbfd-in.h (generic_link_hash_newfunc): Add declaration.
176 * libbfd.h: Rebuilt.
177 * linker.c (generic_link_hash_newfunc): No longer static.
178 * coffcode.h (coff_bfd_link_hash_create): Allow specific targets
179 to override.
180 * coff-h8300.c: Add two derived hash tables and their associated
181 funtions and #defines for use by the h8300 linker.
182 (h8300_reloc16_extra_cases, case R_MEM_INDIRECT): Create entries in
183 the function vector as needed. Place the address of the function
184 vector entry in the location specified by the R_MEM_INDIRECT reloc.
185 Rewrite the vectors section contents as necessary.
186 (h8300_bfd_link_add_symbols): New function for the h8300 linker.
187 (coff_bfd_link_add_symbols): Define to use h8300 specific version.
188 (coff_bfd_link_hash_table_create): Likewise.
189
506f2bb4
ILT
190Thu Mar 28 17:44:08 1996 Ian Lance Taylor <ian@cygnus.com>
191
192 * libhppa.h: If gcc 2.7 or higher, declare all the functions with
193 __attribute__ ((__unused__)) so that -Wall doesn't warn about
194 them.
195 (hppa_rebuild_insn): Pass pointer to correct type to
196 low_sign_unext and dis_assemble_21.
197
05a84ae1
DE
198Thu Mar 28 11:00:36 1996 Doug Evans <dje@canuck.cygnus.com>
199
200 * config.bfd (sparc64-{sysv4*,solaris2*}): Delete.
201 Stick with sparc-*-{sysv4*,solaris2*}.
202
919cf4b5
ILT
203Wed Mar 27 10:43:34 1996 Ian Lance Taylor <ian@cygnus.com>
204
8230f31c
ILT
205 * peicode.h (coff_swap_aux_in): Swap in extra PE x_scn fields.
206 (coff_swap_aux_out): Swap out extra PE x_scn fields.
207 * coffswap.h (coff_swap_aux_in): Zero out extra PE x_scn fields.
208 * coffgen.c (coff_print_symbol): If any of the extra PE x_scn
209 fields is non-zero, print them.
210
9addd1d4
ILT
211 * coff-ppc.c (ppc_record_toc_entry): Put inside COFF_IMAGE_WITH_PE
212 ifdef. Remove unused variables.
213 (ppc_record_data_in_toc_entry): Ifdef out. Removed unused
214 variables.
215 (ppc_mark_symbol_as_glue): Put inside COFF_IMAGE_WITH_PE ifdef.
216 (get_symbol_value): Ifdef out.
217 (pe_ppc_reloc): Ifdef out. Remove unused variables.
218 (coff_ppc_relocate_section): Remove unused variables. Make
219 fprintf strings and argument types correspond. Put before_addr in
220 DEBUG_RELOC ifdef.
ff0e4a93
ILT
221 (dump_toc): Make fprintf strings and argument types correspond.
222 (ppc_process_before_allocation): Remove unused variables. Always
223 return a value.
9addd1d4
ILT
224 (ppc_reflo_reloc): Ifdef out.
225 (ppc_addr32nb_reloc): Ifdef out.
226 (ppc_coff_rtype2howto): Make fprintf strings and argument types
227 correspond.
228 (coff_ppc_rtype_to_howto): Likewise.
229 (ppc_coff_swap_sym_in_hook): Remove unused variables.
230
231 * peicode.h (pe_print_idata): Move otherwise unused variables into
232 the #ifdef where they are used. Always return a value.
ff0e4a93
ILT
233 (pe_print_edata): Make fprintf strings and argument types
234 correspond. Always return a value.
9addd1d4
ILT
235 (pe_print_pdata): Removed unused variable addr_value. Always
236 return a value.
237 (pe_print_reloc): Remove unused variable onaline. Make fprintf
ff0e4a93 238 strings and argument types correspond. Always return a value.
9addd1d4
ILT
239
240 * elf32-ppc.c (ppc_elf_fake_sections): Return true.
241 (ppc_elf_finish_dynamic_symbol): Move definition of unused
242 variable rela inside #if 0 section where it is used.
243
c877bdf1
ILT
244 * ns32k.h: New file.
245 * cpu-ns32k.h: Include ns32k.h. Rename externally visible
246 functions to start with _bfd_.
247 * aout-ns32k.c: Include ns32k.h. Change references to renamed
248 functions in cpu-ns32k.h.
249 * Makefile.in: Rebuild dependencies.
250 (HFILES): Add ns32k.h.
251
ff0e4a93
ILT
252 * section.c (struct sec): Add linker_mark field. Change
253 user_set_vma and reloc_done to be single bit fields.
254 (STD_SECTION): Update accordingly.
7ec49f91
ILT
255 * bfd-in2.h: Rebuild.
256 * aoutx.h (NAME(aout,final_link)): Mark sections included in the
257 link.
258 (aout_link_input_bfd): Don't link unmarked sections.
259 * cofflink.c (_bfd_coff_final_link): Mark sections included in the
260 link.
261 (_bfd_coff_link_input_bfd): Don't link unmarked sections.
262 * coff-ppc.c (ppc_bfd_coff_final_link): Mark sections included in
263 the link.
264 * elflink.h (elf_bfd_final_link): Mark sections included in the
265 link.
266 (elf_link_input_bfd): Don't link unmarked sections.
267 * xcofflink.c (_bfd_xcoff_bfd_final_link): Mark sections included
268 in the link.
269 (xcoff_link_input_bfd): Don't link unmarked sections.
270
919cf4b5
ILT
271 * coffswap.h (coff_swap_scnhdr_out): Include section name in
272 overflow error messages.
273
986cf3b8
ILT
274Tue Mar 26 15:46:18 1996 Ian Lance Taylor <ian@cygnus.com>
275
fd681dcd
ILT
276 * bfd.c (_bfd_default_error_handler): If _bfd_error_program_name
277 is not set, print "BFD: " before the error message.
278
986cf3b8
ILT
279 * configure.in: Use AC_CHECK_TOOL to find ar and ranlib. From
280 Miles Bader <miles@gnu.ai.mit.edu>.
281 * configure: Rebuild.
282
3998d526
ILT
283Fri Mar 22 12:17:00 1996 Ian Lance Taylor <ian@cygnus.com>
284
c3dffbd7
ILT
285 * xcofflink.c (xcoff_link_input_bfd): Fix scan for C_BINCL/C_EINCL
286 symbols.
287
3998d526
ILT
288 * config.bfd: Add ieee_vec to targ_selvecs for i960 targets and
289 m68k-aout, m68k-coff, and m68k-elf targets.
290
e4d27380
ILT
291Fri Mar 22 11:33:44 1996 Martin Anantharaman <martin@goofy.imech.uni-duisburg.de>
292
293 * ieee.c: Changed #ifdef KEEPMINUSPCININST to #if KEEPMINUSPCININST.
294 (ieee_generic_stat_arch_elt): Restructured to prevent
295 ieee_object_p from being called repeatedly.
296
51776a11
SC
297Thu Mar 21 11:00:47 1996 steve chamberlain <sac@slash.cygnus.com>
298
299 * coffcode.h (coff_write_object_contents): Allocate
300 buffers large enough for any FILEHDR or AOUTHDR.
301
302Thu Mar 21 16:28:17 1996 David Mosberger-Tang <davidm@azstarnet.com>
303
304 * ecofflink.c (lookup_line): New static function, renamed and
305 slighly changed from old _bfd_ecoff_locate_line.
306 (_bfd_ecoff_locate_line): Cache line number information. Use
307 lookup_line for actual lookup.
308
9e4ebb1b
MM
309Thu Mar 21 14:59:11 1996 Michael Meissner <meissner@tiktok.cygnus.com>
310
311 * peicode.h (pe_print_pdata): Warn if the .pdata section is not a
312 multiple of 20 bytes.
313
9e7427a4
ILT
314Thu Mar 21 13:54:40 1996 Ian Lance Taylor <ian@cygnus.com>
315
51776a11
SC
316 * ecoff.c (_bfd_ecoff_find_nearest_line): Use bfd_zalloc to
317 allocate ecoff_find_line, and don't initialize by hand.
318 * elf32-mips.c (mips_elf_find_nearest_line): Use bfd_zalloc for
319 mips_elf_find_line, and don't call memset.
320
9e7427a4
ILT
321 * coffcode.h (coff_compute_section_file_positions): If not
322 producing a final executable, don't consider sofar when aligning
323 the section to the correct size.
324
325Wed Mar 20 16:53:12 1996 Ian Lance Taylor <ian@cygnus.com>
326
327 * coffcode.h (coff_add_missing_symbols): Ifdef out.
328 (coff_write_object_contents): Don't call coff_add_missing_symbols.
329 * coffgen.c (coff_section_symbol): Ifdef out.
330
e7f9ba4f
ILT
331Mon Mar 18 12:54:41 1996 Ian Lance Taylor <ian@cygnus.com>
332
333 * elf32-mips.c (mips_elf_gprel32_reloc): Initialize gp if
334 output_bfd is not NULL.
335
34c4d647
DE
336Thu Mar 14 17:12:06 1996 Doug Evans <dje@charmed.cygnus.com>
337
338 * coffgen.c (coff_get_normalized_symtab): Call bfd_zalloc instead
339 of bfd_alloc (fixes fix_line not being initialized).
340 Delete zeroing of fix_{value,tag,end,scnlen} fields.
341
4e054247
JL
342Thu Mar 14 16:06:06 1996 Jeffrey A Law (law@cygnus.com)
343
57289b5c
JL
344 * coffcode.h: Allow specific backends to override the
345 bfd_link_add_symbols routine.
346
4e054247
JL
347 * coff-h8300.c: Include genlink.h.
348 (howto_table): Add R_MEM_INDIRECT.
349 (rtype2howto): Support R_MEM_INDIRECT.
350 (h8300_reloc16_extra_cases): Handle R_MEM_INDIRECT like R_RELBYTE
351 for now.
352
a10d3dec
ILT
353Tue Mar 12 12:41:17 1996 David Mosberger-Tang <davidm@koala.azstarnet.com>
354
355 * coff-alpha.c (alpha_relocate_section): Use
356 info->callbacks_warning, rather than _bfd_error_handler, for
357 "multiple gp" warning.
358
ea2488ad
ILT
359Tue Mar 12 12:10:55 1996 Ian Lance Taylor <ian@cygnus.com>
360
8881b321
ILT
361 * linker.c (bfd_wrapped_link_hash_lookup): New function.
362 (_bfd_generic_link_add_one_symbol): Remove BFD_ASSERT on hash
363 table string. Use bfd_wrapped_link_hash_lookup.
364 (_bfd_generic_link_write_global_symbol): Remove BFD_ASSERT on hash
365 table string.
366 * aoutx.h (aout_link_write_symbols): Use the name from the hash
367 table, if any, when writing out symbols.
368 (aout_link_input_section_std): Use the name from the hash table,
369 if any, when reporting undefined symbols.
370 (aout_link_input_section_ext): Likewise.
371 (aout_link_reloc_link_order): Use bfd_wrapped_link_hash_lookup.
372 * bout.c (get_value): Likewise.
373 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
374 * ecoff.c (ecoff_reloc_link_order): Likewise.
375 * elflink.h (elf_link_add_object_symbols): Likewise.
376 (elf_reloc_link_order): Likewise.
377 * linker.c (_bfd_generic_link_output_symbols): Likewise.
378 (_bfd_generic_reloc_link_order): Likewise.
379 (default_indirect_link_order): Likewise.
380 * reloc16.c (bfd_coff_reloc16_get_value): Likewise.
381 * sunos.c (sunos_add_one_symbol): Likewise.
382 * xcofflink.c (xcoff_link_add_symbols): Likewise.
383 (bfd_xcoff_link_count_reloc): Likewise.
384 (xcoff_reloc_link_order): Likewise.
385
386 * ecoffswap.h (ecoff_swap_fdr_in): If ECOFF_64, turn 0xffffffff
387 into -1 for intern->rss.
388
ea2488ad
ILT
389 * configure: Rebuild with autoconf 2.8.
390
c189fdfb
ILT
391Mon Mar 11 12:28:31 1996 Ian Lance Taylor <ian@cygnus.com>
392
393 * stab-syms.c (__define_stab_duplicate): Define.
394 (bfd_get_stab_name): Rename from aout_stab_name. Rewrite to use a
395 switch.
396 * bfd-in.h (bfd_get_stab_name): Declare.
397 * bfd-in2.h: Rebuild.
398 * Makefile.in: Rebuild dependencies.
399 (BFD_LIBS): Add stab-syms.o.
400 (BFD_LIBS_CFILES): Add stab-syms.c.
401 (BFD32_BACKENDS): Remove stab-syms.o.
402 (BFD32_BACKENDS_CFILES): Remove stab-syms.c.
403 * configure.in: Don't list stab-syms.o in bfd_backends.
404 * configure: Rebuild.
405 * libaout.h (aout_stab_name): Don't declare.
406 * aoutx.h (NAME(aout,get_symbol_info)): Call bfd_get_stab_name,
407 not aout_stab_name.
408
409Fri Mar 8 11:26:20 1996 Ian Lance Taylor <ian@cygnus.com>
410
411 * elf.c (assign_file_positions_for_segments): Adjust file offset
412 for section alignment even if SEC_LOAD is not set.
413
c5bde1ef
ILT
414Tue Mar 5 12:02:23 1996 Ian Lance Taylor <ian@cygnus.com>
415
8f218e05
ILT
416 * configure.in: Don't set SHLIB or SHLINK to an empty string,
417 since they appear as targets in Makefile.in.
418 * configure: Rebuild.
419
c5bde1ef
ILT
420 * sunos.c (sunos_scan_ext_relocs): If not making a shared library,
421 don't fiddle with a symbol which is not defined anywhere.
422
cb84f028
ILT
423Mon Mar 4 12:49:16 1996 Ian Lance Taylor <ian@cygnus.com>
424
4e59f523
ILT
425 * xcofflink.c (xcoff_mark): Treat undefined imported symbols as
426 though they are defined in a shared library.
427 (xcoff_build_ldsyms): Likewise.
428
ea2504d5
ILT
429 * coffgen.c (coff_find_nearest_line): Don't look at the line
430 numbers for the section if section->lineno is NULL.
431
cb84f028
ILT
432 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Print a useful error
433 message rather than calling BFD_ASSERT.
434 * elfcode.h (write_relocs): Check return value of
435 _bfd_elf_symbol_from_bfd_symbol.
436
6e036cf7
MM
437Fri Mar 1 09:42:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
438
439 * elf32-ppc.c (ppc_elf_add_symbol_hook): Don't set SEC_LOAD flag
440 for .sbss section.
441
d08435de
JL
442Wed Feb 28 11:25:47 1996 Jeffrey A Law (law@cygnus.com)
443
444 * libhppa.h (hppa_reloc_field_selector_type): Add R_HPPA_NLSEL
445 and R_HPPA_NLRSEL.
446 (e_nsel, e_nlsel, e_nlrsel): Undefine. Add to
447 hppa_reloc_field_selector_type_alt.
448 (hppa_field_adjust): Handle e_nlsel, e_nlrsel. Fix e_nsel handling.
449 * som.c (hppa_som_gen_reloc_type): Handle N', NL' NLR' field
450 selectors.
451 (som_write_fixups): Finish handling of R_N0SEL and R_N1SEL.
452
09609415
ILT
453Wed Feb 28 11:00:24 1996 Ian Lance Taylor <ian@cygnus.com>
454
455 * elf.c (assign_file_positions_for_segments): Adjust the segment
456 memory size for the alignment of a SEC_ALLOC section, not just a
457 SEC_LOAD section.
458
55626bf0
ILT
459Tue Feb 27 14:17:31 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
460
461 * m68klinux.c: New file.
462 * hosts/m68klinux.h: New file.
463 * config.bfd (m68*-*-linuxaout*, m68*-*-linux*): New targets.
464 * configure.in (m68*-*-linux*): New native host.
465 (m68klinux_vec): New vector.
466 * configure: Rebuild.
467 * targets.c (m68klinux_vec): Declare.
468 * i386linux.c (bfd_i386linux_size_dynamic_sections): Renamed from
469 bfd_linux_size_dynmic_sections to avoid clash with m68klinux.c.
470 * bfd-in.h (bfd_i386linux_size_dynamic_sections): Rename
471 declaration from bfd_linux_size_dynamic_sections.
472 (bfd_m68klinux_size_dynamic_sections): Declare.
473 * bfd-in2.h: Rebuild.
474 * Makefile.in: Rebuild dependencies.
475 (BFD32_BACKENDS): Add m68klinux.o.
476 (BFD32_BACKENDS_CFILES): Add m68klinux.c.
477
6c7b3090
JL
478Tue Feb 27 11:31:34 1996 Jeffrey A Law (law@cygnus.com)
479
480 * libhppa.h (pa_arch): Add pa20.
481 (hppa_reloc_field_selector_type): Add R_HPPA_NSEL.
482 (e_nsel): Undefine. Add to hppa_reloc_field_selector_type_alt.
483 (hppa_field_adjust): Handle e_nsel.
484 * som.c: Provide default definitions for many new relocs found only
485 in hpux10 include files.
486 (som_fixup_formats): Add several new relocs from hpux10.
487 (som_hppa_howto_table): Add hpux10 relocs.
488 (som_write_fixups): Handle R_N0SEL and R_N1SEL hpux10 relocs.
489
14fd4616
SS
490Mon Feb 26 12:52:48 1996 Stan Shebs <shebs@andros.cygnus.com>
491
492 * mpw-make.sed: Edit out recent shared library support, and
493 rules to rebuild .h files using doc/chew.
494
3d9f042c
ILT
495Mon Feb 26 14:48:39 1996 David Mosberger-Tang <davidm@AZStarNet.com>
496
497 * ecoff.c (ecoff_compute_section_file_positions): Adjust the file
498 size even of sections with no contents.
499
bdec6228
ILT
500Mon Feb 26 14:01:13 1996 Ian Lance Taylor <ian@cygnus.com>
501
88358469
ILT
502 * cofflink.c (_bfd_coff_link_input_bfd): When merging, skip names
503 starting with '$' the way we skip names starting with '.'. When
504 updating x_endndx, don't be fooled by an index which has been
505 merged.
506
bdec6228
ILT
507 * cofflink.c (_bfd_coff_link_input_bfd): Don't try to optimize a
508 struct/union/enum type with no elements.
509
053ae1d7
ILT
510Sat Feb 24 11:38:58 1996 Ian Lance Taylor <ian@cygnus.com>
511
15f4406c
ILT
512 * bfd.c (bfd_errmsg): Handle a NULL return from strerror.
513
c8435133
ILT
514 * archive.c (bfd_generic_archive_p): If the first file in the
515 archive can not be recognized as an object, don't assume that this
516 is the wrong format.
517
053ae1d7
ILT
518 * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
519 format is not bfd_object.
520 (bfd_elf_get_dt_soname): Likewise.
521
ea74d979
ILT
522Wed Feb 21 13:58:04 1996 Ian Lance Taylor <ian@cygnus.com>
523
524 * coff-sh.c (sh_relax_delete_bytes): Correct range of R_SH_USES
525 reloc.
526
871a3f3b
C
527Tue Feb 20 16:22:44 1996 J.T. Conklin <jtc@rtl.cygnus.com>
528
529 * bfd.c (tdata): Add netbsd_core_data.
530 * bfd-in2.h: Regenerated.
531
532Tue Feb 20 16:50:02 1996 Ian Lance Taylor <ian@cygnus.com>
533
fe6fc35f
ILT
534 * sunos.c (SUNOS_CONSTRUCTOR): Define.
535 (sunos_add_one_symbol): Don't let a symbol from a dynamic object
536 override a constructor symbol. Set SUNOS_CONSTRUCTOR when
537 appropriate.
538
871a3f3b
C
539 * bout.c (b_out_squirt_out_relocs): Use udata.i rather than flags
540 to get the symbol index, matching 14 Jul 95 change.
541
d3785301
FF
542Tue Feb 20 08:26:27 1996 Fred Fish <fnf@phydeaux.cygnus.com>
543
544 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
545 Remove duplicate definition of gp.
546
60a49e7f
ILT
547Mon Feb 19 12:37:41 1996 Ian Lance Taylor <ian@cygnus.com>
548
81bdcecf
ILT
549 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Don't
550 assume that we can set the GP value and then get the same value,
551 since it won't be true if the output file is neither ELF nor
552 ECOFF.
553 * coff-mips.c (mips_adjust_reloc_in): Don't bother to use
554 _bfd_get_gp_value here.
555 (mips_gprel_reloc): Don't assume we can set and get the GP value.
556 * elf32-mips.c (mips_elf_hi16_reloc): Get gp value from
557 mips_elf_final_gp.
558 (mips_elf_lo16_reloc): Likewise.
559 (mips_elf_final_gp): Add pgp parameter. Set it to the GP value.
560 Don't require that the BFD be ELF.
561 (mips_elf_gprel16_reloc): Get gp value from mips_elf_final_gp.
562 (mips_elf_gprel32_reloc): Likewise.
563 (mips_elf_relocate_section): Don't assume we can set and get the
564 GP value.
565 (mips_elf_finish_dynamic_symbol): Don't bother to use
566 _bfd_get_gp_value here.
567
568 * elf32-mips.c (mips_elf_create_procedure_table): Initialize sv.
569 Don't change epdr between malloc and free. Be careful not to free
570 NULL pointers. Zero out the first RPDR.
571
7b61165a
ILT
572 * configure.host: On Linux, only pass -rpath option if $(libdir)
573 is neither /lib nor /usr/lib. From Alan Modra
574 <alan@mullet.Levels.UniSA.Edu.Au>.
575
60a49e7f
ILT
576 * elf-bfd.h (struct elf_obj_tdata): Rename dt_needed_name to
577 dt_name.
578 (elf_dt_name): Rename from elf_dt_needed_name.
579 * elf.c (bfd_elf_set_dt_needed_name): Use elf_dt_name, not
580 elf_dt_needed_name.
581 (bfd_elf_get_dt_soname): New function.
582 * elflink.h (elf_link_add_object_symbols): Use elf_dt_name, not
583 elf_dt_needed_name. Save the SONAME back in elf_dt_name.
584 * bfd-in.h (bfd_elf_get_dt_soname): Declare.
585 * bfd-in2.h: Rebuild.
586
b268e261
DE
587Mon Feb 19 02:50:23 1996 Doug Evans <dje@charmed.cygnus.com>
588
589 * elf32-sparc.c (elf32_sparc_reloc_type_lookup): Renamed from
590 _bfd_sparc_elf_reloc_type_lookup.
591 (bfd_elf32_bfd_reloc_type_lookup): Update.
592 * elf64-sparc.c (SPARC64_OLD_RELOCS): Define.
593 (sparc64_elf_howto_table): Define.
594 (sparc_reloc_map): Define.
595 (sparc64_elf_reloc_type_lookup): New function.
596 (sparc_elf_wdisp16_reloc): New function.
597 (elf_info_to_howto): Use sparc64_elf_howto_table.
598 (sparc64_elf_relocate_section): Likewise.
599 (bfd_elf64_bfd_reloc_type_lookup): Update.
600
9e2ef098
ILT
601Sun Feb 18 15:02:25 1996 Ian Lance Taylor <ian@cygnus.com>
602
603 * configure.host: Check for 'do not mix' from native linker before
604 trying to use -rpath.
605
4c70373f
ILT
606Fri Feb 16 12:46:18 1996 Ian Lance Taylor <ian@cygnus.com>
607
cba3f8a9
ILT
608 * bfd.c (_bfd_get_gp_value): New function.
609 (_bfd_set_gp_value): New function.
610 * libbfd-in.h (_bfd_get_gp_value): Declare.
611 (_bfd_set_gp_value): Declare.
612 * libbfd.h: Rebuild.
613 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use
614 _bfd_get_gp_value and _bfd_set_gp_value rather than referring
615 directly to the fields in the tdata information.
616 (alpha_relocate_section): Likewise.
617 * coff-mips.c (mips_adjust_reloc_in): Likewise.
618 (mips_gprel_reloc): Likewise.
619 (mips_relocate_section): Likewise.
620 * elf32-mips.c (mips_elf_hi16_reloc): Likewise.
621 (mips_elf_lo16_reloc): Likewise.
622 (mips_elf_final_gp): Likewise.
623 (mips_elf_gprel16_reloc): Likewise.
624 (mips_elf_gprel32_reloc): Likewise.
625 (mips_elf_relocate_section): Likewise.
626 (mips_elf_finish_dynamic_symbol): Likewise.
627
4c70373f
ILT
628 * bout.c (b_out_set_arch_mach): Recognize bfd_mach_i960_jx.
629
a0a2dd54
ILT
630Thu Feb 15 11:29:13 1996 Ian Lance Taylor <ian@cygnus.com>
631
f54c7482 632 * configure.in: Call AC_PROG_CC before configure.host.
65eed095
ILT
633 * configure: Rebuild.
634 * configure.host: Don't set information which autoconf should
635 figure out, namely CC, CFLAGS, LDFLAGS, AR, and RANLIB.
65eed095 636
14293419
ILT
637 * configure.host: Remove go32 and win32 host information, since it
638 should no longer be needed.
639
edf3fe48
ILT
640 * elf.c (map_sections_to_segments): If we have a .dynamic section,
641 then start a new segment rather than put a writable section in a
642 readonly segment.
643
b5e4f369
ILT
644 * configure.host: Set RPATH_ENVVAR.
645
f2e33e27
ILT
646 * Makefile.in: Rebuild dependencies.
647
a0a2dd54
ILT
648 * elflink.c (_bfd_elf_create_linker_section): Remove unused
649 zero_section variable.
650
52c6bc4d
ILT
651Thu Feb 15 10:39:17 1996 H.J. Lu <hjl@zoom.com>
652
653 * Makefile.in ($(srcdir)/bfd-in2.h): Rename target from bfd-in2.h.
654 ($(srcdir)/libbfd.h): Rename from libbfd.h.
655 ($(srcdir)/libcoff.h): Rename from libcoff.h.
656
c9e5279f
ILT
657Wed Feb 14 16:29:07 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
658
cb50baea
ILT
659 * ieee.c (ieee_write_expression): Only use an R variable for a
660 local symbol. Don't output a zero offset. Handle a zero address.
661 (SRC_MASK, PCREL_OFFSET): Define based on KEEPMINUSPCININST.
662 (rel32_howto, rel16_howto, rel8_howto): Use SRC_MASK and
663 PCREL_OFFSET.
664 (parse_expression): Don't try to handle multiple occurrences of a
665 P variable. Handle I variables differently from X variables. Fix
666 the order of minus expressions.
667 (ieee_slurp_external_symbols): Generate an I variable for an NN
668 record. Fix handling of ATI and ATX records.
669 (ieee_slurp_sections): Only set minimal section attributes.
670 Adjust them later, based on the section contents.
671 (ieee_object_p): Read in the file until just after the ME record.
672 Call ieee_slurp_section_data to set the section flags.
673 (do_one): Add iterations parameter. Only repeat the first load
674 item. Set the section and file reloc flags.
675 (ieee_slurp_section_data): Set section flags. Pass iterations to
676 do_one.
677 (ieee_canonicalize_reloc): Handle I variables.
678 (do_with_relocs): Only emit relocation size when necessary.
679 Increase MAXRUN to 127. Change ov to be assigned, and take
680 src_mask and pcrel_offset into account.
681 (ieee_write_data_part): Skip sections that are not loaded.
682 (ieee_write_external_part): Don't output optional last entry of WX
683 records.
684 (ieee_write_me_part): Make setting of me_record neater.
685 (ieee_generic_stat_arch_elt): Get the size of an archive element.
686
c9e5279f
ILT
687 * syms.c (stt): Add entries for zerovars, vars, and code.
688
689 * elfcode.h (validate_reloc): New static function.
690 (write_relocs): Call validate_reloc for non ELF relocs.
691
692 * elfxx-target.h (elf_symbol_leading_char): Define if not defined.
693 (TARGET_BIG_SYM): Use elf_symbol_leading_char.
694 (TARGET_LITTLE_SYM): Likewise.
695
696 * config.bfd (m68*-*-psos*): New target.
697
d9d65be6
ILT
698Tue Feb 13 15:56:22 1996 Bryan Ford <baford@snake.cs.utah.edu>
699
700 * i386msdos.c: Remove some #if 0 code.
701 (msdos_write_object_contents): Don't include empty sections in the
702 size computation, regardless of their address.
703
704Tue Feb 13 15:36:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
705
706 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault if dynboj
707 is NULL, ie, the -r switch is used.
708
db5970c7
ILT
709Tue Feb 13 14:35:15 1996 Ian Lance Taylor <ian@cygnus.com>
710
e9f03cd4
ILT
711 * reloc.c (BFD_RELOC_MIPS_GOT_HI16): Define.
712 (BFD_RELOC_MIPS_GOT_LO16): Define.
b7384d22 713 (BFD_RELOC_MIPS_CALL_HI16, BFD_RELOC_MIPS_CALL_LO16): Define.
e9f03cd4
ILT
714 * bfd-in2.h, libbfd.h: Rebuild.
715 * elf32-mips.c (mips_reloc_map): Map new relocs.
716
fe7c066a
ILT
717 * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared.
718
1ab628e4
ILT
719 * Makefile.in ($(SHLINK)): Check ts against $(SHLIB), not
720 $(SHLINK).
721
db5970c7
ILT
722 * ieee.c (get_symbol): Set the section to bfd_abs_section.
723 (do_with_relocs): If EXEC_P is set and there are no relocs, use a
724 simple number for the section address, rather than an expression.
725 Limit the number of bytes between relocs to MAXRUN.
726 (ieee_write_me_part): Set me_record to the file offset after the
727 start address.
728 (ieee_write_processor): New static function.
729 (ieee_write_object_contents): Use ieee_write_processor.
730
318b7c18
ILT
731Fri Feb 9 10:53:00 1996 Ian Lance Taylor <ian@cygnus.com>
732
db5970c7
ILT
733 * configure.host: Use ${CC-gcc} when testing for -rpath on SunOS.
734
735 * coff-aux.c: Change include of aux.h to aux-coff.h.
318b7c18 736
56b64690
ILT
737Thu Feb 8 14:01:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
738
739 * elf32-m68k.c (elf_m68k_relocate_section): For a R_68K_RELATIVE
740 relocation put the addend both in the reloc entry and the data.
741 (elf_m68k_finish_dynamic_symbol): Likewise. Mask out marker in
742 GOT offset value.
743
744 * elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, resolve
745 a R_68K_PCxx reloc against a defined global symbol directly.
746 (elf_m68k_check_relocs): Don't count such a reloc.
747
748 * elf32-m68k.c (elf_m68k_check_relocs): Don't record a symbol with
749 a PLTxx reloc as dynamic. Disallow PLTxxO reloc against a local
750 symbol for now, otherwise always record the symbol as dynamic.
751 (elf_m68k_adjust_dynamic_symbol): If a symbol with a PLTxx reloc
752 is not referenced by a dynamic object, and we are not making a
753 shared object, then don't make a PLT entry. If we do make a PLT
754 entry, make sure the symbol has been recorded as dynamic.
755
5d649ca8
ILT
756Wed Feb 7 13:56:06 1996 Ian Lance Taylor <ian@cygnus.com>
757
758 * configure.host: When making a shared library, set HLDFLAGS to
759 pass an appropriate -rpath option. Use the make variable SONAME
760 as the shared library soname, rather than computing it here. On
761 SunOS, build stamp-tshlink in place of $(SHLINK).
762 * Makefile.in (SONAME): New variable.
763 ($(SHLINK)): Make a link to the transformed name, as well.
764 (stamp-tshlink): New target.
765 (install): Skip stamp-tshlink during install.
766
8cc98cd5
MM
767Wed Feb 7 13:37:39 1996 Michael Meissner <meissner@tiktok.cygnus.com>
768
56b64690
ILT
769 * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not assume that the
770 linker sections have been set up yet.
771
8cc98cd5
MM
772 * elf.c (make_mapping): Add an additional argument to suppress
773 making the first section include the program headers.
774 (map_sections_to_segments): If the user used -Ttext such that the
775 program headers are on a different page, do not set the flags
776 saying that this section includes the program headers.
777
fe16107d
C
778Tue Feb 6 14:04:49 1996 J.T. Conklin <jtc@rtl.cygnus.com>
779
780 * configure.in (*-*-netbsd*): Set COREFILE to netbsd-core.c.
781 don't define TRAD_HEADER.
782 * configure: Rebuild.
783
784 * netbsd-core.c: New file, support for NetBSD core files.
785 * hosts/*nbsd.h: Removed.
786
f1783016
DE
787Tue Feb 6 11:47:49 1996 Doug Evans <dje@charmed.cygnus.com>
788
789 * reloc.c (BFD_RELOC_SPARC_[567]): New reloc types.
790 (BFD_RELOC_SPARC_LO7 reloc type): Deleted.
791 * libbfd.h, bfd-in2.h: Regenerated.
792 * elf32-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Renamed from
793 bfd_elf32_bfd_reloc_type_lookup.
794 (reloc_type{,_names}): Deleted.
795 (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
796 Add sparc64 relocs.
797 (sparc_reloc_map): Add sparc64 relocs.
798 (sparc_elf_notsupported_reloc): New static function.
799 (sparc_elf_wdisp16_reloc): New static function.
800 (elf32_sparc_check_relocs): Handle R_SPARC_WDISP{16,19}.
801 (elf32_sparc_relocate_section): Likewise.
802 (bfd_elf32_bfd_reloc_type_lookup): Define.
803 * elf64-sparc.c (sparc64_elf_wdisp16_reloc): Deleted.
804 (reloc_type{,_names}): Deleted.
805 (elf_sparc_howto_table): Deleted.
806 (sparc_reloc_map): Deleted.
807 (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
808 (bfd_elf64_bfd_reloc_type_lookup): Change from function to #define.
809
48fd00b6
ILT
810Tue Feb 6 12:12:22 1996 Ian Lance Taylor <ian@cygnus.com>
811
2300e217
ILT
812 * configure.host: Make SHLIB_CFLAGS include $(PICFLAG) on a
813 *-*-hpux* host.
814
48fd00b6
ILT
815 * Makefile.in (program_transform_name): New variable.
816 (install): Transform library name before installing it.
817
8adca582
ILT
818Mon Feb 5 10:38:27 1996 Ian Lance Taylor <ian@cygnus.com>
819
cbe75cb6
ILT
820 * archures.c (bfd_mach_i960_hx): Define.
821 * bfd-in2.h: Rebuild.
822 * cpu-i960.c (scan_960_mach): Accept machine "hx".
823 (MATRIX): Expand entries for HX.
824 (arch_info_struct): Add i960:hx entry.
825 * bout.c (b_out_set_arch_mach): Handle bfd_mach_i960_hx.
826 * coffcode.h (coff_set_arch_mach_hook): Handle F_I960HX.
827 (coff_set_flags): Handle bfd_mach_i960_hx.
828
44f795f7
ILT
829 Support for building as a shared library, based on patches from
830 Alan Modra <alan@spri.levels.unisa.edu.au>:
831 * configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
832 New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
833 SHLIB_CFLAGS, COMMON_SHLIB, PICLIST, SHLINK.
834 * configure: Rebuild.
835 * configure.host: If --enable-shared, adjust shared library stuff
836 based on the host. If the host is SunOS, and the linker supports
837 -rpath, set HLDFLAGS to use it.
838 * Makefile.in (ALLLIBS): New variable.
839 (PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
840 (COMMON_SHLIB, SHLINK): New variables.
841 (.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
842 (STAGESTUFF): Remove variable.
843 (all): Depend upon $(ALLLIBS) and @PICLIST@ rather than
844 $(TARGETLIB).
845 (stamp-ofiles): New target, like old ofiles target, but build
846 using a temporary file and move-if-change, and touch stamp-ofiles
847 when done.
848 (ofiles): Just depend upon stamp-ofiles.
849 (stamp-piclist, piclist): New targets.
850 ($(SHLIB), $(SHLINK)): New targets.
851 (targets.o, archures.o): Build twice if PICFLAG is set.
852 (do_mostlyclean): Remove pic/*.o.
853 (do_clean): Remove stamp-ofiles, $(SHLIB), $(SHLINK), piclist, and
854 stamp-piclist.
855 (do_distclean): Remove pic and stamp-picdir.
856 (install): Install shared libraries.
857 ($(OFILES)): Depend upon stamp-picdir.
858 (stamp-picdir): New target.
859
cb62d2bc
ILT
860 * libcoff-in.h: Add comment reminding people that libcoff.h is a
861 generated file.
862 * libcoff.h: Rebuild.
863
8adca582
ILT
864 * elflink.h (elf_adjust_dynamic_symbol): Don't try to get the
865 flavour of a section with no owner.
866
867 * elf32-mips.c (mips_elf_create_dynamic_sections): Clear
868 ELF_LINK_NON_ELF flag.
869 (mips_elf_create_got_section): Likewise.
870
871 * elf.c: Revert last change, since it breaks dynamic linking.
872 * elf-bfd.h (struct elf_backend_data): Remove want_hdr_in_seg
873 field.
874 * elf32-mips.c (elf_backend_want_hdr_in_seg): Don't define.
875 * elfxx-target.h (elf_backend_want_hdr_in_seg): Don't define.
876 (elfNN_bed): Don't initialize want_hdr_in_seg field.
877
878Sun Feb 4 20:45:13 1996 Michael Meissner <meissner@tiktok.cygnus.com>
879
880 * elf.c (assign_file_positions_for_segments): If the backend does
881 not want the elf header or the program headers in the address
882 space, do not include them in the calculations.
883
884 * elf32-ppc.c (ppc_elf_additional_program_headers): New hook
885 function to determine if we need additional program headers.
886 (ppc_elf_modify_segment_map): Define as a NOP function for now.
887 (ppc_elf_create_linker_section): .sdata2 is a read-only section.
888
0f09ddd4
ILT
889Sat Feb 3 23:00:03 1996 Ian Lance Taylor <ian@cygnus.com>
890
891 * coffcode.h: Move today's libcoff.h change into coffcode.h.
892
b48f10ba
FF
893Sat Feb 3 15:43:44 1996 Fred Fish <fnf@cygnus.com>
894
0f09ddd4
ILT
895 * libcoff.h (bfd_coff_link_add_one_symbol): Combine macro args
896 back into one line. Some compilers (sunos 4.1.3 for example)
897 won't accept args split across more than one line.
b48f10ba 898
50761d3b
SC
899Fri Feb 2 11:42:15 1996 Steve Chamberlain <sac@slash.cygnus.com>
900
901 * aclocal.m4 (BFD_BINARY_FOPEN): Understand cygwin32.
902 * configure: Regenerate.
903
9dce8260
JL
904Fri Feb 2 12:12:16 1996 Jeffrey A Law (law@cygnus.com)
905
906 * elf32-hppa.c (elf32_hppa_backend_symbol_table_processing): Don't
907 try to do arithmetic on a void *, cast it to a unsigned char * first.
908
6c55897c
ILT
909Thu Feb 1 16:04:06 1996 Ian Lance Taylor <ian@cygnus.com>
910
869b7d80
ILT
911 * elf-bfd.h (ELF_LINK_NON_ELF): Define.
912 * elf.c (_bfd_elf_link_hash_newfunc): Set elf_link_hash_flags to
913 ELF_LINK_NON_ELF.
914 * elflink.h (elf_link_add_object_symbols): Reset ELF_LINK_NON_ELF
915 flag for a newly defined symbol.
916 (NAME(bfd_elf,record_link_assignment)): Likewise.
917 (elf_adjust_dynamic_symbol): If ELF_LINK_NON_ELF is set, try to
918 set the DEF or REF_REGULAR flags correctly.
919
6f6956c6
ILT
920 * Makefile.in (bfd-in2.h): Make bfd.h, not protos, in docdir.
921 (libbfd.h, libcoff.h): Corresponding change.
922
6c55897c
ILT
923 * elf32-i386.c (elf_i386_check_relocs): Don't record a symbol with
924 a PLT32 reloc as dynamic.
925 (elf_i386_adjust_dynamic_symbol): If a symbol with a PLT32 reloc
926 is not referenced by a dynamic object, and we are not making a
927 shared object, then don't make a PLT entry. If we do make a PLT
928 entry, make sure the symbol has been recorded as dynamic.
929
b06136f2
SC
930Wed Jan 31 17:23:32 1996 Steve Chamberlain <sac@slash.cygnus.com>
931
932 * coff-i386.c (coff_i386_reloc_type_lookup): Add BFD_RELOC_32_PCREL.
933 * config.bfd (i[345]86-*-win32): Becomes i[345]86-*-cygwin32.
934 (powerpcle-*-cygwin32): New.
935 * peicode.h (add_data_entry): Get address from vma.
936
5c867ecd
MM
937Wed Jan 31 16:23:57 1996 Michael Meissner <meissner@tiktok.cygnus.com>
938
939 * elflink.c (_bfd_elf_create_linker_section): If the symbol
940 attached to the section has already been created as an undefined
941 symbol, treat it as if it hasn't been created yet.
942
28c16b55
ILT
943Wed Jan 31 16:16:53 1996 Ian Lance Taylor <ian@cygnus.com>
944
945 * elflink.h (elf_bfd_final_link): Don't output initial dummy
946 symbol or section symbols if stripping all symbols and this is not
947 a relocateable link. Don't output the symbol string table if
948 there are no symbols.
949 (elf_link_flush_output_syms): Don't do anything if there are no
950 symbols to flush.
951
d19df9b5
ILT
952Wed Jan 31 12:55:49 1996 Richard Henderson <rth@tamu.edu>
953
954 * coff-aux.c: New file.
955 * hosts/m68kaux.h: New file.
956 * config.bfd (m68*-apple-aux*): New target.
957 * configure.in (m68*-apple-aux*): New native host.
958 (m68kaux_coff_vec): New vector.
959 * configure: Rebuild.
960 * targets.c (m68kaux_coff_vec): Declare.
961 * coffcode.h (bfd_coff_backend_data): Add field
962 _bfd_coff_link_add_one_symbol.
963 (bfd_coff_link_add_one_symbol): Define.
964 (compare_arelent_ptr): New static function if TARG_AUX.
965 (coff_write_relocs): If TARG_AUX, sort the relocs.
966 (coff_write_object_contents): Set A/UX aouthdr magic number.
967 (coff_link_add_one_symbol): Define if not defined.
968 (bfd_coff_std_swap_table): Initialize new field.
969 * libcoff.h: Rebuild.
970 * cofflink.c (coff_link_add_symbols): Call
971 bfd_coff_link_add_one_symbol rather than
972 _bfd_generic_link_add_one_symbol.
973 * coff-m68k.c (COFF_PAGE_SIZE): Don't define if already defined.
974 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
975 * coff-mips.c (mips_ecoff_backend_data): Likewise.
976 * Makefile.in: Rebuild dependencies.
977 (BFD32_BACKENDS): Add coff-aux.o.
978 (BFD32_BACKENDS_CFILES): Add coff-aux.c.
979
a796aafd
ILT
980Wed Jan 31 11:37:46 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
981
982 * elf32-m68k.c (elf_m68k_relocate_section): Fix R_68K_GOT*
983 relocation; ignore addend with R_68K_{GOT,PLT}*O relocation.
984
a8763553
ILT
985Tue Jan 30 12:09:04 1996 Ian Lance Taylor <ian@cygnus.com>
986
66761e59
ILT
987 * Makefile.in (do_maintainer_clean): Remove $(srcdir)/bfd-in2.h,
988 $(srcdir)/libbfd.h and $(srcdir)/libcoff.h.
989 (maintainer-clean): Warn about deleting special files.
990 (bfd-in2.h, libbfd.h, libcoff.h): New targets.
991
cf5138e3
ILT
992 * elf32-hppa.c (elf32_hppa_relocate_section): Handle indirect and
993 warning symbols correctly.
994 * elf32-i386.c (elf_i386_relocate_section): Likewise.
995 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
996 * elf32-mips.c (mips_elf_relocate_section): Likewise.
997 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
998 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
999 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1000
a8763553
ILT
1001 * syms.c (_bfd_stab_section_find_nearest_line): Add casts to avoid
1002 warnings.
1003
bdd2e7f1
KK
1004Mon Jan 29 14:27:24 1996 Kim Knuttila <krk@cygnus.com>
1005
1006 * libcoff-in.h: aligned newly exported names with bfd naming
1007 conventions. Removed an erroneous define of POWERPC_LE_PE.
1008 * libcoff.h: Rebuild.
1009 * cofflink.c, coff-ppc.c: the above function name changes
1010
d2bb6c79
ILT
1011Mon Jan 29 13:06:28 1996 Ian Lance Taylor <ian@cygnus.com>
1012
eb5bc1f3
ILT
1013 From Basim Kadhim <kadhim@spock.cs.colorado.edu>:
1014 * ecoff.c (struct extsym_info): Define.
1015 (_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info
1016 to ecoff_link_write_external.
1017 (ecoff_link_write_external): Accept a struct extsym_info pointer.
1018 Strip symbols when appropriate.
1019
052b35d2
ILT
1020 Based on patches from Ronald F. Guilmette <rfg@monkeys.com>:
1021 * syms.c (BSF_OBJECT): Define.
1022 (bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT.
1023 * bfd-in2.h: Rebuild.
1024 * elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an
1025 STT_OBJECT symbol.
1026 * elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT
1027 is set.
1028
53787b23
ILT
1029 * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, when
1030 copying relocs into a shared object, treat a defined global symbol
1031 as a local symbol.
1032 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1033 * elf32-mips.c (mips_elf_relocate_section): Likewise.
1034 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1035
d2bb6c79
ILT
1036 * elflink.h (elf_link_add_object_symbols): Only set weakdef to a
1037 real defined symbol, not to a weak defined symbol.
1038
13d1a4dd
KK
1039Mon Jan 29 11:34:36 1996 Kim Knuttila <krk@cygnus.com>
1040
1041 * cofflink.c: removed the POWERPC_LE_PE hack, promoted some types
1042 and made a few static functions externs.
1043
1044 * coff-ppc.c (ppc_bfd_coff_final_link): new function, replaces the
1045 POWERPC_LE_PE hack in cofflink.
1046
1047 * libcoff-in.h: promoted the following from cofflink.c to allow
1048 _bfd_coff_final_link to be overridden - STRING_SIZE_SIZE,
1049 coff_debug_merge_element, struct coff_debug_merge_type,
1050 coff_debug_merge_hash_entry, coff_debug_merge_hash_table,
1051 coff_debug_merge_hash_table_init, coff_debug_merge_hash_table_free,
1052 coff_debug_merge_hash_lookup, coff_link_section_info,
1053 coff_final_link_info, coff_debug_merge_hash_newfunc,
1054 coff_write_global_sym, coff_link_input_bfd, coff_reloc_link_order.
1055
1056 * libcoff.h: re-gen'd
1057
86aac8ea
ILT
1058Fri Jan 26 18:33:35 1996 Ian Lance Taylor <ian@cygnus.com>
1059
1060 * syms.c: Include "bfdlink.h".
1061 (struct stab_find_info): Define.
1062 (_bfd_stab_section_find_nearest_line): New function.
1063 * libbfd-in.h (_bfd_stab_section_find_nearest_line): Declare.
1064 * libbfd.h: Rebuild.
1065 * elf-bfd.h (struct elf_obj_tdata): Add line_info field.
1066 * elf.c (_bfd_elf_find_nearest_line): Try calling
1067 _bfd_stab_section_find_nearest_line before searching the ELF
1068 symbol table. Find the closest STT_FUNC symbol, not the last one.
1069 * libcoff-in.h (coff_data_type): Add line_info field.
bdd2e7f1 1070 * libcoff.h: Rebuild.
86aac8ea
ILT
1071 * coffgen.c (coff_find_nearest_line): Try calling
1072 _bfd_stab_section_find_nearest_line before searching the COFF
1073 symbol table.
1074 * Makefile.in: Rebuild dependencies.
1075
1076Fri Jan 26 16:11:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1077
1078 * elf32-ppc.c (R_PPC_EMB_SDA21 relocations): Make relocation size
1079 4 bytes, so we get the correct value when updating the register
1080 field in little endian mode.
1081
43d36aad
ILT
1082Thu Jan 25 12:14:16 1996 Ian Lance Taylor <ian@cygnus.com>
1083
f0a97077
ILT
1084 * libcoff-in.h (struct xcoff_tdata): Remove toc_section and
1085 entry_section fields. Add sntoc and snentry fields.
1086 * libcoff.h: Rebuild.
1087 * coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry,
1088 not toc_section and entry_section (the COFF file does not have any
1089 sections at this point).
1090 (coff_write_object_contents): Set o_snentry and o_sntoc from
1091 snentry and sntoc rather than entry_section and toc_section.
1092 * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and
1093 snentry, not toc_section and entry_section.
1094 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set
1095 entry_section from hentry.
1096 (xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set,
ea2504d5 1097 set snenty.
f0a97077
ILT
1098 (xcoff_link_input_bfd): Set sntoc, not toc_section.
1099 (xcoff_write_global_symbol): Get toc_section from sntoc, rather
1100 than using toc_section directly.
1101
9b4598d0
ILT
1102 * archures.c: Add missing `.' in enum bfd_architecture.
1103 * bfd-in2.h: Rebuild.
1104
43d36aad
ILT
1105 * config.bfd (i[345]86-*-sco*elf*): Use bfd_elf32_i386_vec. From
1106 Robert Lipe <robertl@arnet.com>.
1107
eb82bc60
MM
1108Thu Jan 25 12:08:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1109
1110 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Add .rela.sdata{,2}
1111 to sections we allocate. Use bfd_zalloc to allocate initialial
1112 sections, not bfd_alloc.
1113 (ppc_elf_check_relocs): Remove BFD_ASSERTs for !shared from
1114 SDA{,2}I16 relocations.
1115 (ppc_elf_add_symbol_hook): Use the value of -G nn to determine
1116 whether to put something in .sbss or not.
1117 (ppc_elf_relocate_section): Add support for more relocations. Add
c1e65e24
MM
1118 in sec->output_offset where appropriate. Make error messages
1119 include the symbol name.
eb82bc60
MM
1120
1121 * elflink.c (_bfd_elf_create_linker_section): Lookup symbol before
1122 trying to add it to the symbol table, so _GLOBAL_OFFSET_TABLE_
1123 doesn't get redefined messages if -shared.
1124
1125 * elflink.h (elf_create_pointer_linker_section) Only bump RELA
1126 section if the rel_section field has been set up.
1127
9d621c7d
MM
1128Wed Jan 24 20:40:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1129
1130 * elf32-ppc.c (ppc_elf_relocate_section): Fix typo in eabi
1131 relocations.
1132
75c9ddc9
DE
1133Wed Jan 24 10:38:34 1996 Doug Evans <dje@charmed.cygnus.com>
1134
1135 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking
1136 of flags, only flags used are controlled by mach number. Bump up
1137 output file mach number to highest of input file mach numbers.
1138 (elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1.
1139 (elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa.
1140
72c513bc
DE
1141 * config.bfd (sparc64-*-{sysv4*,solaris2*}): Comment out
1142 bfd_elf64_sparc_vec support.
1143
3cbe19d2
MM
1144Tue Jan 23 14:33:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1145
1146 * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Don't complain if
1147 the embedded bit is set on some objects and not on others. Just
1148 or it together.
d8fd85ad
MM
1149 (ppc_elf_relocate_section): Implement R_PPC_EMB_{SDA21,RELSDA}
1150 relocations.
3cbe19d2 1151
5eb83ede
ILT
1152Tue Jan 23 14:22:45 1996 Ian Lance Taylor <ian@cygnus.com>
1153
4a3d3b42
ILT
1154 * coffcode.h (coff_new_section_hook): Don't try to align the
1155 .stabstr section.
1156
5eb83ede
ILT
1157 * coffcode.h (coff_set_section_contents): Fix the handling of the
1158 .lib section to work even if the entire section contents are
1159 written at once. From Gvran Uddeborg <gvran@uddeborg.pp.se> and
1160 Robert Lipe <robertl@arnet.com>.
1161
05f927dd
MM
1162Mon Jan 22 18:45:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1163
1164 * elflink.h (elf_finish_pointer_linker_section): Don't allocate
1165 memory here for contents.
1166
1167 * elf32-ppc.c (ppc_elf_relocate_section): Bump up _SDA_BASE_ and
1168 _SDA2_BASE_ by 32768.
1169 (ppc_elf_size_dynamic_sections): #if out PLT code which we haven't
1170 started using. Allocate contents for .sdata and .sdata2 sections
1171 also.
1172 (ppc_elf_check_relocs): Use bfd_get_section_name in debug message,
1173 rather than _name.
1174 (ppc_elf_finish_dynamic_symbol): Remove code that attempted to
1175 size _SDA{,2}_BASE_.
1176 (ppc_elf_relocate_section): Change how sdata{,2} relocations are
1177 done.
1178
5bc513b4
DE
1179Mon Jan 22 08:52:04 1996 Doug Evans <dje@charmed.cygnus.com>
1180
5a5bac64
DE
1181 * elflink.h (elf_finish_pointer_linker_section): Fix typo.
1182
5bc513b4 1183 * archures.c (bfd_mach_sparc_v9): Renamed from bfd_mach_sparc64.
5bc513b4 1184 (bfd_mach_sparc_{v8plus,v8plusa}): Define.
5bc513b4 1185 (bfd_mach_sparc_v9a): Define.
049f3d4c 1186 (bfd_mach_sparc_v9_p): Define.
5bc513b4
DE
1187 * bfd-in2.h: Regenerated.
1188 * aoutx.h (aout,machine_type): bfd_mach_sparc64 renamed to
1189 bfd_mach_sparc_v9.
d3366d23 1190 * elf64-sparc.c (sparc64_elf_object_p): Likewise.
5bc513b4
DE
1191 * config.bfd (sparc64-*-sysv4*,sparc64-*-solaris2*): Set targ_defvec
1192 to bfd_elf32_sparc_vec.
1193 * cpu-sparc.c (arch_info_struct): Renamed from sparc_arch_info.
5bc513b4 1194 Add v8plus{,a} support.
5bc513b4 1195 Add v9a support.
768b8ade 1196 (sparc_compatible): New function.
5bc513b4 1197 * elf32-sparc.h: #include "elf/sparc.h".
75c9ddc9 1198 (elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p,
5bc513b4 1199 elf32_sparc_final_write_processing): New functions.
75c9ddc9 1200 (bfd_elf32_bfd_merge_private_bfd_data, elf_backend_object_p,
5bc513b4 1201 elf_backend_final_write_processing): Define.
5bc513b4 1202
3b3753b8
MM
1203Mon Jan 22 11:21:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1204
1205 * elf-bfd.h (struct elf_link_hash_entry): Add
1206 linker_section_pointer field.
1207 (enum elf_linker_section_enum): Enumeration for new way of
1208 creating linker dynamic sections and symbols.
1209 (elf_linker_section{,_pointers}): New structures for creating
1210 dynamic sections and symbols.
1211 (elf_obj_tdata): Add linker_section_pointers and linker_section
1212 fields.
1213 (elf_local_ptr_offsets,elf_linker_section): New accessor macros.
1214 (_bfd_elf_create_linker_section): New declarations.
1215 (_bfd_elf_find_pointer_linker_section): Ditto.
1216 (bfd_elf{32,64}_{create,finish}_pointer_linker_section): Ditto.
1217 (_bfd_elf_make_linker_section_rela): Ditto.
1218
1219 * elf.c (_bfd_elf_link_hash_newfunc): Initialize new fields.
1220
1221 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Delete.
1222 (ppc_elf_create_linker_section): New function to create the
1223 sections .got, .sdata, and .sdata2.
1224 (ppc_elf_size_dynamic_sections): Zap .rela.{sdata,sdata2} if
1225 needed.
1226 (ppc_elf_check_relocs): Support more of the eabi relocations.
1227 (ppc_elf_relocate_section): Ditto.
1228 (ppc_elf_finish_dynamic_symbols): Adjust _SDA{,2}_BASE_ by 32768
1229 if the .sdata{,2} + .sbss{,2} section size is > 32k.
1230
1231 * elflink.h (elf_create_pointer_linker_section): New function to
1232 create initialized pointers in dynamic linker sections.
1233 (elf_finish_pointer_linker_section): Actually intialize the
1234 pointers created above.
1235
1236 * elfcode.h (bfd_elf{32,64}_create_pointer_linker_section): New
1237 macros to provide both 32 and 64 bit versions of
1238 elf_create_pointer_linker_section.
1239 (bfd_elf{32,64}_finish_pointer_linker_section): New macros to
1240 provide both 32 and 64 bit versions of
1241 elf_finish_pointer_linker_section.
1242
1243 * elflink.c (_bfd_elf_create_linker_section): New function to
1244 create a linker section.
1245 (_bfd_elf_find_pointer_linker_section): Find a unique pointer to a
1246 given address in the linker pointer offsets created for a given
1247 symbol.
1248 (_bfd_elf_make_linker_section_rela): Make a RELA section
1249 corresponding to the generated linker section.
1250
6b3eb07e
DE
1251Sat Jan 20 08:36:10 1996 Doug Evans <dje@canuck.cygnus.com>
1252
1253 * elf32-sparc.c (ELF_MACHINE_ALT1): Define.
1254
e7894f6b
KK
1255Thu Jan 18 18:25:34 1996 Kim Knuttila <krk@cygnus.com>
1256
1257 * coff-ppc.c (coff_ppc_relocate_section): changed TOCDEFN relocs.
1258 (coff_ppc_relocate_section): Handle special values for gcc built dlls.
1259 (dump_toc): fix diagnosing code to identify out-of-toc-bounds entries.
1260 Also begin the toc at 4 as an eye catcher ('31313131' marks the first
1261 toc entry in an objdump) for now.
1262 (ppc_do_last, ppc_get_last): New function - needed to save processing
1263 the toc owner to the end.
1264 (ppc_coff_swap_sym_in_hook): Removed an incorrect hack for doing the
1265 toc owner last.
1266
1267 * cofflink.c (_bfd_coff_final_link): Added a new hack to keep the
1268 toc owner from being done till last. Must define POWERPC_LE_PC
1269 to enable it.
1270
1271 * coffcode.h (coff_set_alignment_hook): alignment setting for .stab
1272
1273 * peicode.h (coff_swap_scnhdr_out): set section flags for stab/str
1274 to INFO.
1275 (coff_swap_aouthdr_out): Removed a non-working hack for computing the
1276 SizeOfImage for PowerPC. Ignore the size of the .junk section.
1277
80b99ca0
ILT
1278Thu Jan 18 17:42:12 1996 Ian Lance Taylor <ian@cygnus.com>
1279
1280 * elfcore.h: Include <signal.h> before <sys/procfs.h>.
1281
df96df4c
ILT
1282Wed Jan 17 12:40:14 1996 Ian Lance Taylor <ian@cygnus.com>
1283
1284 * cpu-powerpc.c (arch_info_struct): Change last entry to not point
1285 back to first.
1286 (bfd_powerpc_arch): Point at first entry in arch_info_struct.
1287
d49ddb85
ILT
1288Tue Jan 16 15:10:49 1996 Ian Lance Taylor <ian@cygnus.com>
1289
1290 * elf.c (assign_file_positions_for_segments): Don't increment file
1291 offset for a segment which contains no loadable sections.
1292
4500a112
MM
1293Mon Jan 15 17:46:27 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1294
1295 * reloc.c: Add new PowerPC relocations.
1296 * {bfd-in2,libbfd}.h: Regenerate.
1297
1298 * elf32-ppc.c (ppc_elf_howto_raw): Add more PPC relocations.
1299 (ppc_elf_reloc_type_lookup): Lookup new relocations.
1300
252239f8
ILT
1301Mon Jan 15 14:29:44 1996 Ian Lance Taylor <ian@cygnus.com>
1302
20ab764e
ILT
1303 * aoutx.h (howto_table_ext): Fix RELOC_BASE10 and RELOC_BASE22
1304 entries.
1305
0a4ffa2d
ILT
1306 * sunos.c (sunos_scan_ext_relocs): Don't fail assert if
1307 info->shared.
1308
45ca3195
ILT
1309 * coffgen.c (coff_find_nearest_line): Don't try to cache
1310 information in sections that are not owned by a BFD. From Richard
1311 Henderson <richard@atheist.tamu.edu>.
1312
252239f8
ILT
1313 * elf32-mips.c: Numerous changes to dynamic linking code, mostly
1314 from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
1315 * elflink.h (elf_link_output_extsym): Remove special check for
1316 _rld_new_interface.
1317
1318 * ecoffswap.h: Add prototypes for static functions.
1319
bd2d10c0
MM
1320Sun Jan 14 21:36:08 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1321
1322 * elf32-ppc.c (ppc_elf_{unsupported,std}_reloc): Remove functions.
1323 (ppc_elf_howto_raw): Remove ppc_elf_{unsupported,std}_reloc
1324 references.
1325 (ppc_elf_relocate_section): No longer allow .sdata/.sbss sections
1326 to satisfy a TOC16 relocation. Rewrite unsupported relocation
1327 support. Begin support for R_PPC_SDA{2,}REL.
1328
1c3a295b
MM
1329Sat Jan 13 09:36:52 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1330
1331 * elf32-ppc.c (ppc_elf_create_dynamic_sections): New function to
1332 create the .got and .got.neg sections.
1333 (ppc_elf_size_dynamic_sections): Call it.
1334 (ppc_elf_check_relocs): Call it.
1335 (ppc_elf_size_dynamic_sections): Support .got.neg, just like .got.
1336 (ppc_elf_check_relocs): Add error messages for relocations we
1337 don't yet support. Do not include R_PPC_SDAREL16 like a GOT
1338 relocation.
1339
57081126
MM
1340Fri Jan 12 15:27:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1341
1342 * elf32-ppc.c (ppc_elf_fake_sections): Define, and handle the new
1343 section flags for V.4 and eabi.
1344
3c38b3df
ILT
1345Fri Jan 12 13:59:16 1996 Ian Lance Taylor <ian@cygnus.com>
1346
14899eb7
ILT
1347 * elf.c (assign_file_positions_for_segments): If a segment
1348 contains no sections, don't mark it as readable.
1349
98bb57ad
ILT
1350 * elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare.
1351 * elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare.
1352
02fcd126
ILT
1353 * elf.c (_bfd_elf_print_private_bfd_data): Dump contents of
1354 dynamic section, if there is one.
1355 * elf-bfd.h (struct elf_size_info): Add swap_dyn_in field.
1356 (bfd_elf32_swap_dyn_in): Change type of second parameter to PTR.
1357 (bfd_elf64_swap_dyn_in): Likewise.
1358 * elfcode.h (elf_swap_dyn_in): Change type of second parameter to
1359 PTR.
1360 (NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field.
1361
3c38b3df
ILT
1362 * elf32-i386.c (elf_i386_size_dynamic_sections): Don't create a
1363 DT_TEXTREL entry because of .rel.plt. From Martin Pirker
1364 <pirker@eiunix.tuwien.ac.at>.
1365
83f4323e
MM
1366Thu Jan 11 17:06:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1367
1368 * section.c (SEC_{EXCLUDE,SORT_ENTRIES}): New section flags for
1369 PowerPC V.4 and eabi.
1370 * bfd-in2.h: Regenerate.
1371 * libfd.h: Regenerate.
1372
1373 * elfxx-target.h (TARGET_{BIG,LITTLE}_SYM): Add new flags.
1374
1375 * elf32-ppc.c (ppc_elf_section_from_shdr): Support SHT_ORDERED
1376 section type and SHF_EXCLUDE section flag, turning them into the
1377 appropriate bfd section flag.
1378
a0271667
ILT
1379Thu Jan 11 11:23:30 1996 Ian Lance Taylor <ian@cygnus.com>
1380
c9746fb6
ILT
1381 * xcofflink.c (xcoff_link_add_symbols): Create the special
1382 sections if we see a DYNAMIC object, in case that is the only
1383 XCOFF input object we see.
1384
5b3b9ff6
ILT
1385 * elf32-mips.c: Extensive changes for a start at dynamic linking
1386 support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
1387
1388 * elf-bfd.h (struct elf_backend_data): Add type_change_ok field.
1389 (struct elf_backend_data): Remove
1390 elf_backend_create_program_headers field. Add
1391 elf_backend_additional_program_headers and
1392 elf_backend_modify_segment_map fields.
1393 * elfxx-target.h (elf_backend_type_change_ok): Define if not
1394 defined.
1395 (elf_backend_additional_program_headers): Likewise.
1396 (elf_backend_modify_segment_map): Likewise.
1397 (elf_backend_create_program_headers): Don't define.
1398 (elfNN_bed): Change to account for field changes.
1399 * elf.c (assign_file_positions_for_segments): Call new
1400 modify_segment_map backend function. Don't call old
1401 create_program_headers backend function.
1402 (get_program_header_size): Call additional_program_headers rather
1403 than create_program_headers.
1404 * elflink.h (elf_link_add_object_symbols): Initialize
1405 type_change_ok from new backend field.
1406 (elf_link_output_extsym): Don't warn if _rld_new_interface is
1407 defined.
1408 (elf_reloc_link_order): Treat a reloc against a defined symbol as
1409 a reloc against the appropriate section.
1410
761f377f
ILT
1411 * elf-bfd.h (struct bfd_elf_section_data): Add tdata field.
1412 (struct elf_obj_tdata): Rename ppc_flags_init field to flags_init.
1413 (elf_flags_init): Rename from elf_ppc_flags_init.
1414 * elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not
1415 elf_ppc_flags_init.
1416 (ppc_elf_copy_private_bfd_data): Likewise.
1417 (ppc_elf_merge_private_bfd_data): Likewise.
1418
a0271667
ILT
1419 * elf32-m68k.c (howto_table): Change src_mask to 0 for all
1420 relocation entries.
1421
64d5f5d0
ILT
1422Tue Jan 9 15:22:53 1996 David Mosberger-Tang <davidm@azstarnet.com>
1423
1424 * coff-alpha.c (alpha_relocate_section): During final link, allow
1425 output .lita section to be bigger than 64k by adjusting gp value
1426 on a per-input section basis.
1427 * libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning
1428 field.
1429 (struct ecoff_section_tdata): Add gp field.
1430
c40d9c77
ILT
1431Tue Jan 9 12:00:36 1996 Ian Lance Taylor <ian@cygnus.com>
1432
64d5f5d0
ILT
1433 Handle Alpha ECOFF changes in OSF/1 3.2.
1434 * libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos
1435 field.
1436 * coff-alpha.c: Include "aout/ar.h".
1437 (alpha_ecoff_get_relocated_section_contents): Don't require an
1438 ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1
1439 3.2 doesn't generate one.
1440 (alpha_relocate_section): Likewise.
1441 (alpha_ecoff_slurp_armap): Define.
1442 (alpha_ecoff_slurp_extended_name_table): Define.
1443 (alpha_ecoff_construct_extended_name_table): Define.
1444 (alpha_ecoff_truncate_arname): Define.
1445 (alpha_ecoff_write_armap): Define.
1446 (alpha_ecoff_generic_stat_arch_elt): Define.
1447 (alpha_ecoff_update_armap_timestamp): Define.
1448 (ARFZMAG): Define.
1449 (alpha_ecoff_read_ar_hdr): New static function.
1450 (alpha_ecoff_get_elt_at_filepos): New static function.
1451 (alpha_ecoff_openr_next_archived_file): New static function.
1452 (alpha_ecoff_get_elt_at_index): New static function.
1453 (alpha_ecoff_backend_data): Initialize get_elt_at_filepos field.
1454 (ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from
1455 _bfd_ecoff to alpha_ecoff.
1456 * ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos
1457 field from backend structure, rather than always calling
1458 _bfd_get_elt_at_filepos.
1459 * coff-mips.c (mips_ecoff_backend_data): Initialize
1460 get_elt_at_filepos field.
1461 * archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied
1462 from _bfd_generic_read_ar_hdr with minor changes.
1463 (_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag.
1464 * libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare.
1465 * libbfd.h: Rebuild.
1466
1467 * bfd-in.h (BFD_IN_MEMORY): Define.
1468 * libbfd-in.h (struct bfd_in_memory): Define.
1469 * libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag.
1470 (bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file.
1471 (bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set.
1472 (bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag.
1473 * bfd.c (struct _bfd): Change iostream field from char * to PTR.
1474 (bfd_get_size): Handle BFD_IN_MEMORY flag.
1475 * cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files.
1476 (bfd_open_file): Cast to PTR, not char *, when setting iostream.
1477 (bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set.
1478 * opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting
1479 iostream.
1480 (bfd_openstreamr): Likewise.
1481 * aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if
1482 BFD_IN_MEMORY is not set.
1483 * riscix.c (riscix_some_aout_object_p): Likewise.
1484 * bfd-in2.h, libbfd.h: Rebuild.
1485
1486 * targets.c (bfd_target): Add _bfd_get_elt_at_index field.
1487 (BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index.
1488 (bfd_get_elt_at_index): Define.
1489 * archive.c (_bfd_generic_get_elt_at_index): Rename from
1490 bfd_get_elt_at_index. Change index parameter from int to
1491 symindex.
1492 * libbfd-in.h (_bfd_generic_get_elt_at_index): Declare.
1493 (_bfd_noarchive_get_elt_at_index): Define.
1494 (_bfd_archive_bsd_get_elt_at_index): Define.
1495 (_bfd_archive_coff_get_elt_at_index): Define.
1496 * bfd-in2.h, libbfd.h: Rebuild.
1497 * aout-target.h (MY_get_elt_at_index): Define if not defined.
1498 * coff-rs6000.c (xcoff_get_elt_at_index): Define.
1499 * ieee.c (ieee_get_elt_at_index): Define.
1500 * libecoff.h (_bfd_ecoff_get_elt_at_index): Define.
1501 * oasys.c (oasys_get_elt_at_index): Define.
1502 * som.c (som_get_elt_at_index): Define.
1503
c40d9c77
ILT
1504 * ecoff.c (_bfd_ecoff_find_nearest_line): Don't restrict line
1505 numbers to the .text section.
1506
efa77952
ILT
1507Mon Jan 8 17:00:57 1996 Ian Lance Taylor <ian@cygnus.com>
1508
1509 * ieee.c (ieee_write_debug_part): Change return type to boolean.
1510 If there is a SEC_DEBUGGING section, get the contents of the debug
1511 information part from it.
1512 (ieee_set_section_contents): Store the contents of a SEC_DEBUGGING
1513 section in memory.
1514 (ieee_write_object_contents): Check ieee_write_debug_part return.
1515
767f22d5
FF
1516Thu Jan 4 17:12:37 1996 Fred Fish <fnf@cygnus.com>
1517
1518 * config.bfd (i[345]86-*-freebsd*): Add target.
1519 * configure.in (i386freebsd_vec): Add vec.
1520 * configure: Regenerate.
1521 * Makefile.in (BFD32_BACKENDS): Add i386freebsd.o.
1522 (BFD32_BACKENDS_CFILES): Add i386freebsd.c.
1523 Rebuild dependencies..
1524 * freebsd.h: New file.
1525 * i386freebsd.c: New file.
1526 * targets.c (i386freebsd_vec): Declare.
1527 (bfd_target_vector): Add i386freebsd_vec.
1528 * i386linux.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
1529 * i386netbsd.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
1530
f8254a3c
ILT
1531Thu Jan 4 16:27:46 1996 Ian Lance Taylor <ian@cygnus.com>
1532
1533 * ieee.c (ieee_slurp_debug): New static function.
1534 (ieee_object_p): Call it.
1535 (ieee_slurp_section_data): Skip debugging sections.
1536 (ieee_get_reloc_upper_bound): Likewise.
1537 (ieee_get_section_contents): Likewise.
1538 (ieee_canonicalize_reloc): Likewise.
1539 (ieee_write_section_part): Likewise.
1540 (ieee_write_debug_part): Likewise.
1541 (ieee_write_data_part): Likewise.
1542 (init_for_output): Likewise.
1543
07a159db
MM
1544Wed Jan 3 19:42:47 1996 Michael Meissner <meissner@wogglebug.tiac.net>
1545
1546 * elf32-ppc.c (ppc_elf_relocate_section): Make @GOT relocations
1547 work.
1548 (ppc_elf_howto_raw): Just use bfd_elf_generic_reloc for all howto
1549 relocs, since ppc_elf_relocate_section handles the linker case.
1550 (ppc_elf_{addr16_ha,got16,toc16,brtaken}_reloc): Delete, no longer
1551 used.
1552 (ppc_elf_{addr16_ha,got16,toc16,brtaken}_inner): Merge these into
1553 ppc_elf_relocate_section since that is now the only caller.
1554 (ppc_elf_relocate_section): Ditto.
1555
d812945a
ILT
1556Wed Jan 3 15:11:30 1996 Ian Lance Taylor <ian@cygnus.com>
1557
1558 * coffcode.h (coff_write_object_contents): If we don't know the
1559 section of the entry point for an XCOFF executable, always set the
1560 entry address to -1.
1561
3a56d0b4
MM
1562Tue Jan 2 14:17:15 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1563
1564 * elf.c (bfd_section_from_shdr): Add support for note sections.
1565
c4406e50
ILT
1566Tue Jan 2 13:10:25 1996 Ian Lance Taylor <ian@cygnus.com>
1567
d812945a
ILT
1568 * bfd-in.h (struct _symbol_info): Add stab_type field.
1569 * bfd-in2.h: Rebuild.
1570 * aoutx.h (NAME(aout,get_symbol_info)): Set stab_type.
1571
c4406e50
ILT
1572 * elf32-ppc.c: Remove trailing newline from calls to
1573 _bfd_error_handler.
1574 (ppc_elf_merge_private_bfd_data): Only warn about endianness
1575 difference if target endianness is known.
1576
08556813
MM
1577Thu Dec 21 12:43:49 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1578
1579 * elf32-ppc.c (ppc_elf_howto_raw): Add a phony reloc to handle the
1580 old style TOC16 references without using R_PPC_GOT.
1581 (ppc_reloc_type): Ditto.
1582 (ppc_elf_reloc_type_lookup): Add support for TOC16.
1583 (ppc_elf_toc16_inner): Renamed from ppc_elf_got16_inner.
1584 (ppc_elf_toc16_reloc): Renamed from ppc_elf_toc16_reloc.
1585 (ppc_elf_got16_{inner,reloc}): Stubs for real GOT support.
1586 (ppc_elf_check_relocs): New function for GOT/PLT support that is
1587 work in progress.
1588 (ppc_elf_adjust_dynamic_symbol): Ditto.
1589 (ppc_elf_adjust_dynindx): Ditto.
1590 (ppc_elf_size_dynamic_sections): Ditto.
1591 (ppc_elf_finish_dynamic_symbol): Ditto.
1592 (ppc_elf_finish_dynamic_sections): Ditto.
1593 (ELF_DYNAMIC_INTERPRETER): Define.
1594
86587dd4
KR
1595Wed Dec 20 19:14:18 1995 Ken Raeburn <raeburn@cygnus.com>
1596
1597 * elf.c (copy_private_bfd_data): When attaching sections to
1598 segments ignore sections that won't be allocated. Patch from
1599 Andreas Schwab.
1600
bf7f243f
KR
1601Tue Dec 19 20:01:43 1995 Ken Raeburn <raeburn@cygnus.com>
1602
1603 * config.bfd: Match on m68k-cbm-* only if OS doesn't match
1604 anything else.
1605
d9518e2e
ILT
1606Tue Dec 19 16:38:59 1995 Ian Lance Taylor <ian@cygnus.com>
1607
1608 * coff-i960.c (CALC_ADDEND): Define.
1609 (coff_i960_relocate_section): Add the input section VMA to the
1610 addend for PC relative relocs.
1611
1612Sun Dec 17 20:11:55 1995 Kim Knuttila <krk@cygnus.com>
1613
1614 * peicode.h (pe_print_pdata): Must test the entire entry for zero
1615 to correctly terminate.
1616
010a405a
ILT
1617Fri Dec 15 12:05:57 1995 Ian Lance Taylor <ian@cygnus.com>
1618
dc092b6b
ILT
1619 * targets.c (enum bfd_endian): Define.
1620 (bfd_target): Rename byteorder_big_p to byteorder, and change it
1621 from boolean to enum bfd_endian. Change header_byteorder_big_p
1622 correspondingly.
1623 * bfd-in.h (bfd_big_endian, bfd_little_endian): New macros.
1624 (bfd_header_big_endian, bfd_header_little_endian): New macros.
1625 * bfd-in2.h: Rebuild.
1626 * All targets: Change initialization of byteorder and
1627 header_byteorder to use enum bfd_endian values rather than
1628 booleans.
1629 * All files: Change all references to byteorder_big_p and
1630 header_byteorder_big_p to use new bfd_*_endian macros.
1631
010a405a
ILT
1632 * coffgen.c (make_a_section_from_file): Set lma to s_paddr, not
1633 s_vaddr.
1634 * coffcode.h (coff_write_object_contents): Set s_paddr to lma, not
1635 vma.
1636 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
1637
fcb43906
SC
1638Fri Dec 15 07:32:09 1995 steve chamberlain <sac@slash.cygnus.com>
1639
1640 * pe[i]-i386.c (TARGET_UNDERSCORE): Define to '_'.
1641
0d709d31
ILT
1642Thu Dec 14 13:45:37 1995 Ian Lance Taylor <ian@cygnus.com>
1643
14578105
ILT
1644 * ieee.c: Lots of minor cleanups. Make many functions return
1645 errors rather than calling abort. Also:
1646 (ieee_write_twobyte): Remove; change callers to call existing
1647 ieee_write_2bytes function.
1648 (ieee_write_expression): Don't output the section twice when
1649 outputting a local symbol. Don't emit an extraneous zero if there
1650 is only one term.
1651 (ieee_slurp_sections): Set the lma as well as the vma.
1652 (ieee_archive_p): Use bfd_alloc_grow rather than an obstack.
1653
0d709d31
ILT
1654 * ihex.c (ihex_set_arch_mach): Don't accept any architecture, just
1655 a recognized one or bfd_arch_unknown.
1656 (ihex_get_symtab_upper_bound): Define as bfd_0l, to permit objcopy
1657 to succeed.
1658 (ihex_get_symtab): Likewise.
1659
14dc2f77
ILT
1660Wed Dec 13 15:44:06 1995 Ian Lance Taylor <ian@cygnus.com>
1661
1662 * aoutx.h: Include <ctype.h>.
1663 (struct aout_link_includes_table): Define.
1664 (struct aout_link_includes_totals): Define.
1665 (struct aout_link_includes_entry): Define.
1666 (aout_link_includes_lookup): Define macro.
1667 (struct aout_final_link_info): Add includes field.
1668 (aout_link_includes_newfunc): New static function.
1669 (NAME(aout,final_link)): Initialize includes hash table.
1670 (aout_link_write_symbols): Eliminate duplicate N_BINCL entries.
1671
480ccad5
SS
1672Wed Dec 13 10:52:14 1995 Stan Shebs <shebs@andros.cygnus.com>
1673
1674 * mpw-config.in: Match on mips-*-* instead of mips-idt-ecoff.
1675
3920d9c9
KK
1676Wed Dec 13 11:07:45 1995 Kim Knuttila <krk@cygnus.com>
1677
1678 * coff-ppc.c (coff_ppc_relocate_section): removed debugging code.
1679
207345f2
KK
1680Tue Dec 12 17:42:06 1995 Kim Knuttila <krk@cygnus.com>
1681
1682 * peicode.h (pe_print_reloc): New function to dump the .reloc section.
1683 (pe_print_private_bfd_data): call pe_print_reloc.
1684 * coffcode.h (coff_set_alignment_hook): .reloc section alignment.
1685 * coff-ppc.c (in_reloc_p): Added missing non-eligible relocs. Spiffed
1686 up some debugging as well.
1687
273c019e
ILT
1688Tue Dec 12 11:34:23 1995 Ian Lance Taylor <ian@cygnus.com>
1689
1690 * config.bfd: Handle sparc-*-elf*. From Ronald F. Guilmette
1691 <rfg@monkeys.com>.
1692
010d9f2d
ILT
1693Fri Dec 8 17:47:07 1995 Ian Lance Taylor <ian@cygnus.com>
1694
1695 * elflink.h (elf_link_add_object_symbols): Set section_count to 0
1696 when setting sections to NULL.
1697
4a4a66bd
ILT
1698Wed Dec 6 17:05:37 1995 Ian Lance Taylor <ian@cygnus.com>
1699
1700 * xcofflink.c (struct xcoff_loader_info): Add export_defineds
1701 field.
1702 (bfd_xcoff_size_dynamic_sections): Add export_defineds parameter.
1703 (xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT
1704 for all symbols.
1705 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
1706 * bfd-in2.h: Rebuild.
1707
545bf026
KK
1708Mon Dec 4 16:40:47 1995 Kim Knuttila <krk@cygnus.com>
1709
1710 * coffcode.h (coff_set_alignment_hook): Removed some debugging printf's
1711
1f4ae0d6
ILT
1712Mon Dec 4 11:25:39 1995 Ian Lance Taylor <ian@cygnus.com>
1713
55cac920
ILT
1714 * ihex.c (ihex_scan): Handle record types 4 and 5.
1715 (ihex_object_p): Permit types 4 and 5.
1716 (ihex_set_section_contents): Remove check for out of range
1717 addresses.
1718 (ihex_write_object_contents): Generate types 4 and 5.
1719
1f4ae0d6
ILT
1720 * elflink.h (elf_link_output_extsym): Just ignore warning and
1721 indirect references to symbols which don't really exist.
1722
53d45489
KK
1723Sun Dec 3 19:00:27 1995 Kim Knuttila <krk@cygnus.com>
1724
1725 * peicode.h (pe_print_idata): Minor format fixes
1726 (pe_print_edata): New function. Under private printing, this formats
1727 the edata section of a PE file.
1728 (pe_print_private_bfd_data): Added call to pe_print_edata.
1729
361e8876
DE
1730Sun Dec 3 16:46:54 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
1731
1732 * aout-arm.c (MY_swap_std_reloc_out): Use KEEPIT to get the symbol
1733 index, don't call stoi.
1734
58142f10
ILT
1735Fri Dec 1 14:46:51 1995 Ian Lance Taylor <ian@cygnus.com>
1736
ffd15489
ILT
1737 * srec.c (srec_scan): Set lma as well as vma.
1738
1739 * ihex.c: New file; support for Intel Hex format.
1740 * targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour.
1741 (ihex_vec): Declare.
1742 (bfd_target_vector): Always include ihex_vec.
1743 * bfd.c (struct _bfd): Add ihex_data field to tdata union.
1744 * Makefile.in: Rebuild dependencies.
1745 (BFD_LIBS): Add ihex.o
1746 (BFD_LIBS_CFILES): Add ihex.c.
1747 * bfd-in2.h: Rebuild.
1748
ae0a6bea
ILT
1749 * elf.c (assign_file_positions_for_segments): Sort the sections in
1750 each segment.
1751 (get_program_header_size): Return the right size if segment_map is
1752 not NULL.
1753 (copy_private_bfd_data): Don't bother to sort the sections.
1754
1755 * bfd.c (bfd_record_phdr): New function.
1756 * bfd-in.h (bfd_record_phdr): Declare.
1757 * bfd_in2.h: Rebuild.
1758
ce0ee4bf
ILT
1759 * elf32-sparc.c (elf32_sparc_relocate_section): Remove bogus
1760 BFD_ASSERT.
1761
58142f10
ILT
1762 * libbfd.c (bfd_malloc, bfd_realloc): New functions.
1763 (bfd_zmalloc): Return PTR, not char *. Take size_t, not
1764 bfd_size_type.
1765 * libbfd-in.h (bfd_malloc, bfd_realloc): Declare.
1766 (bfd_zmalloc): Change declaration.
1767 * libbfd.h: Rebuild.
1768 * Many files: Use bfd_malloc and bfd_realloc rather than malloc
1769 and realloc. Don't set bfd_error_no_memory if they fail.
1770
59066248
KK
1771Thu Nov 30 19:32:26 1995 Kim Knuttila <krk@cygnus.com>
1772
1773 * coff-ppc.c: Added macros to tidy up toc cell treatment. Numerous
1774 uses as well. Added a new howto to deal with TOCREL16 relocs that
1775 are TOCDEFN as well.
1776 (coff_ppc_relocate_section): Expanded treatment of ADDR32NB relocs
1777 to handle RVA relocs from dlltool.
1778 (ppc_coff_rtype2howto): TOCDEFN reloc addition.
1779 (coff_ppc_rtype_to_howto): TOCDEFN reloc addition.
1780 (ppc_coff_reloc_type_lookup): TOCDEFN reloc addition.
1781
1782 * coffcode.h (coff_set_alignment_hook): check idata$X sections
1783 to get the right section alignment.
1784
6933148a
ILT
1785Thu Nov 30 16:48:18 1995 Ian Lance Taylor <ian@cygnus.com>
1786
1787 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
1788 p_paddr if p_paddr is zero.
1789 (make_mapping): Set includes_filehdr and includes_phdrs for first
1790 PT_LOAD segment.
1791 (map_sections_to_segments): Set includes_phdrs for PT_PHDR
1792 segment.
1793 (assign_file_positions_for_segments): Handle includes_filehdr and
1794 includes_phdrs. Remove special handling of PT_PHDR and first
1795 PT_LOAD segments.
1796 (copy_private_bfd_data): Set includes_filehdr and includes_phdr
1797 when appropriate. Remove special handling of PT_PHDR segment.
1798 Use a more complex condition for when a section is included in a
1799 segment to handle Solaris linker oddities.
1800
f62fed1c
ILT
1801Thu Nov 30 11:17:33 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
1802
1803 * coff-m88k.c (howto_table): Reformatted for easier reading;
1804 special_function now points to new function m88k_special_reloc.
1805 (howto_hvrt16): Function previously used for handling HVRT16 relocs
1806 removed.
1807 (rtype2howto): Do not add reloc's r_offset to the addend, this will
1808 be done correctly by m88k_special_reloc.
1809 (reloc_processing): New function to be used by RELOC_PROCESSING.
1810 (RELOC_PROCESSING): Define to call reloc_processing.
1811
64ecde46
ILT
1812Wed Nov 29 12:42:36 1995 Ian Lance Taylor <ian@cygnus.com>
1813
b00c57ec
ILT
1814 * peicode.h (pe_print_idata): Call malloc rather than xmalloc.
1815 (pe_print_pdata): Likewise.
1816
a9713b91
ILT
1817 * opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if
1818 obstack_alloc fails.
1819 (bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish
1820 fails.
1821 * libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails.
1822 * Many files: don't set bfd_error_no_memory if one of the above
1823 routines fails.
1824
3dbf33ee
ILT
1825 * elf.c (assign_file_positions_for_segments): Don't adjust p_paddr
1826 if p_paddr_valid is set.
1827 (copy_private_bfd_data): New static function.
1828 (_bfd_elf_copy_private_section_data): Call copy_private_bfd_data.
1829
44ef8897
ILT
1830 * elf.c (assign_file_positions_for_segments): Fix case where extra
1831 program headers were allocated.
1832
27fb8f29
ILT
1833 * elf.c (_bfd_elf_print_private_bfd_data): New function.
1834 * elf-bfd.h (_bfd_elf_print_private_bfd_data): Declare.
1835 * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define to
1836 _bfd_elf_print_private_bfd_data.
1837
64ecde46
ILT
1838 * coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
1839 r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
1840 Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
1841 (alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
1842 RELOC_SECTION_LITA for ALPHA_R_IGNORE.
1843 (alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
1844 RELOC_SECTION_ABS to RELOC_SECTION_NONE.
1845
fd0198f0
ILT
1846Tue Nov 28 16:59:50 1995 Ian Lance Taylor <ian@cygnus.com>
1847
1848 * elf-bfd.h (struct elf_obj_tdata): Add segment_map field.
1849 * elf.c (make_mapping): New static function.
1850 (map_sections_to_segments): New static function.
1851 (elf_sort_sections): New static function.
1852 (assign_file_positions_for_segments): New static function.
1853 (map_program_segments): Remove.
1854 (get_program_header_size): Remove sorted_hdrs, count, and
1855 maxpagesize parameters. Simplify.
1856 (assign_file_positions_except_relocs): When generating an
1857 executable, use assign_file_positions_for_segments.
1858 (elf_sort_hdrs): Remove.
1859 (_bfd_elf_sizeof_headers): Remove eliminated parameters from call
1860 to get_program_header_size.
1861
3b3f7625
ILT
1862Mon Nov 27 12:27:46 1995 Ian Lance Taylor <ian@cygnus.com>
1863
1ff0461b
ILT
1864 * hp300hpux.c (MY(callback)): Set lma as well as vma.
1865
80c8485c
ILT
1866 * configure, config.in: Regenerate with autoconf 2.7.
1867
3b3f7625
ILT
1868 * elf32-i386.c (elf_backend_plt_readonly): Set correctly, to 1.
1869 * elf32-sparc.c (elf_backend_plt_readonly): Set correctly, to 0.
1870
fa63d1ef
ILT
1871Wed Nov 22 12:02:09 1995 Ian Lance Taylor <ian@cygnus.com>
1872
a877f591
ILT
1873 * ecoff.c (_bfd_ecoff_new_section_hook): Handle .rconst section.
1874 (ecoff_sec_to_styp_flags): Likewise.
1875 (_bfd_ecoff_styp_to_sec_flags): Handle STYP_RCONST.
1876 (ecoff_set_symbol_info): Handle scRConst.
1877 (ecoff_slurp_reloc_table): Handle RELOC_SECTION_RCONST.
1878 (ecoff_compute_section_file_positions): Handle .rconst section.
1879 (_bfd_ecoff_write_object_contents): Likewise.
1880 (ecoff_link_check_archive_element): Handle scRConst.
1881 (ecoff_link_add_externals): Likewise.
1882 (ecoff_link_write_external): Handle .rconst section.
1883 (ecoff_reloc_link_order): Likewise.
1884 * ecofflink.c (bfd_ecoff_debug_accumulate): Handle scRConst.
1885 * coff-alpha.c (alpha_convert_external_reloc): Handle .rconst
1886 section.
1887 (alpha_relocate_section): Handle RELOC_SECTION_RCONST.
1888
fa63d1ef
ILT
1889 * sunos.c (sunos_scan_dynamic_symbol): Only set written if the
1890 DEF_DYNAMIC flag is set.
1891
25bada65
KR
1892Tue Nov 21 13:25:29 1995 Ken Raeburn <raeburn@cygnus.com>
1893
1894 * host-aout.c: If TRAD_HEADER is defined, include it.
1895
7938b4cb
ILT
1896Tue Nov 21 13:03:57 1995 Ian Lance Taylor <ian@cygnus.com>
1897
85e493f0
ILT
1898 * aclocal.m4 (AC_PROG_CC): Remove local definition.
1899 (BFD_BINARY_FOPEN): Require AC_CANONICAL_SYSTEM.
1900 (BFD_NEED_DECLARATION): New function.
1901 * configure.in: Use BFD_NEED_DECLARATION.
bd77213b
ILT
1902 * acconfig.h: Put NEED_DECLARATION_* in @TOP@ section.
1903 * configure, config.in: Rebuild with autoconf 2.6.
85e493f0 1904
83dcdc61
ILT
1905 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Clear
1906 special_sections before returning when called with a non XCOFF
1907 BFD.
1908
7938b4cb
ILT
1909 * coffgen.c (coff_renumber_symbols): Sort common symbols with
1910 global symbols.
1911
1912 * coffcode.h (coff_compute_section_file_positions): Only pad the
1913 previous section to force file alignment when creating an
1914 executable.
1915
b5403ad7
ILT
1916Mon Nov 20 14:54:09 1995 Ian Lance Taylor <ian@cygnus.com>
1917
a418e05d
ILT
1918 * coffcode.h (coff_compute_section_file_positions): If
1919 RS6000COFF_C, set up the .debug section.
1920
b5403ad7
ILT
1921 * xcofflink.c (xcoff_link_input_bfd): Adjust the TOC anchor value
1922 if it is not large enough to accomodate the entire TOC area with
1923 signed 16 bit offsets.
1924 (xcoff_write_global_symbol): Handle negative TOC offsets in global
1925 linkage code.
1926 (_bfd_ppc_xcoff_relocate_section): Adjust relocations against a
1927 TOC anchor to use the TOC value used in the output file.
1928
90a7abbc
ILT
1929Sat Nov 18 18:01:41 1995 Ian Lance Taylor <ian@cygnus.com>
1930
1931 * coffgen.c (_bfd_coff_get_external_symbols): Cast malloc return.
1932 (_bfd_coff_read_string_table): Likewise.
1933
177b1932
DE
1934Sat Nov 18 19:43:04 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
1935
1936 * pe-arm.c: Fix typos.
1937 * coff-arm.c: Likewise.
1938
1939Fri Nov 17 16:22:04 1995 Kim Knuttila <krk@cygnus.com>
1940
1941 * coff-ppc.c (list_ele): Added "cat"egory member.
1942 (record_toc): New category parameter (priv or pub).
1943 (ppc_record_toc_entry): Check to see if toc bounds exceeded.
1944 (ppc_process_before_allocation): Removed embrionic data-in-toc from
1945 the mainline. It addes extra toc cells in error.
1946 (ppc_coff_swap_sym_in_hook): Added some documentation.
1947 (dump_toc): Can now diagnose "virtual toc" chicanery.
1948
e34314c4
ILT
1949Fri Nov 17 10:41:25 1995 Philippe De Muyter <phdm@info.ucl.ac.be>
1950
1951 * elf-bfd.h (struct elf_link_hash_table): Change type of
1952 dynsymcount and bucketcount fields from size_t to bfd_size_type.
1953
73a68447
ILT
1954Fri Nov 17 10:02:58 1995 Ian Lance Taylor <ian@cygnus.com>
1955
535e9e29
ILT
1956 * coffcode.h (coff_pointerize_aux_hook): I960 version: don't
1957 pointerize C_LEAFSTAT or C_LEAFEXT entries.
1958
73a68447
ILT
1959 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only create
1960 DT_INIT and DT_FINI entries if the _init or _fini symbol is
1961 defined or mentioned in a regular file.
1962
cd2b2402
KK
1963Thu Nov 16 15:16:42 1995 Kim Knuttila <krk@cygnus.com>
1964
1965 * coff-ppc.c (ppc_record_data_in_toc_entry): new function
1966 (coff_ppc_relocate_section): Handle TOCDEFN attribute
1967 (coff_ppc_relocate_section): Correct REL24 handling
1968 (ppc_process_before_allocation): Correct TOCDEFN handling
1969
1970 * peicode.h (dir_names): Added name descriptions
1971
b218076e
KR
1972Thu Nov 16 03:38:03 1995 Ken Raeburn <raeburn@cygnus.com>
1973
1974 * VERSION: Updated to cygnus-2.6.
1975
1976Wed Nov 15 19:30:07 1995 Ken Raeburn <raeburn@cygnus.com>
1977
1978 * targets.c (m68k4knetbsd_vec): Declare.
1979
e9f30616
ILT
1980Wed Nov 15 18:05:52 1995 Ian Lance Taylor <ian@cygnus.com>
1981
1982 * targets.c (bfd_target): Change type of second argument to
1983 _bfd_print_private_bfd_data from void * to PTR.
1984 * libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast
1985 using PTR rather than void *.
1986 * bfd-in2, libbfd.h: Rebuild.
1987 * peicode.h (pe_print_private_bfd_data): Change vfile from void *
1988 to PTR.
1989 * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as
1990 _bfd_generic_bfd_print_private_bfd_data rather than casting
1991 bfd_true.
1992
ae75c4a4
KR
1993Wed Nov 15 04:09:14 1995 Ken Raeburn <raeburn@cygnus.com>
1994
1995 * Makefile.in (.dep1): Fix stupid typo in last change. Remove any
1996 "DO NOT DELETE" lines or blank lines that mkdep writes on some
1997 systems.
1998 (BFD_LIBS_CFILES, ALL_MACHINES_CFILES, BFD32_BACKENDS_CFILES,
1999 BFD64_BACKENDS_CFILES): New variables.
2000 (CFILES): Use them.
2001
bebcd3db
ILT
2002Tue Nov 14 11:52:23 1995 Ian Lance Taylor <ian@cygnus.com>
2003
4b71e164
ILT
2004 * peicode.h (coff_swap_aouthdr_out): For PPC PE, start isize at 0,
2005 not at the file position of the first section.
2006 * coffcode.h (coff_compute_section_file_positions): Avoid using
2007 unportable #elif.
2008 (coff_write_object_contents): When generating a PPC PE executable
2009 with no symbols, round up the file size to a COFF_PAGE_SIZE
2010 boundary.
2011 * cofflink.c (_bfd_coff_final_link): If there are no symbols,
2012 don't write out a string table.
2013
631b10f4
ILT
2014 * elf.c (bfd_section_from_shdr): When using a different section
2015 header, pass the new one to _bfd_elf_make_section_from_shdr.
2016 (elf_fake_sections): Don't set sh_info and sh_entsize fields.
2017 (elf_map_symbols): Add section VMA to symbol value when comparing
2018 against 0.
2019 (_bfd_elf_compute_section_file_positions): Only build symbol table
2020 if there are some symbols. Set file offset of symtab and strtab
2021 sections.
2022 (assign_file_positions_except_relocs): Remove dosyms parameter.
2023 Change all callers. Never set file offset of symtab and strtab
2024 sections.
2025 (_bfd_elf_copy_private_section_data): New function.
2026 (MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define.
2027 (_bfd_elf_copy_private_symbol_data): New function.
2028 (swap_out_syms): Check for special mapping of st_shndx created by
2029 copy_private_symbol_data.
2030 * elfxx-target.h: Use new copy routines.
2031 * elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare.
2032 (_bfd_elf_copy_private_section_data): Declare.
2033
2034 * config.bfd (sh-*-*): Set targ_defvec to shcoff_vec.
2035
2036 * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE, handle
2037 C_NT_WEAK.
2038
bebcd3db
ILT
2039 * coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not
2040 _bfd_dummy_target, matching the recent change to archive
2041 recognition.
2042
7ad4ba81
ILT
2043Mon Nov 13 13:24:38 1995 Ian Lance Taylor <ian@cygnus.com>
2044
afa67334
ILT
2045 * libbfd.c (bfd_get_file_window): Use casts to avoid doing
2046 arithmetic on PTR types.
2047
f2bd8915
ILT
2048 * aout-target.h (MY(callback)): Set the lma of the sections.
2049
7ad4ba81
ILT
2050 * ecoff.c (ecoff_reloc_link_order): Turn a reloc against a defined
2051 symbol into a reloc against the section.
2052
93b6a3f8
KK
2053Mon Nov 13 07:31:35 1995 Kim Knuttila <krk@cygnus.com>
2054
2055 * coff-ppc.c (ppc_coff_link_hash_entry): added support for inline
2056 glue for the relocs: IMGLUE and IFGLUE.
2057 (record_toc): new function - tracks toc contents
2058 (ppc_mark_symbol_as_glue): new function - supports the IMGLUE reloc
2059 (coff_ppc_relocate_section): Added support and fixes for IMGLUE/IFGLUE
2060 (ppc_coff_rtype2howto): removed invalid IMGLUE hack
2061 (coff_ppc_rtype_to_howto): removed invalid IMGLUE hack
125d37c4 2062 (ppc_record_toc_entry): Removed a debug define (duh)
93b6a3f8
KK
2063
2064 * peicode.h (coff_swap_scnhdr_out): Fixed invalid strcmp for ".reldata"
2065 (pe_print_idata): New function - formats the idata section data
2066 (pe_print_pdata): New function - formats the pdata section data
2067 (pe_print_private_bfd_data): calls to above
2068
c769947b
SS
2069Sun Nov 12 12:23:24 1995 Stan Shebs <shebs@andros.cygnus.com>
2070
2071 * Makefile.in (bfd_libs_here, etc): Provide empty definitions.
2072 * coff-rs6000.c (rs6000coff_vec): Add conditional defines
2073 TARGET_SYM and TARGET_NAME for vector and BFD name.
2074 * coff-pmac.c (pmac_xcoff_vec): Remove.
2075 (TARGET_SYM, TARGET_NAME): Define.
2076 * coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the
2077 machine to 0, not all PowerMacs are 601s.
2078
2079Fri Nov 10 12:10:14 1995 Ian Lance Taylor <ian@cygnus.com>
2080
2081 * elfcode.h (elf_object_p): Read in any program headers.
2082 * elf.c (_bfd_elf_make_section_from_shdr): Adjust section lma
2083 based on the program headers, if any.
2084 (elf_fake_sections): Set sh_addr from the vma, not the lma.
2085 (map_program_segments): Set p_paddr of program headers based on
2086 the lma.
2087
ee174815
ILT
2088Thu Nov 9 13:01:31 1995 Ian Lance Taylor <ian@cygnus.com>
2089
839087b7
ILT
2090 * archive.c (bfd_generic_archive_p): Preserve tdata in case of
2091 failure.
2092
922530a6
ILT
2093 * aoutx.h (NAME(aout,final_link)): Report a reasonable error when
2094 trying to do a relocateable link with a non-a.out object file.
2095
2096 * archive.c (bfd_generic_archive_p): Check the first object file
2097 in an archive even if target_defaulted is set. If the object file
2098 has the wrong xvec, reject it.
2099
a1774c51
ILT
2100 * aoutx.h (NAME(aout,set_section_contents)): If a section can not
2101 be represented, report the name via _bfd_error_handler.
2102 (translate_to_native_sym_flags): Likewise.
2103 * elf32-mips.c (mips_elf_final_link): Likewise.
2104 * oasys.c (oasys_write_sections): Likewise.
2105
4a378b13
ILT
2106 * coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version
2107 which checks for STYP_OVRFLO sections.
2108 (coff_compute_section_file_positions): If RS6000COFF_C, handle
2109 reloc and lineno count overflows.
2110 (coff_write_object_contents): Call coff_count_linenumbers before
2111 coff_compute_section_file_positions. If RS6000COFF_C, handle
2112 reloc and lineno count overflows.
2113 * xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and
2114 relocs before dealing with .pad sections. Count overflow section
2115 headers when handling .pad sections.
2116
7906bf87
ILT
2117 * coffcode.h (coff_write_object_contents): Set a.out vstamp to 1
2118 if RS6000COFF_C.
2119
ee174815
ILT
2120 * xcofflink.c (XCOFF_DESCRIPTOR): Define.
2121 (struct xcoff_link_hash_table): Add descriptor_section and
2122 special_sections fields.
2123 (_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields.
2124 (xcoff_link_add_symbols): Set linkage section alignment. Create
2125 descriptor section. Check for magic symbol names (_text, etc.),
2126 and record them in special_sections if found. Set
2127 XCOFF_DESCRIPTOR flag for a function descriptor, and set its
2128 descriptor field to point back to the function code symbol.
2129 (xcoff_sweep): Always mark the special descriptor_section.
2130 (bfd_xcoff_export_symbol): Check whether the symbol might be a
2131 function descriptor, and mark it if it is.
2132 (bfd_xcoff_size_dynamic_sections): Add new special_sections
2133 parameter, and fill it in. Allocate space for the descriptor
2134 section.
2135 (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining
2136 global linkage code. If an undefined function descriptor is
2137 exported, arrange to define it. Warn about any other undefined
2138 exported symbol.
2139 (_bfd_xcoff_bfd_final_link): Write out the descriptor section.
2140 (xcoff_write_global_symbol): Create a function descriptor when
2141 necessary.
2142 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
2143 * bfd-in2.h: Rebuild.
2144
0e829f18
KK
2145Thu Nov 9 08:40:23 1995 Kim Knuttila <krk@cygnus.com>
2146
2147 * coff-ppc.c (ppc_coff_link_hash_entry): new types for hashing
2148 (ppc_coff_link_hash_table): new types for hashing
2149 (ppc_coff_link_hash_newfunc): hash entry constructor
2150 (ppc_coff_link_hash_table_init): hash table initializer
2151 (ppc_coff_link_hash_table_create): hash table constructor
2152 (ppc_record_toc_entry): changed references to hash table
2153 (coff_ppc_relocate_section): changed references to hash table
2154
2155 * libcoff-in.h (coff_link_hash_entry): removed toc_offset
2156 * libcoff.h: Rebuild
2157
2158 * cofflink.c (_bfd_coff_link_hash_newfunc): removed toc_offset init
2159 (coff_link_add_symbols): removed toc_offset init
2160
7ac84736
KR
2161Thu Nov 9 04:00:38 1995 Ken Raeburn <raeburn@cygnus.com>
2162
b27cc4bc
KR
2163 * Makefile.in (.dep1): Make sure the file mkdep is to write exists
2164 first.
2165
7ac84736
KR
2166 * configure.in: Added new option --with[out]-mmap. Set USE_MMAP
2167 if it is given and mmep is available.
2168 * acconfig.h: Undef USE_MMAP.
2169 * configure, config.in: Regenerated.
2170 * aoutx.h: If USE_MMAP is not defined, do all symbol and string
2171 table handling the old way.
2172 (aout_get_external_symbols): Don't complain if last byte of string
2173 table is nonzero.
2174 * libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h.
2175 (bfd_free_window) [! USE_MMAP]: Don't define.
2176 (bfd_get_file_window,
2177 _bfd_generic_get_section_contents_in_window) [! USE_MMAP]: Abort.
2178
1b3b0c03
ILT
2179Wed Nov 8 20:03:44 1995 Eric Freudenthal <freudenthal@nyu.edu>
2180
2181 * coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than
2182 0xffff0000.
2183
092abcdf
ILT
2184Wed Nov 8 11:31:11 1995 Ian Lance Taylor <ian@cygnus.com>
2185
33698029
ILT
2186 * coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be
2187 compatible with AMD generated COFF files. Try to support both AMD
2188 and GNU formats simultaneously.
2189 (coff_a29k_relocate_section): Likewise.
2190
0bb8ff19
ILT
2191 * libbfd.c (bfd_get_file_window): Change writable parameter from
2192 int to boolean; update all callers. Pass MAP_SHARED if not
2193 writable--it's required on Solaris. Cast fprintf argument to
2194 avoid warning.
2195 * bfd-in.h (bfd_get_file_window): Update declaration.
2196 * bfd-in2.h: Rebuild.
2197 * aoutx.h: Update calls to bfd_get_file_window.
2198
0634a431
ILT
2199 * xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
2200 Change all uses.
2201 (xcoff_swap_ldhdr_in): New static function.
2202 (xcoff_swap_ldsym_in): New static function.
7812bf9c 2203 (xcoff_find_reloc): Handle the case of a single reloc correctly.
0634a431
ILT
2204 (xcoff_link_add_symbols): If we just created a descriptor, pass it
2205 to _bfd_generic_link_add_one_symbol, to save a hash lookup.
417acf22 2206 Handle XTY_ER/XMC_XO symbols correctly.
0634a431
ILT
2207 (xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols
2208 rather than normal symbol table.
417acf22
ILT
2209 (bfd_xcoff_import_symbol): It's not an error if the symbol is
2210 already defined with the same absolute value.
0634a431
ILT
2211 (xcoff_mark): When considering called symbols, check whether the
2212 descriptor is from a dynamic object, rather than the symbol
2213 itself.
2214 (xcoff_build_ldsyms): Likewise.
2215
092abcdf
ILT
2216 * libbfd.c (bfd_get_file_window): Change return type to boolean.
2217 Cast realloc and malloc return values. If malloc or realloc fail,
2218 set bfd_error_no_memory.
2219 * bfd-in.h (bfd_get_file_window): Change type to boolean.
2220 * bfd-in2.h: Rebuild.
2221
d6f41a7d
KK
2222Tue Nov 7 11:53:48 1995 Kim Knuttila <krk@cygnus.com>
2223
2224 * coff-ppc.c (ppc_record_toc_entry): new function.
2225 (in_reloc_p): changed return value.
2226 (coff_ppc_relocate_section): much rework.
2227 (ppc_allocate_toc_section): new function.
2228 (ppc_process_before_allocation): new function.
2229 (ppc_coff_swap_sym_in_hook): new function.
2230
2231 * cofflink.c (_bfd_coff_link_hash_newfunc): initialize toc_offset.
2232 (coff_link_add_symbols): initialize toc_offset.
2233
2234 * peicode.h (coff_swap_sym_in): Added coff_swap_sym_in_hook
2235 (coff_swap_aouthdr_out): Added more sections to the data
2236 dictionary for the pe file header. Also changed linker version
2237 number on the ppc side.
2238 (dir_names): small improvements to the dictionary printing.
2239 (pe_mkobject_hook): save the file level flags.
2240
2241 * libcoff-in.h (coff_link_hash_entry): added toc_offset field
2242 (pe_tdata): added real_flags field
2243 (coff_tdata): added local_toc_sym_map and access macro
2244
2245 * libcoff.h (coff_link_hash_entry): added toc_offset field
2246 (pe_tdata): added real_flags field
2247 (coff_tdata): added local_toc_sym_map and access macro
2248
2249 * coffcode.h (coff_set_alignment_hook): added hook for PE.
2250 (coff_mkobject): init for local_toc_sym_map
2251 (coff_write_object_contents): set the internal_a.magic to
2252 IMAGE_NT_OPTIONAL_HDR_MAGIC which appears to be what other
2253 ppc compilers use.
2254
6bc200f2
ILT
2255Tue Nov 7 13:48:58 1995 Ian Lance Taylor <ian@cygnus.com>
2256
c0971298
ILT
2257 * ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs
2258 entries until both the line number address and the function name
2259 address are too large.
2260
6a468850
ILT
2261 * configure.in: Call AC_CHECK_PROG to find and cache AR.
2262 * configure: Rebuilt.
2263
6bc200f2
ILT
2264 * aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it
2265 is defined in the environment.
2266
c44bf94c
JL
2267Tue Nov 7 10:57:24 1995 Jeffrey A Law (law@cygnus.com)
2268
2269 * som.c (som_get_section_contents_in_window): Define to use
2270 generic version.
2271
cf587de8
ILT
2272Mon Nov 6 17:13:15 1995 Harry Dolan <dolan@ssd.intel.com>
2273
2274 * coff-i860.c: New file, based on coff-i386.c.
2275 * cpu-i860.c: New file, based on cpu-i386.c.
2276 * hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
2277 * config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
2278 targets, using i860coff_vec.
2279 * configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
2280 trad-core.o and hosts/i860mach3.h.
2281 (i860coff_vec): Use coff-i860.o and cofflink.o.
2282 * configure: Rebuild.
2283 * Makefile.in: Rebuild dependencies.
2284 (ALL_MACHINES): Add cpu-i860.o.
2285 (BFD32_BACKENDS): Add coff-i860.o.
2286 (CFILES): Add cpu-i860.c and coff-i860.c.
2287 * targets.c (i860coff_vec): Declare.
2288 (bfd_target_vector): Add &i860coff_vec.
2289 * archures.c (bfd_i860_arch): Declare.
2290 (bfd_archures_list): Add &bfd_i860_arch.
2291 * coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
2292 (coff_set_flags): Handle bfd_arch_i860.
2293 (coff_write_object_contents): Handle I860 a.out magic number.
2294
83c23fca
ILT
2295Mon Nov 6 14:34:07 1995 Ian Lance Taylor <ian@cygnus.com>
2296
2297 * xcofflink.c (xcoff_link_add_symbols): Set the alignment power of
2298 the created .tc section to 2.
2299 (xcoff_mark): Don't keep a .loader reloc for a call to an
2300 undefined symbol when creating a shared library.
2301 (xcoff_build_ldsyms): When creating a shared library, generate
2302 global linkage code for a call to an undefined symbol.
2303
5d9eb9c3
KR
2304Sun Nov 5 21:44:13 1995 Ken Raeburn <raeburn@cygnus.com>
2305
2306 * Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES,
2307 BFD32_BACKENDS, BFD64_BACKENDS.
2308 (.dep1): Put mkdep output in a separate file.
2309 Rebuilt dependencies.
2310
ffacb892
KR
2311 * ecoff.c (_bfd_ecoff_slurp_armap): Cast _bfd_read_ar_hdr return
2312 value.
2313
4fe6d901
KR
2314 Permit use of mmap when available:
2315
2316 * configure.in: Check for mmap, madvise, mprotect.
2317 * config.in, configure: Regenerated.
2318
2319 * libbfd.c (struct _bfd_window_internal): Define type.
2320 (bfd_init_window, bfd_free_window, bfd_get_file_window): New
2321 functions.
2322 (ok_to_map): New static variable for debugging.
2323 (_bfd_generic_get_section_contents_in_window): New function.
2324 * bfd-in.h (bfd_window_internal): Declare type.
2325 (bfd_window): Define type.
2326 (bfd_init_window, bfd_free_window, bfd_get_file_window): Declare.
2327 * libbfd-in.h (_bfd_generic_get_section_contents_in_window):
2328 Declare.
2329
2330 * libaout.h (struct aoutdata): Add two window fields.
2331 (obj_aout_sym_window, obj_aout_string_window): New macros.
2332 * aoutx.h (some_aout_object_p): Initialize windows.
2333 (aout_get_external_symbols): Get symbol data and strings in
2334 windows instead of explicitly allocated buffers.
2335 (slurp_symbol_table): Free window instead of memory.
2336 (bfd_free_cached_info): Release windows instead of freeing storage
2337 directly.
2338 (aout_link_free_symbols): Ditto.
2339
2340 * targets.c (bfd_target): Add new field for
2341 get_section_contents_in_window.
2342 (BFD_JUMP_TABLE_GENERIC): Updated.
2343 * aout-adobe.c, aout-target.h, binary.c, bout.c, coff-alpha.c,
2344 coff-mips.c, elfxx-target.h, i386msdos.c, i386os9k.c, ieee.c,
2345 libcoff-in.h, oasys.c, srec.c, tekhex.c, versados.c: Added new
2346 macros for get_section_contents_in_window field.
2347
d9e771e3
FF
2348Sat Nov 4 12:23:26 1995 Fred Fish <fnf@cygnus.com>
2349
2350 * core.c: Renamed to corefile.c
2351 * makefile.dos (OBJS): Change core.o to corefile.o
2352 * Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c
2353
bf917766
SG
2354start-sanitize-gm
2355Sat Nov 4 10:16:54 1995 Stu Grossman (grossman@cygnus.com)
2356
2357 * config.bfd (mips*-*-magic*): Add bfd_elf32_bigmips_vec to
2358 targ_selvecs to allow debugging under Irix-5 native.
2359
2360end-sanitize-gm
583db7a8
ILT
2361Fri Nov 3 15:54:59 1995 Ian Lance Taylor <ian@cygnus.com>
2362
2363 * xcofflink.c (xcoff_link_add_symbols): Rename local variable sub
2364 to o. Clobber and restore the list of new csects around the call
2365 to _bfd_generic_link_add_one_symbol, in case it wants to report a
2366 linker error and the linker wants to read the symbol table. Reset
2367 the line number count of a real section even if it has no relocs.
2368 (_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag.
2369
2370 * coffgen.c (_bfd_coff_read_string_table): Warn if the string size
2371 is too small.
2372
68aed7db
ILT
2373Thu Nov 2 23:16:39 1995 Ian Lance Taylor <ian@cygnus.com>
2374
18a9609c
ILT
2375 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about
2376 an undefined symbol in a shared link.
2377
68aed7db
ILT
2378 * linker.c (_bfd_generic_link_add_one_symbol): Correct type of
2379 oldtype from bfd_link_order_type to bfd_link_hash_type. From
2380 phdm@info.ucl.ac.be (Philippe De Muyter).
2381
7f82c7e1
ILT
2382Wed Nov 1 14:26:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
2383
2384 * coff-m88k.c (rtype2howto): New static function.
2385 (RTYPE2HOWTO): Use it rather than a macro definition.
2386
2387 * coffcode.h (coff_write_object_contents): set internal_a.magic
2388 to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS).
2389
4c8b9746 2390 * configure.in: m68*-motorola-sysv* does not use ptrace-core.o;
7f82c7e1
ILT
2391 define TRAD_HEADER to new file hosts/delta68.h.
2392 m88*-motorola-sysv*, however, does use ptrace-core.o.
2393 * hosts/delta68.h: New file.
2394
2395 * ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to
2396 bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc.
2397
619c7730
KR
2398Wed Nov 1 13:51:54 1995 Ken Raeburn <raeburn@cygnus.com>
2399
2400 * i386linux.c (MY(vec)): Declare before use.
2401
73246ff8
ILT
2402Wed Nov 1 11:45:07 1995 Ian Lance Taylor <ian@cygnus.com>
2403
e8d6d5d0
ILT
2404 * reloc16.c (bfd_coff_reloc16_get_relocated_section_contents):
2405 Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases.
2406
b2193cc5
ILT
2407 * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
2408 BFD is not of the right type.
2409 (bfd_elf_get_needed_list): Likewise.
2410 * i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
2411 * sunos.c (bfd_sunos_get_needed_list): Likewise.
2412 * xcofflink.c (XCOFF_XVECP): Define.
2413 (bfd_xcoff_link_record_set): Don't do anything if the BFD is not
2414 of the right type.
2415 (bfd_xcoff_import_symbol): Likewise.
2416 (bfd_xcoff_export_symbol): Likewise.
2417 (bfd_xcoff_link_count_reloc): Likewise.
2418 (bfd_xcoff_record_link_assignment): Likewise.
2419 (bfd_xcoff_size_dynamic_sections): Likewise.
2420
baabeb74
ILT
2421 * sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
2422 table index against the number of symbols for a base relative
2423 reloc.
2424
73246ff8
ILT
2425 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
2426 static function.
2427 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
2428 full_aouthdr flag here...
2429 (_bfd_xcoff_bfd_final_link): ...not here.
2430
6ab826bd
FF
2431Tue Oct 31 12:52:02 1995 Fred Fish <fnf@cygnus.com>
2432
2433 * libelf.h: Rename to elf-bfd.h to avoid conflict with
2434 systems that have a system <libelf.h>.
2435 * Makefile.in: Globally replace libelf.h with elf-bfd.h.
2436 * bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c,
2437 elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c,
2438 elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c,
2439 elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c,
2440 elfxx-target.h: Include elf-bfd.h rather than libelf.h.
2441 * elfxx-target.h: Change libelf.h reference to elf-bfd.h.
2442
999cc186
ILT
2443Tue Oct 31 15:30:07 1995 David Mosberger-Tang <davidm@azstarnet.com>
2444
0652d579
ILT
2445 * ecoff.c (ecoff_set_symbol_info): Add new parameter weak. If
2446 set, set BSF_WEAK in symbol. Change all callers.
2447 (ecoff_get_extr): Set weakext based on BSF_WEAK.
2448 (ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to
2449 _bfd_generic_link_add_one_symbol.
2450 (ecoff_indirect_link_order): Check that the section tdata relocs
2451 are not NULL before using them.
2452
999cc186
ILT
2453 * configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
2454 define TRAD_HEADER as hosts/alphalinux.h.
2455 * configure: Rebuild.
2456 * hosts/alphalinux.h: New file.
2457 * trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
2458 not int.
2459
e6080520
ILT
2460Tue Oct 31 12:34:11 1995 Ian Lance Taylor <ian@cygnus.com>
2461
2bd0aeb9
ILT
2462 * coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and
2463 C_ECOMM storage classes.
2464
e6080520
ILT
2465 * xcofflink.c (xcoff_mark_symbol): New static function, broken out
2466 of xcoff_mark.
2467 (xcoff_mark): Call xcoff_mark_symbol.
2468 (bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
2469 (bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
2470 doing it by hand.
2471 (xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
2472
5fe14a9f
ILT
2473Mon Oct 30 14:53:48 1995 Ian Lance Taylor <ian@cygnus.com>
2474
f630a0a4
ILT
2475 * xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
2476 field.
2477 (xcoff_find_reloc): New static function.
2478 (xcoff_link_add_symbols): Use it.
2479 (_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
2480 (xcoff_link_input_bfd): Handle C_BINCL and C_EINCL. Don't
2481 relocate the value of C_DECL.
2482
5fe14a9f
ILT
2483 * elf.c (elf_fake_sections): Remove bogus BFD_ASSERT.
2484
dff77ed7
SC
2485Sat Oct 28 01:25:34 1995 steve chamberlain <sac@slash.cygnus.com>
2486
2487 * cofflink.c (_bfd_coff_generic_relocate_section): Make
2488 callback decide what goes in .relocs.
2489 * pe[i]-i386.c (TARGET_UNDERSCORE): Define.
2490 * peicode.h (pe_mkobject_hook): Only copy aouthdr if
2491 there is one.
2492
697a8fe8
ILT
2493Sat Oct 28 01:51:02 1995 Ian Lance Taylor <ian@cygnus.com>
2494
2495 * xcofflink.c (xcoff_link_add_symbols): Handle csects in the
2496 absolute section.
2497
2d7de17d
ILT
2498Fri Oct 27 18:14:39 1995 Ian Lance Taylor <ian@cygnus.com>
2499
2500 * xcofflink.c: More improvements, mostly to fix handling of
2501 constructors and a few other special cases.
2502 * coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
2503 zero, reverting yesterday's change.
2504 * bfd-in.h (bfd_xcoff_link_record_set): Declare.
2505 (bfd_xcoff_link_count_reloc): Declare.
2506 (bfd_xcoff_record_link_assignment): Declare.
2507 * bfd-in2.h: Rebuild.
2508
f552f751
NH
2509Fri Oct 27 14:42:15 1995 Niklas Hallqvist <niklas@appli.se>
2510
2511 * PORTING, aout-arm.c, aout-encap.c, aout-rce.c, aout-target.h,
2512 aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c
2513 i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c,
2514 i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c,
2515 ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c:
2516 Change PAGE_SIZE to TARGET_PAGE_SIZE.
2517
2518 * m68knetbsd.c: Ditto as well as add support for the m68k4k object
2519 format.
2520
2521 * netbsd.h: Double ditto (incl. m68k4k support). NetBSD's text
2522 segments includes the a.out header. See to that the magic number
2523 *always* is big-endian.
2524
2525 * config.bfd: Add m68*-hp*-netbsd* case. Cross-pollinate m68k and
2526 m68k4k NetBSD configurations.
2527
2528 * configure.in, configure: Separate i386 & mips NetBSD
2529 configurations from other BSD ones. Don't assume DEC is the only
2530 thing NetBSD/mips run on. Add {m68k,ns32k,sparc}-*-netbsd*
2531 configurations. Add support for m68k4k NetBSD object format.
2532
2533 * libaout.h: Added M_68K4K_NETBSD magic.
6fd1f40d
NH
2534
2535 * m68k4knetbsd.c: New file.
f552f751
NH
2536
2537 * hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P.
2538
2539 * hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to
2540 <machine/endian.h>.
2541
6fd1f40d
NH
2542 * hosts/mipsnbsd.h: New file.
2543
d6d44ef9
SG
2544start-sanitize-gm
2545Fri Oct 27 09:41:51 1995 Stu Grossman (grossman@cygnus.com)
2546
2547 * config.bfd: Add config stuff for mips*-*-magic* to set
2548 targ_defvec to ecoff_big_vec.
2549
2550end-sanitize-gm
867d923d
ILT
2551Thu Oct 26 14:16:47 1995 Ian Lance Taylor <ian@cygnus.com>
2552
2553 * xcofflink.c: Numerous changes to get closer to a working XCOFF
2554 linker.
2555 * libcoff-in.h (struct xcoff_tdata): Add full_aouthdr,
2556 toc_section, and entry_section fields.
2557 (struct xcoff_section_tdata): Remove ldrel_count field.
2558 * libcoff.h: Rebuild.
2559 * coffcode.h (coff_mkobject_hook): Initialize new xcoff_data
2560 fields.
2561 (coff_compute_section_file_positions): If RS6000COFF_C, generate
2562 full a.out header if full_aouthdr is set in xcoff_data.
2563 (coff_write_object_contents): Likewise. Set o_snentry and o_sntoc
2564 based on sections stored in xcoff_data.
2565 * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data
2566 fields.
aad2c618
ILT
2567 (xcoff_reloc_type_lookup): Handle BFD_RELOC_CTOR.
2568 (rs6000coff_vec): Set symbol_leading_char to '.'.
867d923d
ILT
2569 * coffgen.c (coff_get_symbol_info): If fix_value is set, fix the
2570 value stored in ret rather than returning a pointer value.
2571
6bd9ffdb
MM
2572Wed Oct 25 23:10:39 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2573
2574 * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Remove MAC
2575 format for now.
2576
9d14250f
JL
2577Wed Oct 25 16:19:27 1995 Jeffrey A Law (law@cygnus.com)
2578
2579 * som.c (som_slurp_string_table): Allocate the strings with malloc
2580 since they're free'd by free_cached_info.
2581 (som_slurp_symbol_table): Similarly for the symbol table.
2582
a2bd0529
PB
2583Wed Oct 25 14:59:22 1995 Per Bothner <bothner@kalessin.cygnus.com>
2584
2585 * Makefile.in (diststuff): Don't make headers.
2586
28a0c103
ILT
2587Wed Oct 25 11:32:54 1995 Ian Lance Taylor <ian@cygnus.com>
2588
356cd465
ILT
2589 * Makefile.in: Rebuild dependencies.
2590
1edd3a7b
ILT
2591 * sunos.c (bfd_sunos_record_link_assignment): Don't do anything if
2592 output_bfd is not SunOS.
2593 (bfd_sunos_size_dynamic_sections): Likewise. Don't scan relocs of
2594 non-SunOS input files.
2595
28a0c103
ILT
2596 * xcofflink.c: Extensive changes to support linking shared objects
2597 and generating a .loader section.
2598 * libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
b73322d9
ILT
2599 (struct xcoff_section_tdata): Add lineno_count, first_symndx,
2600 last_symndx, and ldrel_count fields.
28a0c103
ILT
2601 * libcoff.h: Rebuild.
2602 * coff-rs6000.c (xcoff_howto_table): Correct reloc names.
2603 * coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
2604 is set.
2605 * bfd-in.h (bfd_xcoff_import_symbol): Declare.
2606 (bfd_xcoff_export_symbol): Declare.
2607 (bfd_xcoff_size_dynamic_sections): Declare.
2608 * bfd-in2.h: Rebuild.
2609
aadf04f7
SS
2610Tue Oct 24 17:44:20 1995 Stan Shebs <shebs@andros.cygnus.com>
2611
2612 * configure.in: Add xcofflink.o to pmac_xcoff_vec.
2613 * configure: Rebuild.
2614 * mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
2615 * coff-pmac.c: Include coff-rs6000.c instead of duplicating its
2616 contents.
2617 (pmac_xcoff_vec): Update to use new xcoff support.
2618 * coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
2619 (xcoff_write_armap): Declare buf as unsigned char.
2620 * xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.
2621
2622 * mpw-make.sed: Generalize subdir_do edit.
2623
ddf4639b
JL
2624Tue Oct 24 10:25:01 1995 Jeffrey A Law (law@cygnus.com)
2625
2626 * hppabsd-core.c (make_bfd_asection): Initialize asect->filepos
2627 correctly. Don't initialize asect->vma.
2628
e7bedf65
KR
2629Fri Oct 20 13:23:48 1995 Ken Raeburn <raeburn@cygnus.com>
2630
2631 * opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use
2632 something a little less than the page size.
2633
2634Thu Oct 19 13:06:09 1995 Ian Lance Taylor <ian@cygnus.com>
2635
2636 * coff-i960.c (coff_i960_adjust_symndx): Clear *adjustedp.
2637
3a70e298
SC
2638Wed Oct 18 16:20:08 1995 steve chamberlain <sac@slash.cygnus.com>
2639
2640 * coff-i386.c (coff_i386_reloc_type_lookup): New.
2641 * coffcode.h (coff_write_object_contents): If .bss is before
2642 .data us that as data_start.
2643 * cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
2644 calc correct.
2645 * peicode.h (add_data_entry): Use _cooked_size of data directory.
2646 (coff_swap_outhdr_out): Hardwire in version number.
2647
5a2846e3
KR
2648Wed Oct 18 16:50:54 1995 Ken Raeburn <raeburn@cygnus.com>
2649
3c3a5268
KR
2650 * sunos.c (sunos_add_dynamic_symbols): Rename local variables
2651 major and minor to *_vno, since the former are also macros in
2652 SunOS header files. Cast result of bfd_alloc to appropriate
2653 type.
2654
5a2846e3
KR
2655 * coffgen.c (coff_find_nearest_line): Cast used_by_bfd value
2656 before assigning to sec_data.
2657
0f6c885e
ILT
2658Wed Oct 18 13:25:17 1995 Ian Lance Taylor <ian@cygnus.com>
2659
2660 * ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is
2661 now relative to the section, not absolute.
2662 * ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
2663 get the file name when there is a N_SO directory name. When
2664 handling stabs, remember that section->vma was added to the
2665 offset.
2666
11fa6636
ILT
2667Tue Oct 17 18:24:54 1995 Ian Lance Taylor <ian@cygnus.com>
2668
2669 * sunos.c (struct sunos_link_hash_table): Add needed field.
2670 (sunos_link_hash_table_create): Call bfd_release, not free.
2671 (sunos_link_hash_table_create): Initialize needed field.
2672 (sunos_add_dynamic_symbols): Record needed objects.
2673 (bfd_sunos_get_needed_list): New function.
2674 * bfd-in.h (bfd_sunos_get_needed_list): Declare.
2675 * bfd-in2.h: Rebuild.
2676
c974e19e
SC
2677Mon Oct 16 14:43:59 1995 steve chamberlain <sac@slash.cygnus.com>
2678
2679 * libcoff-in.h (pe_data_type.in_reloc_p): New.
2680
22a35f0b
ILT
2681Mon Oct 16 10:52:50 1995 Ian Lance Taylor <ian@cygnus.com>
2682
54406786
ILT
2683 * bfd-in.h (struct bfd_link_needed_list): Rename from
2684 bfd_elf_link_needed_list.
2685 * bfd-in2.h: Rebuild.
2686 * elf.c, elflink.h, libelf.h: Corresponding changes.
2687
dd984644
ILT
2688 Add start at AIX linker support; no shared libraries yet.
2689 * xcofflink.c: New file.
2690 * configure.in (rs600coff_vec): Use xcofflink.o.
2691 * configure: Rebuild.
2692 * libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices
2693 fields.
2694 (struct xcoff_section_tdata): Define.
2695 (xcoff_section_data): Define macro.
2696 (_bfd_xcoff_bfd_link_hash_table_create): Declare.
2697 (_bfd_xcoff_bfd_link_add_symbols): Declare.
2698 (_bfd_xcoff_bfd_final_link): Declare.
2699 (_bfd_ppc_xcoff_relocate_section): Declare.
2700 * libcoff.h: Rebuild.
2701 * coff-rs6000.c: Clean up a bit.
2702 (xcoff_mkobject): Default modtype to 1L, not RE. Initialize
2703 cputype, csects, and debug_indices.
2704 (xcoff_copy_private_bfd_data): Copy cputype.
2705 (xcoff_howto_table): Rename from rs6000coff_howto_table.
2706 (xcoff_rtype2howto): Rename from rs6000coff_rtype2howto.
2707 (xcoff_reloc_type_lookup): Rename from
2708 rs6000coff_reloc_type_lookup.
2709 (coff_relocate_section): Define.
2710 (_bfd_xcoff_sizeof_headers): Define.
2711 (_bfd_xcoff_bfd_get_relocated_section_contents): Define.
2712 (_bfd_xcoff_bfd_relax_section): Define.
2713 (_bfd_xcoff_bfd_link_split_section): Define.
2714 (rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not
2715 coff.
2716 * coffcode.h (coff_compute_section_file_positions): If AIX,
2717 increment sofar by SMALL_AOUTSZ if not executable.
2718 (coff_write_object_contents): If AIX, always output an a.out
2719 header; if not executable, header size of SMALL_AOUTSZ.
2720 * hash.c (struct bfd_strtab_hash): Add xcoff field.
2721 (_bfd_stringtab_init): Initialize xcoff field.
2722 (_bfd_xcoff_stringtab_init): New function.
2723 (_bfd_stringtab_add): In XCOFF mode, leave two bytes for length.
2724 (_bfd_stringtab_emit): In XCOFF mode, write out length.
2725 * libbfd-in.h (_bfd_xcoff_stringtab_init): Declare.
2726 * libbfd.h: Rebuild.
2727 * Makefile.in: Rebuild dependencies.
2728 (BFD32_BACKENDS): Add xcofflink.o.
2729 (CFILES): Add xcofflink.c.
2730
22a35f0b
ILT
2731 * elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not
2732 SEC_NO_FLAGS, for .acommon section. From Peter Schauer
2733 <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>.
2734
fb417a21
MM
2735Sat Oct 14 21:36:02 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2736
2737 * coff-ppc.c (in_reloc_p): Add, clone from coff-i386.c.
2738
2739Fri Oct 13 17:48:43 1995 Ken Raeburn <raeburn@cygnus.com>
2740
2741 * acconfig.h (HAVE_SYS_PROCFS_H): Undef, with comment.
2742 * config.in: Regenerated.
2743
2744 * opncls.c (getpagesize) [!HAVE_GETPAGESIZE]: Define as 2048.
2745 (_bfd_chunksize): New variable.
2746 (_bfd_new_bfd): Set it to getpagesize() if negative, and use it
2747 for obstack chunk size.
2748 * configure.in: Check for getpagesize.
2749 * configure: Regenerated.
2750
2751 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2752
2753 * trad-core.c (rawptr): Make it a local variable of
2754 ptrace_unix_core_file_p.
2755
b1e46369
SC
2756Fri Oct 13 11:22:01 1995 steve chamberlain <sac@slash.cygnus.com>
2757
2758 * coff-arm.c (in_reloc_p): New.
2759 * coff-i386.c (in_reloc_p): New.
2760 * coffcode.h: Allways include peicode.h if COFF_WITH_PE.
2761 (coff_write_object_contents): Only set has_reloc_section
2762 if PE_IMAGE.
2763 * cofflink.c (_bfd_coff_generic_relocate_section): Call
2764 in_reloc_p to decide if reloc should be emitted.
2765 * libcoff.h (pe_data_type.in_reloc_p): New.
2766 * peicode.h (pe_mkobject): Initialize in_reloc_p.
2767
ee9f09cd
ILT
2768Wed Oct 11 00:49:29 1995 Ian Lance Taylor <ian@cygnus.com>
2769
b1e46369
SC
2770 * cofflink.c (_bfd_coff_internal_syment_name): Move to coffgen.c.
2771 (_bfd_coff_read_internal_relocs): Likewise.
2772 * coffgen.c (_bfd_coff_internal_syment_name): Copy from coffgen.c.
2773 (_bfd_coff_read_internal_relocs): Likewise.
2774
ee9f09cd
ILT
2775 * elflink.h (elf_link_add_object_symbols): Correct conditions
2776 under which type and size change warnings are issued.
2777
78b31b6b
ILT
2778Tue Oct 10 18:32:46 1995 Ian Lance Taylor <ian@cygnus.com>
2779
2780 * coffgen.c (coff_count_linenumbers): Don't count line numbers for
2781 a symbol which is not in a real section.
2782 (coff_write_native_symbol): Corresponding change.
2783
2784 * cofflink.c (_bfd_coff_link_hash_newfunc): Rename from
2785 coff_link_hash_newfunc and make non-static.
2786 (_bfd_coff_link_hash_table_init): New function, broken out of
2787 _bfd_coff_link_hash_table_create.
2788 (_bfd_coff_link_hash_table_create): Use it.
2789 (process_embedded_commands): Make static.
2790 * libcoff-in.h ((_bfd_coff_link_hash_newfunc): Declare.
2791 (_bfd_coff_link_hash_table_init): Declare.
2792 * libcoff.h: Rebuild.
2793
2794 * coffcode.h (coff_mkobject_hook): If RS6000COFF_C, set cputype
2795 field in XCOFF tdata.
2796 (coff_set_arch_mach_hook): Check ifdef RS6000COFF_C, not ifdef
2797 U802ROMAGIC, for clarity. Try to set arch and machine correctly
2798 based on cputype stored in a.out header, or in n_type of initial
2799 .file symbol.
2800 (coff_write_object_contents): Set cputype correctly in a.out
2801 header.
2802 (coff_slurp_symbol_table): Add casts to file_ptr to avoid
2803 warnings.
2804 * coffswap.h (coff_swap_aouthdr_in): Swap in cputype field.
2805 (coff_swap_aouthdr_out): Swap out cputype field. Don't clear
2806 old resv1 field.
2807 * libcoff-in.h (struct xcoff_tdata): Add cputype field.
2808 * libcoff.h: Rebuild.
2809
2810 * cpu-rs6000.c (rs6000_compatible): New static function.
2811 (bfd_rs6000_arch): Use it.
2812 * cpu-powerpc.c (powerpc_compatible): New static function.
2813 (arch_info_struct): Define various flavours of PowerPC.
2814 (bfd_powerpc_arch): Use powerpc_compatible. Point at
2815 arch_info_struct.
2816
9dd7e56f
FF
2817Tue Oct 10 10:50:46 1995 Fred Fish <fnf@cygnus.com>
2818
78b31b6b 2819 * Makefile.in (FLAGS_TO_PASS): Remove BISON.
9dd7e56f 2820
8235c112
ILT
2821Tue Oct 10 01:28:29 1995 Ian Lance Taylor <ian@cygnus.com>
2822
2823 * elflink.h (elf_link_add_object_symbols): Don't warn about
2824 changing the size or type if the old definition was weak.
2825
0322af0d
ILT
2826Mon Oct 9 11:24:08 1995 Ian Lance Taylor <ian@cygnus.com>
2827
49488f2b
ILT
2828 * coffcode.h (combined_entry_type): Add fix_line field.
2829 (coff_slurp_line_table): Warn if we try to set the lineno field of
2830 a symbol twice.
2831 (coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and
2832 C_EINCL by setting fix_line. Fix C_BSTAT symbol value.
2833 * coffgen.c (coff_mangle_symbols): Handle fix_line.
2834 (coff_write_symbol): Only use N_DEBUG if the symbol is in the
2835 absolute section.
2836 (coff_print_symbol): Print fix_value symbols in a useful fashion.
2837 * libcoff.h: Rebuild.
2838
5f710a3a
ILT
2839 * libcoff-in.h (struct xcoff_tdata): Define.
2840 (xcoff_data): Define.
2841 * bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
2842 * bfd-in2.h, libcoff.h: Rebuild.
2843 * coff-rs6000.c (xcoff_mkobject): New static function.
2844 (coff_mkobject): Define.
2845 (xcoff_copy_private_bfd_data): New static function.
2846 (coff_bfd_copy_private_bfd_data): Define.
2847 (rs6000coff_howto_table): Change R_TOC complain_on_overflow from
2848 signed to bitfield.
2849 (rs6000coff_vec): Add DYNAMIC to object_flags.
2850 * coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
2851 .loader sections specially.
2852 (coff_new_section_hook): If RS6000COFF_C, get the .text and .data
2853 section alignment from the XCOFF tdata information.
2854 (coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
2855 F_SHROBJ, and copy the extra a.out header information into the
2856 XCOFF tdata structure.
2857 (coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
2858 F_DYNLOAD and the extra a.out header information.
2859 (coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
2860 C_HIDEXT symbol with attached csect information.
2861 * coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
2862 in the o_maxdata field.
2863 (coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
2864 * coffgen.c (coff_renumber_symbols): Don't move any symbol to the
2865 end if BSF_NOT_AT_END is set.
3f2c5b2d 2866
0322af0d
ILT
2867 * targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
2868 _bfd_read_ar_hdr_fn.
2869 * libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
2870 * bfd-in2.h, libbfd.h: Rebuild.
2871 * archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr
2872 return value.
2873 (do_slurp_bsd_armap, do_slurp_coff_armap): Likewise.
2874 (bfd_slurp_bsd_armap_f2): Likewise.
2875 (_bfd_slurp_extended_name_table): Likewise.
2876
3266eaff
KR
2877Fri Oct 6 16:18:35 1995 Ken Raeburn <raeburn@cygnus.com>
2878
2879 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2880
2881 * archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS
2882 when the symbol table is empty.
2883
2884 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve
2885 space for section symbols, since we don't output them either.
2886 (elf_m68k_adjust_dynindx): Removed.
2887
2888 * ptrace-core.c (rawptr): Make it a local variable of
2889 ptrace_unix_core_file_p.
3266eaff 2890
249479fa
MM
2891Fri Oct 6 12:24:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2892
45b5d2f0
MM
2893 * coff-rs6000.c (xcoff_write_archive_contents): Return false, not
2894 NULL.
2895
249479fa
MM
2896 * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and
2897 Mac object file formats.
2898
c53fac12
ILT
2899Fri Oct 6 12:04:02 1995 Ian Lance Taylor <ian@cygnus.com>
2900
4372f33f
ILT
2901 * coffgen.c (coff_fix_symbol_name): Don't try to set up file
2902 auxent if there isn't one.
2903 (coff_write_symbols): If there is no file auxent, use SYMNMLEN
2904 rather than FILNMLEN as the maximum name length.
2905
0fc9ada9
ILT
2906 * coffcode.h (bfd_coff_backend_data): Add new field
2907 _bfd_coff_print_aux.
2908 (bfd_coff_print_aux): New static function.
2909 (coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the
2910 scnlen field of an XTY_LD csect aux entry.
2911 (coff_print_aux): New static function.
2912 (coff_slurp_symbol_table): Don't pointerize scnlen field; now done
2913 in coff_pointerize_aux_hook.
2914 (bfd_coff_std_swap_table): Initialize new field.
2915 * coffgen.c (coff_print_symbol): Call bfd_coff_print_aux.
2916 * libcoff.h: Rebuild.
2917 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
2918 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2919
7860fe38
ILT
2920 * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG
2921 if there are symbols, for native AIX ld compatibility.
2922
c80cc833
ILT
2923 * coffcode.h (bfd_coff_backend_data): Add new field
2924 _bfd_coff_pointerize_aux_hook.
2925 (coff_pointerize_aux_hook): Define as a function if RS6000COFF_C
2926 or I960, and as 0 otherwise.
2927 (bfd_coff_std_swap_table): Initialize new field.
2928 * libcoff.h: Rebuild.
2929 * coffgen.c (coff_pointerize_aux): Change parameters to take
2930 symbol pointer instead of type and class, and to take aux index.
2931 Call _bfd_coff_pointerize_aux_hook if it is defined.
2932 (coff_get_normalized_symtab): Always call coff_pointerize_aux.
2933 * coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields.
2934 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2935
c53fac12
ILT
2936 * coff-rs6000.c: Add full support for AIX archives. Rewrite old
2937 read-only/host-only support.
2938
2939 * coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be
2940 BSF_LOCAL.
d11e6b52
ILT
2941 (OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if
2942 RS6000COFF_C.
c53fac12
ILT
2943
2944 * targets.c (bfd_target): Add _bfd_read_ar_hdr field. Modify
2945 BFD_JUMP_TABLE_ARCHIVE accordingly.
2946 * libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
2947 (_bfd_compute_and_write_armap): Declare.
2948 (_bfd_generic_read_ar_hdr): Declare.
2949 (_bfd_read_ar_hdr): Define.
2950 (_bfd_noarchive_read_ar_hdr): Define.
2951 (_bfd_archive_bsd_read_ar_hdr): Define.
2952 (_bfd_archive_coff_read_ar_hdr): Define.
2953 * archive.c: Change all callers of _bfd_snarf_ar_hdr to call
2954 _bfd_read_ar_hdr instead.
2955 (_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
2956 (_bfd_compute_and_write_armap): Rename from
2957 compute_and_write_armap. Make non-static. Change all callers.
2958 * ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
2959 than _bfd_snarf_ar_hdr.
2960 * aout-target.h (MY_read_ar_hdr): Define if not defined.
2961 * ieee.c (ieee_read_ar_hdr): Define.
2962 * libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
2963 * oasys.c (oasys_read_ar_hdr): Define.
2964 * som.c (som_read_ar_hdr): Define.
2965 * bfd-in2.h, libbfd.h: Rebuild.
2966
f8e47484
SC
2967Thu Oct 5 14:04:07 1995 steve chamberlain <sac@slash.cygnus.com>
2968
2969 * peicode.c (coff_swap_filehdr_in): If symptr is
2970 zero, there aren't any symbols, even if nsyms is set.
2971
2b874a2d
ILT
2972Thu Oct 5 11:45:02 1995 Ian Lance Taylor <ian@cygnus.com>
2973
aca73687
ILT
2974 * libecoff.h (struct ecoff_backend_data): Add adjust_headers
2975 field.
2976 * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
2977 sections, and set styp correctly for them: .got, .hash, .dynamic,
2978 .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
2979 (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
2980 types.
2981 (ecoff_sort_hdrs): New static function.
2982 (ecoff_compute_section_file_positions): Return boolean, not void.
2983 Sort the sections by VMA before looking through them. Put the
2984 first non SEC_ALLOC section on a new page. Put every SEC_ALLOC
2985 section on an appropriate boundary within the page.
2986 (ecoff_compute_reloc_file_positions): Check return value of
2987 ecoff_compute_section_file_positions.
2988 (_bfd_ecoff_set_section_contents): Likewise.
2989 (_bfd_ecoff_write_object_contents): Check for various Alpha
2990 section types when incrementing text_size and data_size. Call
2991 adjust_headers backend function if it exists.
2992 * coff-alpha.c (alpha_adjust_headers): New static function.
2993 (alpha_ecoff_backend_data): Initialize adjust_headers field.
2994 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2995
2b874a2d
ILT
2996 * hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6.
2997
c780e5db
JL
2998Wed Oct 4 18:15:02 1995 Jeff Law (law@hurl.cygnus.com)
2999
3000 * rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead
3001 of ALTERNATE_AIX_CORE_FORMAT.
3002 * configure.in (aix4): No longer need CORE_FLAGS.
3003 * configure: Updated.
3004
2a01c351
KR
3005Wed Oct 4 15:36:36 1995 Ken Raeburn <raeburn@cygnus.com>
3006
3007 NS32k changes from Ian Dall:
3008 * aoutx.h (MY_final_link_relocate, MY_relocate_contents): New
3009 macros.
3010 (aout_link_input_section_std, aout_link_input_section_ext,
3011 aout_link_reloc_link_order): Call them instead of _bfd_*
3012 versions.
3013 * aout-target.h (MY_exec_header_not_counted): New macro, defaults
3014 to zero.
3015 (backend_data): Use it instead of hardcoded zero.
3016
3017 * aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
3018 (MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
3019
3020 * ns32knetbsd.c: Include bfd.h.
3021 (MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
3022 (MY_bfd_reloc_type_lookup): Declare function too.
3023 * pc532-mach.c (set_sizes): Don't declare.
3024 (MY_text_includes_header, MY_exec_header_not_counted): Define.
3025 (backend_data, MY_backend_data): Don't define.
3026
3027 * config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
3028 ns32k-*-lites* like ns32k-*-netbsd*.
3029
3030 * hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to
3031 compile on lites.
3032
5944d75b
ILT
3033Wed Oct 4 14:15:52 1995 Ian Lance Taylor <ian@cygnus.com>
3034
3035 * coffcode.h (coff_write_object_contents): Restore setting
3036 f_timdat to 0, deleted on August 22.
3037
db344f82
SC
3038Tue Oct 3 16:28:32 1995 steve chamberlain <sac@slash.cygnus.com>
3039
3040 * coffcode.h (coff_bfd_copy_private_symbol_data,
3041 coff_bfd_copy_private_section_data,
3042 coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
3043 * peicode.h (coff_bfd_copy_private_bfd_data): New
3044 (pe_bfd_copy_private_bfd_data): New.
3045 (coff_swap_scnhdr_in): Swap bss size into the right place.
3046 (pe_print_private_bfd_data): Add some newlines.
5944d75b 3047
c780e5db 3048Tue Oct 3 11:53:04 1995 Jeff Law (law@hurl.cygnus.com)
97f1feda
JL
3049
3050 * som.c (setup_sections): Don't die if a space has no subspaces.
3051
3d7c42c9
ILT
3052Mon Oct 2 14:08:55 1995 Ian Lance Taylor <ian@cygnus.com>
3053
3054 * elflink.h (elf_link_add_object_symbols): Don't let a weak
3055 dynamic symbol override a common symbol. Don't change the size or
3056 type if they have been set and the new symbol is not a definition.
3057 Warn if the size or type changes.
3058
c780e5db 3059Sun Oct 1 01:34:41 1995 Jeff Law (law@hurl.cygnus.com)
709af562
JL
3060
3061 * som.c (som_begin_writing): Don't write the symbol table or
3062 symbol strings.
3063 (som_finish_writing): Write them here. Place them after the
3064 subspace data, but before the relocs.
3065
3066Fri Sep 29 11:01:55 1995 Ian Lance Taylor <ian@cygnus.com>
3067
3068 * sunos.c (sunos_add_one_symbol): Just pass false, not
3069 info->shared_library, to sunos_create_dynamic_sections.
3070 (sunos_scan_ext_relocs): Don't warn about a reloc in the .text
3071 section.
3072 (sunos_check_dynamic_reloc): Remove .text section assertion.
3073
7009e451
SS
3074Thu Sep 28 18:48:47 1995 Stan Shebs <shebs@andros.cygnus.com>
3075
3076 * config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*.
3077 * configure, configure.in: Add pmac_xcoff_vec case.
3078 * Makefile.in (BFD32_BACKENDS): Add coff-pmac.o.
3079 * coff-pmac.c: New file, PowerMac XCOFF support.
3080 * coffcode.h (coff_set_arch_mach_hook): Add PowerMac case.
3081 * targets.c (pmac_xcoff_vec): Declare.
3082
3083 * mpw-config.in: Various changes to be compatible with the
3084 autoconf-based configury.
3085 * mpw-make.sed: New file, sed commands to translate Unix
3086 makefile into MPW syntax.
3087 * mpw-make.in: Remove.
3088 * hosts/mpw.h: Remove.
3089 * bfd-in.h, bfd-in2.h: If MPW, include the file that defines
3090 true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED.
3091
b91537be
SC
3092Thu Sep 28 17:06:23 1995 steve chamberlain <sac@slash.cygnus.com>
3093
3094 * binary.c (binary_get_symtab): Return an empty string on error.
3095 * opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB.
3096
30360a6f
KK
3097Thu Sep 28 15:30:44 1995 Kim Knuttila <krk@nellie>
3098
3099 * coff-ppc.c: Reformatted according to gnu conventions
3100 Removed irrelevant "if 0" code
3101
20d1e233
ILT
3102Thu Sep 28 11:19:53 1995 Ian Lance Taylor <ian@cygnus.com>
3103
69fd4fdd
ILT
3104 * hp300hpux.c (convert_sym_type): Treat secondary symbols as weak
3105 symbols rather than as indirect symbols.
3106 (MY(slurp_symbol_table)): Don't do anything special about
3107 secondary symbols.
3108
46b5a892
ILT
3109 * coffcode.h (coff_new_section_hook): Make sure that the alignment
3110 of .ctors and .dtors sections is no larger than 2.
3111
9db59230
ILT
3112 * sunos.c (sunos_add_one_symbol): Don't change
3113 bfd_link_hash_common to bfd_link_hash_new, since it may be on the
3114 undef list.
3115 (bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the
3116 dynamic symbols when creating a shared library.
3117 (sunos_scan_ext_relocs): Handle relocs correctly when creating a
3118 shared library.
3119 (sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as
3120 written even if it is not defined in a regular object.
3121 (sunos_write_dynamic_symbol): Use plt_offset for the address of
3122 the jump table reloc. Add an assertion. Use RELOC_JMP_SLOT
3123 rather than the constant 22.
3124 (sunos_check_dynamic_reloc): Handle creating a shared library.
3125 (sunos_finish_dynamic_link): Set the first entry in the GOT to
3126 zero when creating a shared library.
3127 * aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC,
3128 write it out at the start of the symbol table.
3129
20d1e233
ILT
3130 * Makefile.in (BFD32_BACKENDS): Add coff-arm.o.
3131
a11e10fe
DE
3132Thu Sep 28 00:58:05 1995 Doug Evans <dje@deneb.cygnus.com>
3133
3134 * config.bfd: Add arm-*-coff.
3135 * configure.in, configure: Add armcoff_{little,big}_vec.
3136 * targets.c (armcoff_{little,big}_vec): Declare.
3137 (bfd_target_vector): Add armcoff_{little,big}_vec.
3138 * coff-arm.c (armcoff_{little,big}_vec): Always define.
3139
99062cfc
ILT
3140Wed Sep 27 10:37:14 1995 Ian Lance Taylor <ian@cygnus.com>
3141
3142 * targets.c (bfd_find_target): Remove debugging code.
3143
deacbe0f
KK
3144Wed Sep 27 07:23:39 1995 Kim Knuttila <krk@nellie>
3145
3146 * coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE
3147 support on powerpc.
3148 * Makefile.in: added *-ppc files
3149 * coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to
3150 allow pe based .o's to be shared with other tools on ppc/NT
3151 * config.bfd: added powerpc[le]-[pe|winnt] config support
3152 * configure, configure.in: added bfd_powerpc[le]_pe[i]_vec
3153 * peicode.h: Added more section flags for PE on ppc
3154 Added coff_swap_filehdr_out to allow peicode.h to be
3155 used for non-image PE files on ppc.
3156 Check for image, or not, before copying pe_opthdr
3157 * targets.c: Added new bfd's
30360a6f
KK
3158 * targets.c: Removed two inactive bfds that shouldn't have made it this
3159 far.
deacbe0f 3160
d22b02e0
MM
3161Tue Sep 26 14:06:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
3162
3163 * elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use
3164 explicit values to initialize all relocs. Change all users.
3165 (ppc_elf_brtaken_inner): New function to handle branch predicition
3166 relocs.
3167 (ppc_elf_brtaken_reloc): Ditto.
3168 (ppc_elf_howto_raw): Use new functions. Make sure all unsupported
3169 relocs use ppc_elf_unsupported_reloc.
3170 (ppc_elf_merge_private_bfd_data): Keep track of whether an error
3171 needs to be reported.
3172 (ppc_elf_relocate_section): Support branch prediction relocs.
3173
fcf490c0
ILT
3174Tue Sep 26 12:48:05 1995 Ian Lance Taylor <ian@cygnus.com>
3175
e6cb7b41
ILT
3176 * bfd.c (bfd_assert): Remove \n from string passed to
3177 _bfd_error_handler.
3178
1af85fbb
ILT
3179 * coff-i386.c: (TWO_DATA_SECS): Don't define.
3180 * coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook.
3181 (bfd_coff_make_section_hook): Don't define.
3182 (coff_make_section_hook): Remove.
3183 (sec_to_styp_flags): Remove TWO_DATA_SECS case.
3184 (styp_to_sec_flags): Likewise.
3185 (coff_write_object_contents): Likewise.
3186 (bfd_coff_std_swap_table): Don't initialize make_section_hook
3187 field.
3188 * libcoff.h: Rebuild.
3189 * coffgen.c (make_a_section_from_file): Just call
3190 bfd_make_section_anyway, not bfd_make_section or
3191 bfd_coff_make_section_hook.
3192 * ecoff.c (_bfd_ecoff_make_section_hook): Remove.
3193 * libecoff.h (_bfd_ecoff_make_section_hook): Don't declare.
3194 * coff-alpha.c (alpha_ecoff_backend_data): Don't initialize
3195 make_section_hook field.
3196 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3197
fcf490c0
ILT
3198 * aoutx.h (translate_from_native_sym_flags): Don't try to stuff
3199 pointers into value field for warning and indirect symbols; just
3200 leave the value field alone.
3201 * linker.c (generic_link_add_symbol_list): Use next symbol for
3202 warning and indirect symbols, rather than looking in symbol value.
3203 * ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
3204 parameter. Change all callers. Remove support for indirect
3205 symbols; it didn't work anyhow.
3206 (_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
3207 * syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
3208 * bfd-in2.h: Rebuild.
3209
cc47d19a
MM
3210Mon Sep 25 16:04:09 1995 Michael Meissner <meissner@tiktok.cygnus.com>
3211
3212 * elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs,
3213 go back to telling the tools this reloc operates on 32 bits.
3214
81449d47
ILT
3215Mon Sep 25 11:48:02 1995 Ian Lance Taylor <ian@cygnus.com>
3216
7a7fbffb
ILT
3217 * aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler
3218 rather than a direct fprintf.
3219 * archive.c (_bfd_write_archive_contents): Likewise.
3220 * coffcode.h (coff_slurp_symbol_table): Likewise.
3221 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise.
3222 (ppc_elf_unsupported_reloc): Likewise.
3223 (ppc_elf_relocate_section): Likewise.
3224 * i386linux.c (linux_tally_symbols): Likewise.
3225 (linux_finish_dynamic_link): Likewise.
3226 * osf-core.c (osf_core_core_file_p): Likewise.
3227 * rs6000-core.c (rs6000coff_get_section_contents): Likewise.
3228 * som.c (som_sizeof_headers): Likewise.
3229 * srec.c (srec_bad_byte): Likewise.
3230 * bfd.c (bfd_assert): Likewise. Also change file to be const.
3231 * libbfd-in.h (bfd_assert): Declare first parameter const.
3232 * libbfd.h: Rebuild.
3233 * coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning
3234 bfd_reloc_overflow is enough.
3235 * coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort.
3236 * coff-h8500.c (rtype2howto): Likewise.
3237 * coff-z8k.c (rtype2howto): Likewise.
3238 * coffcode.h (dummy_reloc16_extra_cases): Likewise.
3239 * elf.c (_bfd_elf_get_lineno): Likewise.
3240 (_bfd_elf_no_info_to_howto): Likewise.
3241 (_bfd_elf_no_info_to_howto_rel): Likewise.
3242 * hp300hpux.c (convert_sym_type): Likewise.
3243 (MY(swap_std_reloc_in)): Likewise.
3244 * elf.c (bfd_section_from_shdr): Remove #if 0 sections.
3245
f1c6dd5d
ILT
3246 * libaout.h (struct aoutdata): Add line_buf field.
3247 * aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
3248 and filename_buffer. Instead, use a malloc buffer stored in the
3249 new line_buf field. Remove length restrictions.
3250
f0500a41
ILT
3251 * coffgen.c (string_size): Remove static variable.
3252 (debug_string_size, debug_string_section): Likewise.
3253 (coff_fix_symbol_name): Add string_size_p, debug_string_section_p,
3254 and debug_string_size_p parameters. Use them instead of the
3255 global variables. Change all callers.
3256 (coff_write_symbol): Likewise.
3257 (coff_write_alien_symbol, coff_write_native_symbol): Likewise.
3258 (coff_write_symbols): Add local variables to replace removed
3259 global variables.
3260
25b5a53d
ILT
3261 * libcoff-in.h (struct coff_section_tdata): Add offset, i,
3262 function, and line_base fields.
3263 * libcoff.h: Rebuild.
3264 * coffgen.c (coff_find_nearest_line): Use section tdata to cache
3265 information, rather than using static variables.
3266
641ac26a
ILT
3267 * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
3268 file. From Peter DeWolf <pld@amt.tay1.dec.com>.
3269
81449d47
ILT
3270 * init.c (initialized): Remove static variable.
3271 (bfd_init): Don't bother setting initialized.
3272 (bfd_check_init): Remove.
3273 * opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
3274 * libbfd.h: Rebuild.
3275
138b9b81
PS
3276Sat Sep 23 01:22:23 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3277
3278 * rs6000-core.c (rs6000coff_core_p): Don't check the core file
3279 size for full core dumps. Copy core file header to private data.
3280 (rs6000coff_core_file_failing_command,
3281 rs6000coff_core_file_failing_signal): New functions to extract
3282 the file name and terminating signal from the core file.
3283 * coff-rs6000.c: Use them.
3284
2ffbb79a
ILT
3285Fri Sep 22 17:44:47 1995 Ian Lance Taylor <ian@cygnus.com>
3286
3287 Change arch info to be const, initialized at compile time.
3288 * archures.c: Reindent many functions. Change CONST to const.
3289 (bfd_arch_info_type): Make arch_name const. Remove disassemble;
3290 nothing set it anyhow. Make next const.
3291 (bfd_arch_info_list): Remove.
3292 (bfd_archures_list): Rename from archures_init_table. Change from
3293 a table of function pointers to a table of bfd_arch_info_type
3294 structure addresses.
3295 (bfd_scan_arch): Rewrite accordingly. Return a const pointer.
3296 (bfd_lookup_arch): Likewise.
3297 (bfd_set_arch_info): Rewrite accordingly. Change argument to be a
3298 const pointer.
3299 (bfd_default_arch_struct): Make const.
3300 (bfd_arch_init, bfd_arch_linkin): Remove.
3301 (bfd_get_arch_info): Return a const pointer.
3302 * init.c (bfd_init): Don't call bfd_arch_init.
3303 * bfd.c (struct _bfd): Make arch_info const.
3304 * bfd-in2.h: Rebuild.
3305 * libbfd.h: Rebuild.
3306 * configure.in: Put & before everything in $selarchs.
3307 * configure: Rebuild.
3308 * cpu-*.c: Change bfd_*_arch from a function which calls
3309 bfd_arch_linkin to a const structure.
3310 * ieee.c (ieee_object_p): Make arch const.
3311
02f85cda
MM
3312Fri Sep 22 16:23:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
3313
3314 * reloc.c (bfd_reloc_code_type): Add relocations to support all of
3315 PowerPC V.4.
3316 * bfd-in2.h: Regenerate.
3317 * libbfd.h: Regenerate.
3318
3319 * elf32-ppc.c (reloc_type): Update names to match current draft.
3320 (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
3321 relative. Update names to current V.4 draft.
3322 (ppc_elf_reloc_type_lookup): Add support for more relocations.
3323 (ppc_elf_relocate_section): Rename relocations to match draft.
3324
dd82c578
MM
3325Thu Sep 21 21:53:18 1995 Michael Meissner <meissner@cygnus.com>
3326
3327 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
3328 compiled with -mrelocatable-lib to be linked with either normal
3329 modules or -mrelocatable modules.
3330
f69e888e
ILT
3331Wed Sep 20 12:03:26 1995 Ian Lance Taylor <ian@cygnus.com>
3332
e18c4e8f
ILT
3333 * coffcode.h (coff_write_object_contents): Clear the vstamp field
3334 in the a.out header.
3335
f69e888e
ILT
3336 * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
3337 a reloc against a local symbol, even if it's not a section.
3338
a5655244
ILT
3339Tue Sep 19 17:02:26 1995 Ian Lance Taylor <ian@cygnus.com>
3340
3341 * targets.c (bfd_target): Remove unused align_power_min field.
3342 * bfd-in2.h: Rebuild.
3343 * All backends: Remove initialization of align_power_min.
3344
500d7394
SC
3345Tue Sep 19 14:02:21 1995 steve chamberlain <sac@slash.cygnus.com>
3346
3347 * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
500d7394 3348
049df0a8
ILT
3349Mon Sep 18 14:35:01 1995 Arne H. Juul <arnej@pvv.unit.no>
3350
3351 * config.bfd (mips-dec-netbsd*): New target.
3352 * configure.host (mips-dec-netbsd*): New host.
3353 * configure.in (mips-dec-netbsd*): New native.
3354 * configure: Rebuild.
3355
1862bbd8
ILT
3356Fri Sep 15 10:24:36 1995 Ian Lance Taylor <ian@cygnus.com>
3357
3358 Make the COFF backend linker merge common types:
3359 * cofflink.c (struct coff_debug_merge_element): Define.
3360 (struct coff_debug_merge_type): Define.
3361 (struct coff_debug_merge_hash_entry): Define.
3362 (struct coff_debug_merge_hash_table): Define.
3363 (coff_debug_merge_hash_table_init): Define.
3364 (coff_debug_merge_hash_table_free): Define.
3365 (coff_debug_merge_hash_lookup): Define.
3366 (struct coff_final_link_info): Add debug_merge field.
3367 (coff_debug_merge_hash_newfunc): New static function.
3368 (_bfd_coff_final_link): Allocate and free debug_merge table.
3369 (coff_link_input_bfd): Merge identical enum, struct and union
3370 types.
3371
a208a70f
ILT
3372Thu Sep 14 14:53:58 1995 Ian Lance Taylor <ian@cygnus.com>
3373
3374 Convert i960 COFF to use COFF backend linker.
3375 * coff-i960.c (coff_i960_relocate): Use a coff_section_data
3376 structure to store the symbol being used.
3377 (coff_i960_start_final_link): New static function.
3378 (coff_i960_relocate_section): New static function.
3379 (coff_i960_adjust_symndx): New static function.
3380 (coff_start_final_link): Define.
3381 (coff_relocate_section): Define.
3382 (coff_adjust_symndx): Define.
3383 * coffcode.h (bfd_coff_backend_data): Add new callback function
3384 _bfd_coff_start_final_link.
3385 (bfd_coff_start_final_link): Define.
3386 (coff_start_final_link): Define if not defined.
3387 (bfd_coff_std_swap_table): Add coff_start_final_link.
3388 * cofflink.c (_bfd_coff_internal_syment_name): Make globally
3389 visible.
3390 (_bfd_coff_final_link): Call bfd_coff_start_final_link if the
3391 function callback is not NULL.
3392 * libcoff-in.h (struct coff_section_tdata): Add tdata field.
3393 (_bfd_coff_internal_syment_name): Declare.
3394 * libcoff.h: Rebuild.
3395 * configure.in (icoff_big_vec): Add cofflink.o.
3396 (icoff_little_vec): Likewise.
3397 * configure: Rebuild.
3398
f0abedbe
FF
3399Wed Sep 13 17:38:23 1995 Fred Fish <fnf@rtl.cygnus.com>
3400
3401 * Makefile.in (clean-info): Remove extraneous tab from line
3402 following action.
3403
aa4b3dc5
ILT
3404Wed Sep 13 13:27:53 1995 Ian Lance Taylor <ian@cygnus.com>
3405
3406 * cofflink.c (coff_link_input_bfd): Fail if a section with no
3407 contents has relocs.
3408
4ca63811 3409Thu Sep 12 12:45:34 1995 steve chamberlain <sac@slash.cygnus.com>
beee31b1
SC
3410
3411 * coffcode.h (coff_compute_section_file_positions): Keep the
3412 raw size safe.
3413 (coff_write_object_contents): Remember if it's a relocatable
3414 file.
3415 * libcoff-in.h (pe_data_type): New member 'has_reloc_section'
3416 * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
3417 if relocatable file. Swap out saved raw size.
3418
ae115e51
ILT
3419Tue Sep 12 12:14:33 1995 Ian Lance Taylor <ian@cygnus.com>
3420
9521bac3
ILT
3421 * Makefile.in (do_maintainer_clean): Rename from do_realclean.
3422 (maintainer-clean): Rename from realclean, passing
3423 maintainer-clean down to subdirectories, but leave realclean as a
3424 synonym.
3425
4ca63811
ILT
3426 * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
3427 warning callback.
3428
5aa4c3ff
ILT
3429 * dep-in.sed: Remove config.h from generated dependencies.
3430
396aaeb2
ILT
3431 * sunos.c (sunos_slurp_dynamic_symtab): New static function,
3432 broken out of sunos_canonicalize_dynamic_symtab.
3433 (sunos_canonicalize_dynamic_symtab): Call new function
3434 sunos_slurp_dynamic_symtab.
3435 (sunos_add_dynamic_symbols): Add three new parameters. Return the
3436 dynamic symbol table to the caller.
3437 * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
3438 callback to override the symbols being read.
3439 * libaout.h (struct aout_backend_data): Add three new parameters
3440 to add_dynamic_symbols callback.
3441
ae115e51
ILT
3442 Extensive minor changes to avoid various gcc warnings. Also:
3443 * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
3444 * archures.c (bfd_arch_info_type): Change mach field from long to
3445 unsigned long.
3446 (bfd_lookup_arch): Change machine parameter from long to unsigned
3447 long.
3448
b088e4b2
ILT
3449Mon Sep 11 10:55:47 1995 Ian Lance Taylor <ian@cygnus.com>
3450
3451 * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
3452 a symbol with a non-zero plt_offset.
3453
1dff7902
ILT
3454Fri Sep 8 11:47:24 1995 Ian Lance Taylor <ian@cygnus.com>
3455
2b71e1e4
ILT
3456 * elfcode.h (align_file_position): Remove; not used.
3457
1dff7902
ILT
3458 * configure.in: Only check for <sys/procfs.h> on a native system,
3459 and make sure it defines prstatus_t.
3460 * configure: Rebuild.
3461
870015b1
ILT
3462Thu Sep 7 12:48:01 1995 Ian Lance Taylor <ian@cygnus.com>
3463
535c89f0
ILT
3464 * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
3465
936b870c
ILT
3466 * config.in: Rename from config.h.in.
3467 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
a7873a6c 3468 Check for config.h:config.in when creating stamp-h.
936b870c 3469 * configure: Rebuild.
a7873a6c
ILT
3470 * Makefile.in (stamp-h): Depend upon config.in rather than
3471 config.h.in. Set CONFIG_HEADERS to config.h:config.in when
3472 calling config.status.
936b870c 3473
870015b1
ILT
3474 * Makefile.in (do_distclean): Remove config.h and stamp-h.
3475 (Makefile): Just rebuild Makefile.
3476 (config.h, stamp-h): New targets.
3477 * configure.in: Create stamp-h when rebuilding config.h.
3478 * configure: Rebuild.
3479
b7577823
ILT
3480Wed Sep 6 15:00:33 1995 Ian Lance Taylor <ian@cygnus.com>
3481
3482 * configure.in: Call AC_CONFIG_HEADER. Substitute
3483 HOST_64BIT_LONG. Check that various header files exist. Check
3484 that fcntl exists. Call BFD_BINARY_FOPEN. Check whether malloc
3485 and/or free need to be declared. Don't make a link to sysdep.h.
3486 Define TRAD_HEADER for various hosts.
3487 * configure: Rebuild.
3488 * configure.host: Don't set my_host. Add definitions taken from
3489 host header files for various entries. Remove entries which now
3490 do nothing.
3491 * acconfig.h: New file.
3492 * config.h.in: New file, built by autoheader.
3493 * sysdep.h: New file.
3494 * Makefile.in (do_distclean): Don't remove sysdep.h.
3495 (RECONFIG): Remove.
3496 (LOCAL_H_DEPS): New variable.
3497 ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
3498 $(RECONFIG).
3499 ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
3500 ($(OPTIONAL_BACKENDS)): Likewise.
3501 (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
3502 looking through sysdep.h.
3503 * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
3504 (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
3505 (fprintf_vma, sprintf_vma): Likewise.
3506 (int64_type, uint64_type): Don't define.
3507 * bfd-in2.h: Rebuild.
3508 * archures.c, bfd.c, srec.c: Include <ctype.h>.
3509 * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
3510 * lynx-core.c: Include stuff from old hosts/lynx.h.
3511 * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
3512 rather than NO_FCNTL.
3513 * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
3514 rather than NATIVE_HPPAHPUX_COMPILER.
3515 * trad-core.c: Don't include <errno.h>. Include TRAD_HEADER if it
3516 is defined.
3517 * hosts/*.h: Remove all header files which merely include,
3518 declare, and define things. Leave header files which define
3519 information needed by trad-core.c.
3520
3521 * aclocal.m4 (BFD_BINARY_FOPEN): Define.
3522 (BFD_CC_FOR_BUILD): Define.
3523 * configure.in: Use BFD_CC_FOR_BUILD.
3524 * configure: Rebuild.
3525
7a93ebdd
ILT
3526Tue Sep 5 19:35:28 1995 Ian Lance Taylor <ian@cygnus.com>
3527
4c2e4d0e
ILT
3528 * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
3529 * configure: Rebuild.
3530
7a93ebdd
ILT
3531 * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
3532 a global symbol.
3533
866bb9e5
JM
3534Tue Sep 5 12:48:26 1995 Jason Molenda (crash@phydeaux.cygnus.com)
3535
3536 * config.bfd: i386pe_ve -> i386pe_vec.
3537
2b79a104
ILT
3538Mon Sep 4 14:02:43 1995 Ian Lance Taylor <ian@cygnus.com>
3539
f515fb2f
ILT
3540 * configure.host: Incorporate host Makefile fragments by setting
3541 shell variables.
3542 * configure.in: Call AC_PROG_CC. Substitute CFLAGS, HDEFINES and
3543 AR. Call AC_PROG_INSTALL. Substitute CC_FOR_BUILD, choosing a
3544 value based on whether the code is being compiled by a cross
3545 compiler. Don't substitute host_makefile_frag or frags.
3546 * aclocal.m4: New file to define local AC_PROG_CC.
3547 * configure: Rebuild.
3548 * Makefile.in (INSTALL): Set to @INSTALL@.
3549 (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
3550 (INSTALL_DATA): Set to @INSTALL_DATA@.
3551 (AR): Set to @AR@.
3552 (CC): Define as @CC@.
3553 (CFLAGS): Set to @CFLAGS@.
3554 (CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
3555 (@host_makefile_frag@): Remove.
3556 (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@. Move $(CFLAGS)
3557 after other options.
3558 (config.status): Remove dependency upon @frags@.
3559 * config/*.mh, config/README: Remove.
3560
2b79a104
ILT
3561 * config.bfd: Rewrite to incorporate the contents of the Makefile
3562 fragments by setting shell variables, rather than merely returning
3563 the name of a Makefile fragment.
3564 * configure.in: Use shell variables set by config.bfd rather than
3565 looking at the target Makefile fragment files. Don't substitute
3566 target_makefile_frag. Do substitute TDEFINES.
3567 * configure: Rebuild.
3568 * Makefile.in (@target_makefile_frag@): Remove.
3569 (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
3570 * config/*.mt: Remove.
3571
2cb159a5
KR
3572Mon Sep 4 03:13:28 1995 Ken Raeburn <raeburn@cygnus.com>
3573
3574 * configure.in: Put changequote lines around "i[345]86" patterns
3575 section of core file support.
3576
ef07871c
JL
3577Sun Sep 3 11:31:58 1995 Jeff Law (law@snake.cs.utah.edu)
3578
3579 * som.c (som_bfd_print_private_bfd_data): Define to use the
3580 generic version.
3581
1613e075
SC
3582Fri Sep 1 17:08:40 1995 steve chamberlain <sac@slash.cygnus.com>
3583
3584 * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
3585 entry, text_start and data_start.
3586
a52a3ce8
ILT
3587Fri Sep 1 18:06:28 1995 Ian Lance Taylor <ian@cygnus.com>
3588
a21227ef
ILT
3589 * Makefile.in (OFILES): Remove $(TDEPFILES).
3590 * config/apollo.mt (TDEPFILES): Remove.
3591 * config/README: Update.
3592
a52a3ce8
ILT
3593 * configure.in: For a native configuration, set COREFILE and
3594 COREFLAG based on the canonical host name.
3595 * configure: Rebuild.
3596 * Makefile.in: Rebuild dependencies.
3597 (ALL_CFLAGS): Add @COREFLAG@.
3598 (OFILES): Replace $(HDEPFILES) with @COREFILE@.
3599 * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
3600 support routines. Check LYNX_CORE rather than HOST_LYNX.
3601 * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
3602 * i386lynx.c: Likewise.
3603 * m68klynx.c: Likewise.
3604 * sparclynx.c: Likewise.
3605 * rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
3606 * *-core.c: Comment changes.
3607 * config/decstation.mh (HDEPFILES): Remove.
3608 (HDEFINES): Remove -DTRAD_CORE.
3609 * config/irix3.mh (RANLIB): Remove.
3610 * config/irix4.mh (HDEPFILES, RANLIB): Remove.
3611 (HDEFINES): Remove -DIRIX_CORE.
3612 * config/riscos.mh (RANLIB, HDEPFILES): Remove.
3613 (HDEFINES): Remove -DTRAD_CORE.
3614 * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
3615 * config/ultra3.mh (RANLIB): Remove.
3616 * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
3617 * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
3618 * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
3619 * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
3620 * config/hppahpux.mh, config/hppaosf.mh: Remove.
3621 * config/i386aix.mh, config/i386bsd.mh: Remove.
3622 * config/i386linux.mh, config/i386mach3.mh: Remove.
3623 * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
3624 * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
3625 * config/mipsmach3.mh, config/news-mips.mh: Remove.
3626 * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
3627 * config/rs600.mh, config/rs6000lynx.mh: Remove.
3628 * config/solaris2.mh, config/stratus.mh: Remove.
3629 * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
3630 * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
3631
d6f672b8
ILT
3632Fri Sep 1 15:18:50 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
3633
3634 * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
3635 DT_FINI entry if the appropriate symbol is not in the hash table.
3636
3637 * libelf.h (struct elf_backend_data): Add create_program_headers
3638 and want_hdr_in_seg fields.
3639 * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
3640 defined.
3641 (elf_backend_create_program_headers): Likewise.
3642 (elfNN_bed): Initialize create_program_headers and
3643 want_hdr_in_seg.
3644 * elf.c (get_program_header_size): Call create_program_headers
3645 backend routine.
3646 (map_program_segments): Check want_hdr_in_seg backend field. Call
3647 create_program_headers backend routine.
3648
3649 * elf.c (assign_file_positions_except_relocs): Align non allocated
3650 sections when creating an executable.
3651
3652 * elfcode.h (elf_swap_phdr_in): Make non static.
3653 (elf_swap_phdr_out): Make non static.
3654 * libelf.h (bfd_elf32_swap_phdr_in): Declare.
3655 (bfd_elf32_swap_phdr_out): Declare.
3656 (bfd_elf64_swap_phdr_in): Declare.
3657 (bfd_elf64_swap_phdr_out): Declare.
3658
3659 * ecofflink.c (ecoff_collect_shuffle): New static function.
3660 (_bfd_ecoff_get_accumulated_pdr): New function.
3661 (_bfd_ecoff_get_accumulated_sym): New function.
3662 (_bfd_ecoff_get_accumulated_ss): New function.
3663 * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
3664 (_bfd_ecoff_get_accumulated_sym): Declare.
3665 (_bfd_ecoff_get_accumulated_ss): Declare.
3666 * libbfd.h: Rebuild.
3667
0cb70568
ILT
3668Fri Sep 1 13:20:25 1995 Ian Lance Taylor <ian@cygnus.com>
3669
d6f672b8
ILT
3670 * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
3671
0cb70568
ILT
3672 * elflink.h (elf_link_add_object_symbols): Handle indirect and
3673 warning symbols. If any section is named .gnu.warning.XXX, treat
3674 the contents as a warning to be issued if the symbol XXX is
3675 referenced.
3676 (elf_link_output_extsym): For an indirect or warning symbol, just
3677 output the symbol it points to.
3678
3679 * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
3680 if bfd_hash_allocate fails, since it will already be set.
3681 (generic_link_hash_newfunc): Likewise.
3682 (archive_hash_newfunc): Likewise.
3683 (hash_entry_bfd): New static function.
3684 (_bfd_generic_link_add_one_symbol): Pass new arguments to warning
3685 callback. Allocate a new warning using the hash table newfunc.
3686 Use bfd_hash_replace to update the entry in the hash table, rather
3687 than assuming we can copy the fields with structure assignment.
3688
3689 * hash.c (bfd_hash_replace): New function.
3690 * bfd-in.h (bfd_hash_replace): Declare.
3691 * bfd-in2.h: Rebuild.
3692
f14db880
JSC
3693Fri Sep 1 08:12:50 1995 James G. Smith <jsmith@beauty.cygnus.com>
3694
3695 * config.bfd: Add mips*vr4300-*-elf* target.
3696 * config/mipsbvr4300.mt: Added.
3697
1613e075 3698See file ChangeLog.2
e6d739eb 3699
41126f15
JK
3700\f
3701Local Variables:
3702mode: indented-text
3703left-margin: 8
6ec3bb6a
ILT
3704fill-column: 74
3705version-control: never
3706End:
This page took 0.342478 seconds and 4 git commands to generate.