Start work to all full PowerPC V.4 reloc support.
[platform/upstream/binutils.git] / bfd / ChangeLog
1 Fri Sep 22 16:23:18 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
2
3         * reloc.c (bfd_reloc_code_type): Add relocations to support all of
4         PowerPC V.4.
5         * bfd-in2.h: Regenerate.
6         * libbfd.h: Regenerate.
7
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.
13
14 Thu Sep 21 21:53:18 1995  Michael Meissner  <meissner@cygnus.com>
15
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.
19
20 Wed Sep 20 12:03:26 1995  Ian Lance Taylor  <ian@cygnus.com>
21
22         * coffcode.h (coff_write_object_contents): Clear the vstamp field
23         in the a.out header.
24
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.
27
28 Tue Sep 19 17:02:26 1995  Ian Lance Taylor  <ian@cygnus.com>
29
30         * targets.c (bfd_target): Remove unused align_power_min field.
31         * bfd-in2.h: Rebuild.
32         * All backends: Remove initialization of align_power_min.
33
34 Tue Sep 19 14:02:21 1995  steve chamberlain  <sac@slash.cygnus.com>
35
36         * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
37
38 Mon Sep 18 14:35:01 1995  Arne H. Juul  <arnej@pvv.unit.no>
39
40         * config.bfd (mips-dec-netbsd*): New target.
41         * configure.host (mips-dec-netbsd*): New host.
42         * configure.in (mips-dec-netbsd*): New native.
43         * configure: Rebuild.
44
45 Fri Sep 15 10:24:36 1995  Ian Lance Taylor  <ian@cygnus.com>
46
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
59         types.
60
61 Thu Sep 14 14:53:58 1995  Ian Lance Taylor  <ian@cygnus.com>
62
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
78         visible.
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.
83         * libcoff.h: Rebuild.
84         * configure.in (icoff_big_vec): Add cofflink.o.
85         (icoff_little_vec): Likewise.
86         * configure: Rebuild.
87
88 Wed Sep 13 17:38:23 1995  Fred Fish  <fnf@rtl.cygnus.com>
89
90         * Makefile.in (clean-info): Remove extraneous tab from line
91         following action.
92
93 Wed Sep 13 13:27:53 1995  Ian Lance Taylor  <ian@cygnus.com>
94
95         * cofflink.c (coff_link_input_bfd): Fail if a section with no
96         contents has relocs.
97
98 Thu Sep 12 12:45:34 1995  steve chamberlain  <sac@slash.cygnus.com>
99
100         * coffcode.h (coff_compute_section_file_positions): Keep the
101         raw size safe. 
102         (coff_write_object_contents): Remember if it's a relocatable
103         file.
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.
107
108 Tue Sep 12 12:14:33 1995  Ian Lance Taylor  <ian@cygnus.com>
109
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
113         synonym.
114
115         * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
116         warning callback.
117
118         * dep-in.sed: Remove config.h from generated dependencies.
119
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.
130
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
134         unsigned long.
135         (bfd_lookup_arch): Change machine parameter from long to unsigned
136         long.
137
138 Mon Sep 11 10:55:47 1995  Ian Lance Taylor  <ian@cygnus.com>
139
140         * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
141         a symbol with a non-zero plt_offset.
142
143 Fri Sep  8 11:47:24 1995  Ian Lance Taylor  <ian@cygnus.com>
144
145         * elfcode.h (align_file_position): Remove; not used.
146
147         * configure.in: Only check for <sys/procfs.h> on a native system,
148         and make sure it defines prstatus_t.
149         * configure: Rebuild.
150
151 Thu Sep  7 12:48:01 1995  Ian Lance Taylor  <ian@cygnus.com>
152
153         * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
154
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.
162
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.
168
169 Wed Sep  6 15:00:33 1995  Ian Lance Taylor  <ian@cygnus.com>
170
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
179         do nothing.
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.
184         (RECONFIG): Remove.
185         (LOCAL_H_DEPS): New variable.
186         ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
187         $(RECONFIG).
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
205         is defined.
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.
209
210         * aclocal.m4 (BFD_BINARY_FOPEN): Define.
211         (BFD_CC_FOR_BUILD): Define.
212         * configure.in: Use BFD_CC_FOR_BUILD.
213         * configure: Rebuild.
214
215 Tue Sep  5 19:35:28 1995  Ian Lance Taylor  <ian@cygnus.com>
216
217         * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
218         * configure: Rebuild.
219
220         * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
221         a global symbol.
222
223 Tue Sep  5 12:48:26 1995  Jason Molenda   (crash@phydeaux.cygnus.com)
224
225         * config.bfd: i386pe_ve -> i386pe_vec.
226
227 Mon Sep  4 14:02:43 1995  Ian Lance Taylor  <ian@cygnus.com>
228
229         * configure.host: Incorporate host Makefile fragments by setting
230         shell variables.
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@.
240         (AR): Set to @AR@.
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)
246         after other options.
247         (config.status): Remove dependency upon @frags@.
248         * config/*.mh, config/README: Remove.
249
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.
260
261 Mon Sep  4 03:13:28 1995  Ken Raeburn  <raeburn@cygnus.com>
262
263         * configure.in: Put changequote lines around "i[345]86" patterns
264         section of core file support.
265
266 Sun Sep  3 11:31:58 1995  Jeff Law  (law@snake.cs.utah.edu)
267
268         * som.c (som_bfd_print_private_bfd_data): Define to use the
269         generic version.
270
271 Fri Sep  1 17:08:40 1995  steve chamberlain  <sac@slash.cygnus.com>
272
273         * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
274         entry, text_start and data_start.
275
276 Fri Sep  1 18:06:28 1995  Ian Lance Taylor  <ian@cygnus.com>
277
278         * Makefile.in (OFILES): Remove $(TDEPFILES).
279         * config/apollo.mt (TDEPFILES): Remove.
280         * config/README: Update.
281
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.
320
321 Fri Sep  1 15:18:50 1995  Kazumoto Kojima  <kkojima@info.kanagawa-u.ac.jp>
322
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.
325
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
329         defined.
330         (elf_backend_create_program_headers): Likewise.
331         (elfNN_bed): Initialize create_program_headers and
332         want_hdr_in_seg.
333         * elf.c (get_program_header_size): Call create_program_headers
334         backend routine.
335         (map_program_segments): Check want_hdr_in_seg backend field.  Call
336         create_program_headers backend routine.
337
338         * elf.c (assign_file_positions_except_relocs): Align non allocated
339         sections when creating an executable.
340
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.
347
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.
355         * libbfd.h: Rebuild.
356
357 Fri Sep  1 13:20:25 1995  Ian Lance Taylor  <ian@cygnus.com>
358
359         * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
360
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
364         referenced.
365         (elf_link_output_extsym): For an indirect or warning symbol, just
366         output the symbol it points to.
367
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.
377
378         * hash.c (bfd_hash_replace): New function.
379         * bfd-in.h (bfd_hash_replace): Declare.
380         * bfd-in2.h: Rebuild.
381
382 Fri Sep  1 08:12:50 1995  James G. Smith  <jsmith@beauty.cygnus.com>
383
384         * config.bfd: Add mips*vr4300-*-elf* target.
385         * config/mipsbvr4300.mt: Added.
386
387 See file ChangeLog.2
388
389 \f
390 Local Variables:
391 mode: indented-text
392 left-margin: 8
393 fill-column: 74
394 version-control: never
395 End: