Add support -mrelocatable-lib
[platform/upstream/binutils.git] / bfd / ChangeLog
1 Thu Sep 21 21:53:18 1995  Michael Meissner  <meissner@cygnus.com>
2
3         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
4         compiled with -mrelocatable-lib to be linked with either normal
5         modules or -mrelocatable modules.
6
7 Wed Sep 20 12:03:26 1995  Ian Lance Taylor  <ian@cygnus.com>
8
9         * coffcode.h (coff_write_object_contents): Clear the vstamp field
10         in the a.out header.
11
12         * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
13         a reloc against a local symbol, even if it's not a section.
14
15 Tue Sep 19 17:02:26 1995  Ian Lance Taylor  <ian@cygnus.com>
16
17         * targets.c (bfd_target): Remove unused align_power_min field.
18         * bfd-in2.h: Rebuild.
19         * All backends: Remove initialization of align_power_min.
20
21 Tue Sep 19 14:02:21 1995  steve chamberlain  <sac@slash.cygnus.com>
22
23         * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
24
25 Mon Sep 18 14:35:01 1995  Arne H. Juul  <arnej@pvv.unit.no>
26
27         * config.bfd (mips-dec-netbsd*): New target.
28         * configure.host (mips-dec-netbsd*): New host.
29         * configure.in (mips-dec-netbsd*): New native.
30         * configure: Rebuild.
31
32 Fri Sep 15 10:24:36 1995  Ian Lance Taylor  <ian@cygnus.com>
33
34         Make the COFF backend linker merge common types:
35         * cofflink.c (struct coff_debug_merge_element): Define.
36         (struct coff_debug_merge_type): Define.
37         (struct coff_debug_merge_hash_entry): Define.
38         (struct coff_debug_merge_hash_table): Define.
39         (coff_debug_merge_hash_table_init): Define.
40         (coff_debug_merge_hash_table_free): Define.
41         (coff_debug_merge_hash_lookup): Define.
42         (struct coff_final_link_info): Add debug_merge field.
43         (coff_debug_merge_hash_newfunc): New static function.
44         (_bfd_coff_final_link): Allocate and free debug_merge table.
45         (coff_link_input_bfd): Merge identical enum, struct and union
46         types.
47
48 Thu Sep 14 14:53:58 1995  Ian Lance Taylor  <ian@cygnus.com>
49
50         Convert i960 COFF to use COFF backend linker.
51         * coff-i960.c (coff_i960_relocate): Use a coff_section_data
52         structure to store the symbol being used.
53         (coff_i960_start_final_link): New static function.
54         (coff_i960_relocate_section): New static function.
55         (coff_i960_adjust_symndx): New static function.
56         (coff_start_final_link): Define.
57         (coff_relocate_section): Define.
58         (coff_adjust_symndx): Define.
59         * coffcode.h (bfd_coff_backend_data): Add new callback function
60         _bfd_coff_start_final_link.
61         (bfd_coff_start_final_link): Define.
62         (coff_start_final_link): Define if not defined.
63         (bfd_coff_std_swap_table): Add coff_start_final_link.
64         * cofflink.c (_bfd_coff_internal_syment_name): Make globally
65         visible.
66         (_bfd_coff_final_link): Call bfd_coff_start_final_link if the
67         function callback is not NULL.
68         * libcoff-in.h (struct coff_section_tdata): Add tdata field.
69         (_bfd_coff_internal_syment_name): Declare.
70         * libcoff.h: Rebuild.
71         * configure.in (icoff_big_vec): Add cofflink.o.
72         (icoff_little_vec): Likewise.
73         * configure: Rebuild.
74
75 Wed Sep 13 17:38:23 1995  Fred Fish  <fnf@rtl.cygnus.com>
76
77         * Makefile.in (clean-info): Remove extraneous tab from line
78         following action.
79
80 Wed Sep 13 13:27:53 1995  Ian Lance Taylor  <ian@cygnus.com>
81
82         * cofflink.c (coff_link_input_bfd): Fail if a section with no
83         contents has relocs.
84
85 Thu Sep 12 12:45:34 1995  steve chamberlain  <sac@slash.cygnus.com>
86
87         * coffcode.h (coff_compute_section_file_positions): Keep the
88         raw size safe. 
89         (coff_write_object_contents): Remember if it's a relocatable
90         file.
91         * libcoff-in.h (pe_data_type): New member 'has_reloc_section'
92         * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
93         if relocatable file. Swap out saved raw size.
94
95 Tue Sep 12 12:14:33 1995  Ian Lance Taylor  <ian@cygnus.com>
96
97         * Makefile.in (do_maintainer_clean): Rename from do_realclean.
98         (maintainer-clean): Rename from realclean, passing
99         maintainer-clean down to subdirectories, but leave realclean as a
100         synonym.
101
102         * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
103         warning callback.
104
105         * dep-in.sed: Remove config.h from generated dependencies.
106
107         * sunos.c (sunos_slurp_dynamic_symtab): New static function,
108         broken out of sunos_canonicalize_dynamic_symtab.
109         (sunos_canonicalize_dynamic_symtab): Call new function
110         sunos_slurp_dynamic_symtab.
111         (sunos_add_dynamic_symbols): Add three new parameters.  Return the
112         dynamic symbol table to the caller.
113         * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
114         callback to override the symbols being read.
115         * libaout.h (struct aout_backend_data): Add three new parameters
116         to add_dynamic_symbols callback.
117
118         Extensive minor changes to avoid various gcc warnings.  Also:
119         * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
120         * archures.c (bfd_arch_info_type): Change mach field from long to
121         unsigned long.
122         (bfd_lookup_arch): Change machine parameter from long to unsigned
123         long.
124
125 Mon Sep 11 10:55:47 1995  Ian Lance Taylor  <ian@cygnus.com>
126
127         * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
128         a symbol with a non-zero plt_offset.
129
130 Fri Sep  8 11:47:24 1995  Ian Lance Taylor  <ian@cygnus.com>
131
132         * elfcode.h (align_file_position): Remove; not used.
133
134         * configure.in: Only check for <sys/procfs.h> on a native system,
135         and make sure it defines prstatus_t.
136         * configure: Rebuild.
137
138 Thu Sep  7 12:48:01 1995  Ian Lance Taylor  <ian@cygnus.com>
139
140         * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
141
142         * config.in: Rename from config.h.in.
143         * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
144         Check for config.h:config.in when creating stamp-h.
145         * configure: Rebuild.
146         * Makefile.in (stamp-h): Depend upon config.in rather than
147         config.h.in.  Set CONFIG_HEADERS to config.h:config.in when
148         calling config.status.
149
150         * Makefile.in (do_distclean): Remove config.h and stamp-h.
151         (Makefile): Just rebuild Makefile.
152         (config.h, stamp-h): New targets.
153         * configure.in: Create stamp-h when rebuilding config.h.
154         * configure: Rebuild.
155
156 Wed Sep  6 15:00:33 1995  Ian Lance Taylor  <ian@cygnus.com>
157
158         * configure.in: Call AC_CONFIG_HEADER.  Substitute
159         HOST_64BIT_LONG.  Check that various header files exist.  Check
160         that fcntl exists.  Call BFD_BINARY_FOPEN.  Check whether malloc
161         and/or free need to be declared.  Don't make a link to sysdep.h.
162         Define TRAD_HEADER for various hosts.
163         * configure: Rebuild.
164         * configure.host: Don't set my_host.  Add definitions taken from
165         host header files for various entries.  Remove entries which now
166         do nothing.
167         * acconfig.h: New file.
168         * config.h.in: New file, built by autoheader.
169         * sysdep.h: New file.
170         * Makefile.in (do_distclean): Don't remove sysdep.h.
171         (RECONFIG): Remove.
172         (LOCAL_H_DEPS): New variable.
173         ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
174         $(RECONFIG).
175         ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
176         ($(OPTIONAL_BACKENDS)): Likewise.
177         (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
178         looking through sysdep.h.
179         * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
180         (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
181         (fprintf_vma, sprintf_vma): Likewise.
182         (int64_type, uint64_type): Don't define.
183         * bfd-in2.h: Rebuild.
184         * archures.c, bfd.c, srec.c: Include <ctype.h>.
185         * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
186         * lynx-core.c: Include stuff from old hosts/lynx.h.
187         * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
188         rather than NO_FCNTL.
189         * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
190         rather than NATIVE_HPPAHPUX_COMPILER.
191         * trad-core.c: Don't include <errno.h>.  Include TRAD_HEADER if it
192         is defined.
193         * hosts/*.h: Remove all header files which merely include,
194         declare, and define things.  Leave header files which define
195         information needed by trad-core.c.
196
197         * aclocal.m4 (BFD_BINARY_FOPEN): Define.
198         (BFD_CC_FOR_BUILD): Define.
199         * configure.in: Use BFD_CC_FOR_BUILD.
200         * configure: Rebuild.
201
202 Tue Sep  5 19:35:28 1995  Ian Lance Taylor  <ian@cygnus.com>
203
204         * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
205         * configure: Rebuild.
206
207         * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
208         a global symbol.
209
210 Tue Sep  5 12:48:26 1995  Jason Molenda   (crash@phydeaux.cygnus.com)
211
212         * config.bfd: i386pe_ve -> i386pe_vec.
213
214 Mon Sep  4 14:02:43 1995  Ian Lance Taylor  <ian@cygnus.com>
215
216         * configure.host: Incorporate host Makefile fragments by setting
217         shell variables.
218         * configure.in: Call AC_PROG_CC.  Substitute CFLAGS, HDEFINES and
219         AR.  Call AC_PROG_INSTALL.  Substitute CC_FOR_BUILD, choosing a
220         value based on whether the code is being compiled by a cross
221         compiler.  Don't substitute host_makefile_frag or frags.
222         * aclocal.m4: New file to define local AC_PROG_CC.
223         * configure: Rebuild.
224         * Makefile.in (INSTALL): Set to @INSTALL@.
225         (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
226         (INSTALL_DATA): Set to @INSTALL_DATA@.
227         (AR): Set to @AR@.
228         (CC): Define as @CC@.
229         (CFLAGS): Set to @CFLAGS@.
230         (CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
231         (@host_makefile_frag@): Remove.
232         (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@.  Move $(CFLAGS)
233         after other options.
234         (config.status): Remove dependency upon @frags@.
235         * config/*.mh, config/README: Remove.
236
237         * config.bfd: Rewrite to incorporate the contents of the Makefile
238         fragments by setting shell variables, rather than merely returning
239         the name of a Makefile fragment.
240         * configure.in: Use shell variables set by config.bfd rather than
241         looking at the target Makefile fragment files.  Don't substitute
242         target_makefile_frag.  Do substitute TDEFINES.
243         * configure: Rebuild.
244         * Makefile.in (@target_makefile_frag@): Remove.
245         (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
246         * config/*.mt: Remove.
247
248 Mon Sep  4 03:13:28 1995  Ken Raeburn  <raeburn@cygnus.com>
249
250         * configure.in: Put changequote lines around "i[345]86" patterns
251         section of core file support.
252
253 Sun Sep  3 11:31:58 1995  Jeff Law  (law@snake.cs.utah.edu)
254
255         * som.c (som_bfd_print_private_bfd_data): Define to use the
256         generic version.
257
258 Fri Sep  1 17:08:40 1995  steve chamberlain  <sac@slash.cygnus.com>
259
260         * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
261         entry, text_start and data_start.
262
263 Fri Sep  1 18:06:28 1995  Ian Lance Taylor  <ian@cygnus.com>
264
265         * Makefile.in (OFILES): Remove $(TDEPFILES).
266         * config/apollo.mt (TDEPFILES): Remove.
267         * config/README: Update.
268
269         * configure.in: For a native configuration, set COREFILE and
270         COREFLAG based on the canonical host name.
271         * configure: Rebuild.
272         * Makefile.in: Rebuild dependencies.
273         (ALL_CFLAGS): Add @COREFLAG@.
274         (OFILES): Replace $(HDEPFILES) with @COREFILE@.
275         * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
276         support routines.  Check LYNX_CORE rather than HOST_LYNX.
277         * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
278         * i386lynx.c: Likewise.
279         * m68klynx.c: Likewise.
280         * sparclynx.c: Likewise.
281         * rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
282         * *-core.c: Comment changes.
283         * config/decstation.mh (HDEPFILES): Remove.
284         (HDEFINES): Remove -DTRAD_CORE.
285         * config/irix3.mh (RANLIB): Remove.
286         * config/irix4.mh (HDEPFILES, RANLIB): Remove.
287         (HDEFINES): Remove -DIRIX_CORE.
288         * config/riscos.mh (RANLIB, HDEPFILES): Remove.
289         (HDEFINES): Remove -DTRAD_CORE.
290         * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
291         * config/ultra3.mh (RANLIB): Remove.
292         * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
293         * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
294         * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
295         * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
296         * config/hppahpux.mh, config/hppaosf.mh: Remove.
297         * config/i386aix.mh, config/i386bsd.mh: Remove.
298         * config/i386linux.mh, config/i386mach3.mh: Remove.
299         * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
300         * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
301         * config/mipsmach3.mh, config/news-mips.mh: Remove.
302         * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
303         * config/rs600.mh, config/rs6000lynx.mh: Remove.
304         * config/solaris2.mh, config/stratus.mh: Remove.
305         * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
306         * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
307
308 Fri Sep  1 15:18:50 1995  Kazumoto Kojima  <kkojima@info.kanagawa-u.ac.jp>
309
310         * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
311         DT_FINI entry if the appropriate symbol is not in the hash table.
312
313         * libelf.h (struct elf_backend_data): Add create_program_headers
314         and want_hdr_in_seg fields.
315         * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
316         defined.
317         (elf_backend_create_program_headers): Likewise.
318         (elfNN_bed): Initialize create_program_headers and
319         want_hdr_in_seg.
320         * elf.c (get_program_header_size): Call create_program_headers
321         backend routine.
322         (map_program_segments): Check want_hdr_in_seg backend field.  Call
323         create_program_headers backend routine.
324
325         * elf.c (assign_file_positions_except_relocs): Align non allocated
326         sections when creating an executable.
327
328         * elfcode.h (elf_swap_phdr_in): Make non static.
329         (elf_swap_phdr_out): Make non static.
330         * libelf.h (bfd_elf32_swap_phdr_in): Declare.
331         (bfd_elf32_swap_phdr_out): Declare.
332         (bfd_elf64_swap_phdr_in): Declare.
333         (bfd_elf64_swap_phdr_out): Declare.
334
335         * ecofflink.c (ecoff_collect_shuffle): New static function.
336         (_bfd_ecoff_get_accumulated_pdr): New function.
337         (_bfd_ecoff_get_accumulated_sym): New function.
338         (_bfd_ecoff_get_accumulated_ss): New function.
339         * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
340         (_bfd_ecoff_get_accumulated_sym): Declare.
341         (_bfd_ecoff_get_accumulated_ss): Declare.
342         * libbfd.h: Rebuild.
343
344 Fri Sep  1 13:20:25 1995  Ian Lance Taylor  <ian@cygnus.com>
345
346         * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
347
348         * elflink.h (elf_link_add_object_symbols): Handle indirect and
349         warning symbols.  If any section is named .gnu.warning.XXX, treat
350         the contents as a warning to be issued if the symbol XXX is
351         referenced.
352         (elf_link_output_extsym): For an indirect or warning symbol, just
353         output the symbol it points to.
354
355         * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
356         if bfd_hash_allocate fails, since it will already be set.
357         (generic_link_hash_newfunc): Likewise.
358         (archive_hash_newfunc): Likewise.
359         (hash_entry_bfd): New static function.
360         (_bfd_generic_link_add_one_symbol): Pass new arguments to warning
361         callback.  Allocate a new warning using the hash table newfunc.
362         Use bfd_hash_replace to update the entry in the hash table, rather
363         than assuming we can copy the fields with structure assignment.
364
365         * hash.c (bfd_hash_replace): New function.
366         * bfd-in.h (bfd_hash_replace): Declare.
367         * bfd-in2.h: Rebuild.
368
369 Fri Sep  1 08:12:50 1995  James G. Smith  <jsmith@beauty.cygnus.com>
370
371         * config.bfd: Add mips*vr4300-*-elf* target.
372         * config/mipsbvr4300.mt: Added.
373
374 See file ChangeLog.2
375
376 \f
377 Local Variables:
378 mode: indented-text
379 left-margin: 8
380 fill-column: 74
381 version-control: never
382 End: