3 * reloc.c (bfd_reloc_code_type): Add relocations to support all of
5 * bfd-in2.h: Regenerate.
6 * libbfd.h: Regenerate.
8 * elf32-ppc.c (reloc_type): Update names to match current draft.
9 (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
10 relative. Update names to current V.4 draft.
11 (ppc_elf_reloc_type_lookup): Add support for more relocations.
12 (ppc_elf_relocate_section): Rename relocations to match draft.
16 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
17 compiled with -mrelocatable-lib to be linked with either normal
18 modules or -mrelocatable modules.
22 * coffcode.h (coff_write_object_contents): Clear the vstamp field
25 * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
26 a reloc against a local symbol, even if it's not a section.
30 * targets.c (bfd_target): Remove unused align_power_min field.
32 * All backends: Remove initialization of align_power_min.
36 * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
40 * config.bfd (mips-dec-netbsd*): New target.
41 * configure.host (mips-dec-netbsd*): New host.
42 * configure.in (mips-dec-netbsd*): New native.
47 Make the COFF backend linker merge common types:
48 * cofflink.c (struct coff_debug_merge_element): Define.
49 (struct coff_debug_merge_type): Define.
50 (struct coff_debug_merge_hash_entry): Define.
51 (struct coff_debug_merge_hash_table): Define.
52 (coff_debug_merge_hash_table_init): Define.
53 (coff_debug_merge_hash_table_free): Define.
54 (coff_debug_merge_hash_lookup): Define.
55 (struct coff_final_link_info): Add debug_merge field.
56 (coff_debug_merge_hash_newfunc): New static function.
57 (_bfd_coff_final_link): Allocate and free debug_merge table.
58 (coff_link_input_bfd): Merge identical enum, struct and union
63 Convert i960 COFF to use COFF backend linker.
64 * coff-i960.c (coff_i960_relocate): Use a coff_section_data
65 structure to store the symbol being used.
66 (coff_i960_start_final_link): New static function.
67 (coff_i960_relocate_section): New static function.
68 (coff_i960_adjust_symndx): New static function.
69 (coff_start_final_link): Define.
70 (coff_relocate_section): Define.
71 (coff_adjust_symndx): Define.
72 * coffcode.h (bfd_coff_backend_data): Add new callback function
73 _bfd_coff_start_final_link.
74 (bfd_coff_start_final_link): Define.
75 (coff_start_final_link): Define if not defined.
76 (bfd_coff_std_swap_table): Add coff_start_final_link.
77 * cofflink.c (_bfd_coff_internal_syment_name): Make globally
79 (_bfd_coff_final_link): Call bfd_coff_start_final_link if the
80 function callback is not NULL.
81 * libcoff-in.h (struct coff_section_tdata): Add tdata field.
82 (_bfd_coff_internal_syment_name): Declare.
84 * configure.in (icoff_big_vec): Add cofflink.o.
85 (icoff_little_vec): Likewise.
90 * Makefile.in (clean-info): Remove extraneous tab from line
95 * cofflink.c (coff_link_input_bfd): Fail if a section with no
100 * coffcode.h (coff_compute_section_file_positions): Keep the
102 (coff_write_object_contents): Remember if it's a relocatable
104 * libcoff-in.h (pe_data_type): New member 'has_reloc_section'
105 * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
106 if relocatable file. Swap out saved raw size.
110 * Makefile.in (do_maintainer_clean): Rename from do_realclean.
111 (maintainer-clean): Rename from realclean, passing
112 maintainer-clean down to subdirectories, but leave realclean as a
115 * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
118 * dep-in.sed: Remove config.h from generated dependencies.
120 * sunos.c (sunos_slurp_dynamic_symtab): New static function,
121 broken out of sunos_canonicalize_dynamic_symtab.
122 (sunos_canonicalize_dynamic_symtab): Call new function
123 sunos_slurp_dynamic_symtab.
124 (sunos_add_dynamic_symbols): Add three new parameters. Return the
125 dynamic symbol table to the caller.
126 * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
127 callback to override the symbols being read.
128 * libaout.h (struct aout_backend_data): Add three new parameters
129 to add_dynamic_symbols callback.
131 Extensive minor changes to avoid various gcc warnings. Also:
132 * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
133 * archures.c (bfd_arch_info_type): Change mach field from long to
135 (bfd_lookup_arch): Change machine parameter from long to unsigned
140 * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
141 a symbol with a non-zero plt_offset.
145 * elfcode.h (align_file_position): Remove; not used.
147 * configure.in: Only check for <sys/procfs.h> on a native system,
148 and make sure it defines prstatus_t.
149 * configure: Rebuild.
153 * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
155 * config.in: Rename from config.h.in.
156 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
157 Check for config.h:config.in when creating stamp-h.
158 * configure: Rebuild.
159 * Makefile.in (stamp-h): Depend upon config.in rather than
160 config.h.in. Set CONFIG_HEADERS to config.h:config.in when
161 calling config.status.
163 * Makefile.in (do_distclean): Remove config.h and stamp-h.
164 (Makefile): Just rebuild Makefile.
165 (config.h, stamp-h): New targets.
166 * configure.in: Create stamp-h when rebuilding config.h.
167 * configure: Rebuild.
171 * configure.in: Call AC_CONFIG_HEADER. Substitute
172 HOST_64BIT_LONG. Check that various header files exist. Check
173 that fcntl exists. Call BFD_BINARY_FOPEN. Check whether malloc
174 and/or free need to be declared. Don't make a link to sysdep.h.
175 Define TRAD_HEADER for various hosts.
176 * configure: Rebuild.
177 * configure.host: Don't set my_host. Add definitions taken from
178 host header files for various entries. Remove entries which now
180 * acconfig.h: New file.
181 * config.h.in: New file, built by autoheader.
182 * sysdep.h: New file.
183 * Makefile.in (do_distclean): Don't remove sysdep.h.
185 (LOCAL_H_DEPS): New variable.
186 ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
188 ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
189 ($(OPTIONAL_BACKENDS)): Likewise.
190 (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
191 looking through sysdep.h.
192 * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
193 (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
194 (fprintf_vma, sprintf_vma): Likewise.
195 (int64_type, uint64_type): Don't define.
196 * bfd-in2.h: Rebuild.
197 * archures.c, bfd.c, srec.c: Include <ctype.h>.
198 * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
199 * lynx-core.c: Include stuff from old hosts/lynx.h.
200 * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
201 rather than NO_FCNTL.
202 * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
203 rather than NATIVE_HPPAHPUX_COMPILER.
204 * trad-core.c: Don't include <errno.h>. Include TRAD_HEADER if it
206 * hosts/*.h: Remove all header files which merely include,
207 declare, and define things. Leave header files which define
208 information needed by trad-core.c.
210 * aclocal.m4 (BFD_BINARY_FOPEN): Define.
211 (BFD_CC_FOR_BUILD): Define.
212 * configure.in: Use BFD_CC_FOR_BUILD.
213 * configure: Rebuild.
217 * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
218 * configure: Rebuild.
220 * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
225 * config.bfd: i386pe_ve -> i386pe_vec.
229 * configure.host: Incorporate host Makefile fragments by setting
231 * configure.in: Call AC_PROG_CC. Substitute CFLAGS, HDEFINES and
232 AR. Call AC_PROG_INSTALL. Substitute CC_FOR_BUILD, choosing a
233 value based on whether the code is being compiled by a cross
234 compiler. Don't substitute host_makefile_frag or frags.
235 * aclocal.m4: New file to define local AC_PROG_CC.
236 * configure: Rebuild.
237 * Makefile.in (INSTALL): Set to @INSTALL@.
238 (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
239 (INSTALL_DATA): Set to @INSTALL_DATA@.
241 (CC): Define as @CC@.
242 (CFLAGS): Set to @CFLAGS@.
243 (CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
244 (@host_makefile_frag@): Remove.
245 (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@. Move $(CFLAGS)
247 (config.status): Remove dependency upon @frags@.
248 * config/*.mh, config/README: Remove.
250 * config.bfd: Rewrite to incorporate the contents of the Makefile
251 fragments by setting shell variables, rather than merely returning
252 the name of a Makefile fragment.
253 * configure.in: Use shell variables set by config.bfd rather than
254 looking at the target Makefile fragment files. Don't substitute
255 target_makefile_frag. Do substitute TDEFINES.
256 * configure: Rebuild.
257 * Makefile.in (@target_makefile_frag@): Remove.
258 (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
259 * config/*.mt: Remove.
263 * configure.in: Put changequote lines around "i[345]86" patterns
264 section of core file support.
268 * som.c (som_bfd_print_private_bfd_data): Define to use the
273 * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
274 entry, text_start and data_start.
278 * Makefile.in (OFILES): Remove $(TDEPFILES).
279 * config/apollo.mt (TDEPFILES): Remove.
280 * config/README: Update.
282 * configure.in: For a native configuration, set COREFILE and
283 COREFLAG based on the canonical host name.
284 * configure: Rebuild.
285 * Makefile.in: Rebuild dependencies.
286 (ALL_CFLAGS): Add @COREFLAG@.
287 (OFILES): Replace $(HDEPFILES) with @COREFILE@.
288 * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
289 support routines. Check LYNX_CORE rather than HOST_LYNX.
290 * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
291 * i386lynx.c: Likewise.
292 * m68klynx.c: Likewise.
293 * sparclynx.c: Likewise.
294 * rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
295 * *-core.c: Comment changes.
296 * config/decstation.mh (HDEPFILES): Remove.
297 (HDEFINES): Remove -DTRAD_CORE.
298 * config/irix3.mh (RANLIB): Remove.
299 * config/irix4.mh (HDEPFILES, RANLIB): Remove.
300 (HDEFINES): Remove -DIRIX_CORE.
301 * config/riscos.mh (RANLIB, HDEPFILES): Remove.
302 (HDEFINES): Remove -DTRAD_CORE.
303 * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
304 * config/ultra3.mh (RANLIB): Remove.
305 * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
306 * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
307 * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
308 * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
309 * config/hppahpux.mh, config/hppaosf.mh: Remove.
310 * config/i386aix.mh, config/i386bsd.mh: Remove.
311 * config/i386linux.mh, config/i386mach3.mh: Remove.
312 * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
313 * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
314 * config/mipsmach3.mh, config/news-mips.mh: Remove.
315 * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
316 * config/rs600.mh, config/rs6000lynx.mh: Remove.
317 * config/solaris2.mh, config/stratus.mh: Remove.
318 * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
319 * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
323 * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
324 DT_FINI entry if the appropriate symbol is not in the hash table.
326 * libelf.h (struct elf_backend_data): Add create_program_headers
327 and want_hdr_in_seg fields.
328 * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
330 (elf_backend_create_program_headers): Likewise.
331 (elfNN_bed): Initialize create_program_headers and
333 * elf.c (get_program_header_size): Call create_program_headers
335 (map_program_segments): Check want_hdr_in_seg backend field. Call
336 create_program_headers backend routine.
338 * elf.c (assign_file_positions_except_relocs): Align non allocated
339 sections when creating an executable.
341 * elfcode.h (elf_swap_phdr_in): Make non static.
342 (elf_swap_phdr_out): Make non static.
343 * libelf.h (bfd_elf32_swap_phdr_in): Declare.
344 (bfd_elf32_swap_phdr_out): Declare.
345 (bfd_elf64_swap_phdr_in): Declare.
346 (bfd_elf64_swap_phdr_out): Declare.
348 * ecofflink.c (ecoff_collect_shuffle): New static function.
349 (_bfd_ecoff_get_accumulated_pdr): New function.
350 (_bfd_ecoff_get_accumulated_sym): New function.
351 (_bfd_ecoff_get_accumulated_ss): New function.
352 * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
353 (_bfd_ecoff_get_accumulated_sym): Declare.
354 (_bfd_ecoff_get_accumulated_ss): Declare.
359 * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
361 * elflink.h (elf_link_add_object_symbols): Handle indirect and
362 warning symbols. If any section is named .gnu.warning.XXX, treat
363 the contents as a warning to be issued if the symbol XXX is
365 (elf_link_output_extsym): For an indirect or warning symbol, just
366 output the symbol it points to.
368 * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
369 if bfd_hash_allocate fails, since it will already be set.
370 (generic_link_hash_newfunc): Likewise.
371 (archive_hash_newfunc): Likewise.
372 (hash_entry_bfd): New static function.
373 (_bfd_generic_link_add_one_symbol): Pass new arguments to warning
374 callback. Allocate a new warning using the hash table newfunc.
375 Use bfd_hash_replace to update the entry in the hash table, rather
376 than assuming we can copy the fields with structure assignment.
378 * hash.c (bfd_hash_replace): New function.
379 * bfd-in.h (bfd_hash_replace): Declare.
380 * bfd-in2.h: Rebuild.
384 * config.bfd: Add mips*vr4300-*-elf* target.
385 * config/mipsbvr4300.mt: Added.
394 version-control: never