xref: /netbsd-src/external/gpl3/gdb/dist/bfd/ChangeLog-9697 (revision b23b258258b987bbf9a133408f54ee87c41f3a69)
1597410b8SchristosTue Dec 30 12:45:18 1997  Ian Lance Taylor  <ian@cygnus.com>
2597410b8Schristos
3597410b8Schristos	* elf32-sparc.c (elf32_sparc_check_relocs): If -Bsymbolic, don't
4597410b8Schristos	allocate space for a PC relative reloc against a symbol which is
5597410b8Schristos	defined in a regular file.
6597410b8Schristos	(elf32_sparc_relocate_section): If -Bsymbolic, don't copy a PC
7597410b8Schristos	relative reloc against a symbol which is defined in a regular
8597410b8Schristos	file.
9597410b8Schristos
10597410b8SchristosMon Dec 29 18:02:28 1997  Ian Lance Taylor  <ian@cygnus.com>
11597410b8Schristos
12597410b8Schristos	From Jonathan Stone <jonathan@DSG.Stanford.EDU>:
13597410b8Schristos	* config.bfd (mips-dec-netbsd*): Add ECOFF vectors to
14597410b8Schristos	targ_selvecs.
15597410b8Schristos	(mips*el-*-netbsd*): Like mips-dec-netbsd*.
16597410b8Schristos	(mips*-*-netbsd*): New target.
17597410b8Schristos
18597410b8SchristosMon Dec 29 17:13:28 1997  H.J. Lu  (hjl@gnu.org)
19597410b8Schristos
20597410b8Schristos	* elflink.h (elf_link_assign_sym_version): Change error message
21597410b8Schristos	from "undefined version name" to "undefined versioned symbol
22597410b8Schristos	name".
23597410b8Schristos
24597410b8SchristosMon Dec 29 11:41:16 1997  Nick Clifton  <nickc@cygnus.com>
25597410b8Schristos
26597410b8Schristos	* coff-arm.c (coff_arm_relocate_section): Fix typo from previous
27597410b8Schristos	delta.
28597410b8Schristos
29597410b8SchristosTue Dec 23 17:01:10 1997  Ian Lance Taylor  <ian@cygnus.com>
30597410b8Schristos
31597410b8Schristos	* libbfd-in.h (_bfd_dwarf2_find_nearest_line): Declare.
32597410b8Schristos	* libbfd.h: Rebuild.
33597410b8Schristos
34597410b8Schristos	* peicode.h (coff_swap_scnhdr_out): Set .reloc section to be
35597410b8Schristos	shared.  Set stab* sections to be shared and read.  Set .rsrc
36597410b8Schristos	section to be read and shared.
37597410b8Schristos
38597410b8SchristosMon Dec 22 13:20:57 1997  Ian Lance Taylor  <ian@cygnus.com>
39597410b8Schristos
40597410b8Schristos	* Makefile.am: Rebuild dependencies.
41597410b8Schristos 	(ALL_MACHINES_CFILES): Add dwarf2.lo.
42597410b8Schristos	(ALL_MACHINES_CFILES): Add dwarf2.c.
43597410b8Schristos	* Makefile.in: Rebuild.
44597410b8Schristos
45597410b8Schristos	* coff-arm.c: Don't include obstack.h.
46597410b8Schristos
47597410b8SchristosMon Dec 22 13:04:33 1997  Joel Sherrill  <joel@oarcorp.com>
48597410b8Schristos
49597410b8Schristos        * config.bfd (i[3456]86*-go32-rtems*): Fix to be the same as
50597410b8Schristos	i[3456]86-go32.
51597410b8Schristos
52597410b8SchristosThu Dec 18 16:01:25 1997  Doug Evans  <devans@canuck.cygnus.com>
53597410b8Schristos
54597410b8Schristos	* configure: Regenerate to get @SHELL@ substituted.
55597410b8Schristos
56597410b8SchristosWed Dec 17 09:45:09 1997  Nick Clifton  <nickc@cygnus.com>
57597410b8Schristos
58597410b8Schristos	* coff-arm.c (coff_arm_relocate_section): Only look at section
59597410b8Schristos	owner if there is one.
60597410b8Schristos
61597410b8Schristos	* elf.c (assign_file_positions_for_segments): Fail if there is not
62597410b8Schristos	enough room for the program headers.
63597410b8Schristos
64597410b8SchristosTue Dec 16 08:09:56 1997  Gavin Koch  <gavin@cygnus.com>
65597410b8Schristos
66597410b8Schristos	* elf.c (_bfd_elf_find_nearest_line): Call
67597410b8Schristos	_bfd_dwarf2_find_nearest_line first.
68597410b8Schristos	* elf32-mips.c (_bfd_mips_elf_find_nearest_line): Same.
69597410b8Schristos	* dwarf2.c: New file; implement _bfd_dwarf2_find_nearest_line.
70597410b8Schristos
71597410b8SchristosMon Dec 15 16:08:52 1997  Nick Clifton  <nickc@cygnus.com>
72597410b8Schristos
73597410b8Schristos	* archures.c: Add bfd_mach_m32r.
74597410b8Schristos
75597410b8SchristosMon Dec 15 16:11:22 1997  Fred Fish  <fnf@cygnus.com>
76597410b8Schristos
77597410b8Schristos	* coffcode.h (ALIGN_SECTIONS_IN_FILE): Define if I960 not defined.
78597410b8Schristos	(coff_compute_section_file_positions): Use ALIGN_SECTIONS_IN_FILE
79597410b8Schristos	to decide when to align the file sections for paging.
80597410b8Schristos	* coffcode.h (ALIGN_SECTIONS_IN_FILE): Undefine for TIC80COFF.
81597410b8Schristos
82597410b8SchristosMon Dec 15 15:01:15 1997  Nick Clifton  <nickc@cygnus.com>
83597410b8Schristos
84597410b8Schristos	* elf32-m32r.c (m32r_elf_object_p): New Function.
85597410b8Schristos	(m32r_elf_final_write_processing):  New Function.
86597410b8Schristos	(m32r_elf_set_private_flags):  New Function.
87597410b8Schristos	(m32r_elf_copy_private_bfd_data):  New Function.
88597410b8Schristos	(m32r_elf_merge_private_bfd_data):  New Function.
89597410b8Schristos	(m32r_elf_print_private_bfd_data):  New Function.
90597410b8Schristos	(elf_backend_object_p): Point to m32r_object_p.
91597410b8Schristos	(elf_backend_final_write_processing): Point to
92597410b8Schristos	m32r_elf_final_write_processing.
93597410b8Schristos	(bfd_elf32_bfd_copy_private_bfd_data): Point to
94597410b8Schristos	m32r_elf_copy_private_bfd_data.
95597410b8Schristos	(bfd_elf32_bfd_merge_private_bfd_data): Point to
96597410b8Schristos	m32r_elf_merge_private_bfd_data.
97597410b8Schristos	(bfd_elf32_bfd_set_private_flags): Point to
98597410b8Schristos	m32r_elf_set_private_bfd_data.
99597410b8Schristos	(bfd_elf32_bfd_print_private_bfd_data): Point to
100597410b8Schristos	m32r_elf_print_private_bfd_data.
101597410b8Schristos
102597410b8Schristos
103597410b8Schristos	* bfd-in2.h (bfd_mach_m32r): Add identifier for M32R architecture
104597410b8Schristos	machines.
105597410b8Schristos
106597410b8SchristosFri Dec 12 11:30:28 1997  Brendan Kehoe  <brendan@canuck.cygnus.com>
107597410b8Schristos
108597410b8Schristos	* configure: Only build libbfd shared if --enable-shared's value
109597410b8Schristos	was `yes', or was set to `*bfd*'.
110597410b8Schristos	* aclocal.m4: Likewise.
111597410b8Schristos	* NOTE: this really needs to be fixed in libtool/libtool.m4, the
112597410b8Schristos	original source of this bit of code.  It's not clear what the best fix
113597410b8Schristos	would be, though.
114597410b8Schristos
115597410b8SchristosThu Dec 11 17:48:11 1997  Richard Henderson  <rth@cygnus.com>
116597410b8Schristos
117597410b8Schristos	* linker.c (generic_link_add_symbol_list): Always init udata.p so
118597410b8Schristos	that the generic relaxation code can function when input and output
119597410b8Schristos	file formats are mismatched.
120597410b8Schristos
121597410b8SchristosThu Dec 11 01:02:18 1997  Ian Lance Taylor  <ian@cygnus.com>
122597410b8Schristos
123597410b8Schristos	* coff-sh.c (bfd_coff_small_swap_table): Initialize new fields.
124597410b8Schristos
125597410b8Schristos	* elf.c (assign_file_positions_for_segments): For a loadable
126597410b8Schristos	section, make sure that the load address is correct relative to
127597410b8Schristos	the load address of the segment plus the size of the segment so
128597410b8Schristos	far.
129597410b8Schristos
130597410b8Schristos	* coffcode.h (_coff_link_output_has_begun): Make static.
131597410b8Schristos	(_coff_final_link_postscript): Likewise.
132597410b8Schristos
133597410b8SchristosWed Dec 10 23:37:11 1997  Ian Lance Taylor  <ian@cygnus.com>
134597410b8Schristos
135597410b8Schristos	* elflink.h (elf_link_input_bfd): Handle a relocateable link in
136597410b8Schristos	which a relocation refers to an indirect or warning symbol.
137597410b8Schristos
138597410b8SchristosWed Dec 10 11:15:55 1997  Nick Clifton  <nickc@cygnus.com>
139597410b8Schristos
140597410b8Schristos	* coff-arm.c (bfd_arm_coff_final_link): Function deleted.
141597410b8Schristos	(coff_arm_final_link_postscript): New function.
142597410b8Schristos	(coff_arm_link_output_has_begun): New function.
143597410b8Schristos
144597410b8Schristos	* libcoff.h (struct bfd_coff_backend_data): Add new fields:
145597410b8Schristos	_bfd_coff_link_output_has_begun and
146597410b8Schristos	_bfd_coff_final_link_postscript.  Add new macros:
147597410b8Schristos	bfd_coff_link_output_has_begun() and
148597410b8Schristos	bfd_coff_final_link_postscript().
149597410b8Schristos
150597410b8Schristos	* cofflink.c (_bfd_coff_final_link): Insert calls to
151597410b8Schristos	bfd_coff_link_output_has_begun() and
152597410b8Schristos	bfd_coff_final_link_postscript().
153597410b8Schristos
154597410b8Schristos	* coffcode.h: Add two new fields to bfd_coff_backend_data
155597410b8Schristos	structure: _bfd_coff_link_output_has_begun and
156597410b8Schristos	_bfd_coff_final_link_postscript.  Add default initialisers for
157597410b8Schristos	these fields.  Add overridable aliases for the coff swap functions
158597410b8Schristos	in the backend data structure.
159597410b8Schristos
160597410b8Schristos	* elf32-v850.c: Update with patches from the branch to fix
161597410b8Schristos	HI16_S/LO16 reloc pairs.
162597410b8Schristos
163597410b8SchristosWed Dec 10 14:06:48 1997  Michael Meissner  <meissner@cygnus.com>
164597410b8Schristos
165597410b8Schristos	* elf32-d30v.c (d30v_info_to_howto_rela): New function to support
166597410b8Schristos	RELA relocations.
167597410b8Schristos	(USE_REL): Don't define any more, switch to using RELA
168597410b8Schristos	relocations.
169597410b8Schristos	(elf_info_to_howto): Define as d30v_info_to_howto_rela.
170597410b8Schristos
171597410b8SchristosTue Dec  9 11:37:53 1997  Andrew Cagney  <cagney@b1.cygnus.com>
172597410b8Schristos
173597410b8Schristos	* archures.c (bfd_mach_mips*): Define.
174597410b8Schristos	(bfd_default_scan): For 3000 and 4000 replace magic constant with
175597410b8Schristos 	macro.
176597410b8Schristos
177597410b8Schristos	* cpu-mips.c (N): Define.
178597410b8Schristos	(bfd_mips_arch, arch_info_struct): Re-write using macro N, replace
179597410b8Schristos 	numbers with bfd_mach_mips* macros.
180597410b8Schristos
181597410b8SchristosFri Dec  5 11:13:46 1997  Nick Clifton  <nickc@cygnus.com>
182597410b8Schristos
183597410b8Schristos	* elf32-v850.c (v850_elf_reloc, v850_elf_store_addend_in_insn,
184597410b8Schristos	v850_elf_relocate_section): Fix reloc addend handling.
185597410b8Schristos	(v850_elf_section_from_bfd_section, v850_elf_symbol_processing,
186597410b8Schristos	v850_elf_add_symbol_hook, v850_elf_link_output_symbol_hook,
187597410b8Schristos	v850_elf_section_from_shdr, v850_elf_fake_sections): New functions
188597410b8Schristos	to create and handle special common sections.
189597410b8Schristos	(v850_elf_final_link_relocate): Fix HI16 and HI16_S relocations
190597410b8Schristos	which have data stored in the instructions.
191597410b8Schristos
192597410b8SchristosTue Dec  2 10:26:16 1997  Nick Clifton  <nickc@cygnus.com>
193597410b8Schristos
194597410b8Schristos	* coff-arm.c (TARGET_UNDERSCORE): Revert back to '_'
195597410b8Schristos	(USER_LABEL_PREFIX): Revert back to '_'
196597410b8Schristos
197597410b8Schristos	* config.bfd (targ_cpu): Add support for Thumb target.
198597410b8Schristos
199597410b8SchristosMon Dec  1 20:24:18 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
200597410b8Schristos
201597410b8Schristos	* coff-sh.c (sh_coff_howtos): Add R_SH_SWITCH8 entry.
202597410b8Schristos	(get_symbol_value): Handle R_SH_SWITCH8.
203597410b8Schristos	(sh_relax_delete_bytes): Likewise.
204597410b8Schristos
205597410b8SchristosWed Nov 26 14:13:34 1997  Nick Clifton  <nickc@cygnus.com>
206597410b8Schristos
207597410b8Schristos	* coff-arm.c (TARGET_UNDERSCORE): Changed to match definition in
208597410b8Schristos	gcc/config/arm/semi.h
209597410b8Schristos
210597410b8Schristos	* coffcode.h (coff_slurp_symbol_table): Add ARM and Thumb symbol
211597410b8Schristos	classes.
212597410b8Schristos
213597410b8SchristosSun Nov 23 16:02:58 1997  Andrew Cagney  <cagney@b1.cygnus.com>
214597410b8Schristos
215597410b8Schristos	* freebsd.h (SWAP_MAGIC): Read magic number little and not big
216597410b8Schristos 	endian.
217597410b8Schristos
218597410b8SchristosWed Nov 26 09:30:37 1997  Nick Clifton  <nickc@cygnus.com>
219597410b8Schristos
220597410b8Schristos	* coffcode.h (coff_mkobject_hook): Only set private flags for non
221597410b8Schristos	PE ARM ports.
222597410b8Schristos
223597410b8SchristosTue Nov 25 15:33:23 1997  Richard Henderson  <rth@cygnus.com>
224597410b8Schristos
225597410b8Schristos	* binary.c (binary_set_section_contents): Also ignore NEVER_LOAD
226597410b8Schristos	sections.
227597410b8Schristos
228597410b8SchristosTue Nov 25 10:55:36 1997  Nick Clifton  <nickc@cygnus.com>
229597410b8Schristos
230597410b8Schristos	* coff-arm.c (coff_arm_bfd_merge_private_bfd_data): Do not
231597410b8Schristos	complain if inout and output formats differ.
232597410b8Schristos
233597410b8SchristosTue Nov 25 11:26:27 1997  Ian Lance Taylor  <ian@cygnus.com>
234597410b8Schristos
235597410b8Schristos	* Makefile.am (BFD32_BACKENDS): Remove tekhex.lo.
236597410b8Schristos	(BFD32_BACKENDS_CFILES): Remove tekhex.c.
237597410b8Schristos	* Makefile.in: Rebuild.
238597410b8Schristos	* aclocal.m4, configure, Makefile.in: Rebuild with current
239597410b8Schristos	automake and autoconf.
240597410b8Schristos
241597410b8Schristos	* coff-arm.c (arm_allocate_interworking_sections): Fix typo
242597410b8Schristos	(COFF_WITH_PR to COFF_WITH_PE).
243597410b8Schristos
244597410b8SchristosMon Nov 24 15:47:49 1997  Nick Clifton  <nickc@cygnus.com>
245597410b8Schristos
246597410b8Schristos	* coff-arm.c: Make variables and some functions static, so that
247597410b8Schristos	this file can be included in multiple object files.
248597410b8Schristos	(coff_arm_bfd_final_link): Fix minor bug.
249597410b8Schristos
250597410b8SchristosSat Nov 22 15:16:00 1997  Nick Clifton  <nickc@cygnus.com>
251597410b8Schristos
252597410b8Schristos	* coff-arm.c: Add support for PIC and APCS-FLOAT type binaries.
253597410b8Schristos
254597410b8Schristos	* coffcode.h: Add support for PIC and APCS-FLOAT type binaries.
255597410b8Schristos
256597410b8SchristosSat Nov 22 16:06:56 1997  Klaus Kaempf  <kkaempf@progis.de>
257597410b8Schristos
258597410b8Schristos	* evax-emh.c (_bfd_evax_write_emh): Use alloca instead of strdup.
259597410b8Schristos
260597410b8SchristosSat Nov 22 12:29:30 1997  Ian Lance Taylor  <ian@cygnus.com>
261597410b8Schristos
262597410b8Schristos	* sunos.c (sunos_add_one_symbol): When overriding a defined
263597410b8Schristos	symbol, set it to undefined, not new.
264597410b8Schristos
265597410b8Schristos	* elf32-sh.c (sh_elf_relax_delete_bytes): Don't kill LABEL
266597410b8Schristos	relocs.
267597410b8Schristos
268597410b8SchristosFri Nov 21 14:14:22 1997  Richard Henderson  <rth@cygnus.com>
269597410b8Schristos
270597410b8Schristos	* coff-sh.c (sh_relax_section): Force sign extention of USES r_offset.
271597410b8Schristos	(sh_relax_delete_bytes): Don't kill LABEL relocs.
272597410b8Schristos
273597410b8SchristosMon Nov 17 15:08:38 1997  Jeffrey A Law  (law@cygnus.com)
274597410b8Schristos
275597410b8Schristos	* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Fix typo.
276597410b8Schristos	(mn10300_elf_relax_section): Likewise.
277597410b8Schristos
278597410b8SchristosSat Nov 15 15:36:07 1997  Fred Fish  <fnf@cygnus.com>
279597410b8Schristos
280597410b8Schristos	* peicode.h (coff_swap_aouthdr_in): Cast second arg of
281597410b8Schristos	bfd_h_get_* calls to "bfd_byte *".
282597410b8Schristos
283597410b8SchristosTue Nov 11 10:37:23 1997  Jeffrey A Law  (law@cygnus.com)
284597410b8Schristos
285597410b8Schristos	* elf-m10300.c (elf32_mn10300_link_hash_entry): Add new field
286597410b8Schristos	"movm_stack_size".
287597410b8Schristos	(mn10300_elf_relax_section): Include stack space for register saves
288597410b8Schristos	in the imm8 field of a "call" instruction.
289597410b8Schristos	(compute_function_info): Determine how much stack is allocated by
290597410b8Schristos	the movm instruction.  Fix typo.
291597410b8Schristos	(elf32_mn10300_link_hash_newfunc): Initialize movm_stack_size.
292597410b8Schristos
293597410b8SchristosMon Nov 10 14:32:40 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
294597410b8Schristos
295597410b8Schristos	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Don't crash if
296597410b8Schristos	a version dependency could not be found.
297597410b8Schristos
298597410b8SchristosTue Nov  4 12:05:56 1997  Klaus K"ampf  <kkaempf@progis.de>
299597410b8Schristos
300597410b8Schristos	* configure.com: Get version info from configure.in
301597410b8Schristos
302597410b8SchristosFri Oct 24 11:15:58 1997  Jakub Jelinek  <jj@sunsite.mff.cuni.cz>
303597410b8Schristos
304597410b8Schristos	* elf64-sparc.c (sparc64_elf_merge_private_bfd_data):
305597410b8Schristos	New function. Avoid mixing US1 and HAL R1 code.
306597410b8Schristos	Set resulting memory ordering to the strongest one used.
307597410b8Schristos	(sparc64_elf_object_p): Set bfd_mach correctly.
308597410b8Schristos
309597410b8SchristosThu Oct 23 14:09:33 1997  Richard Henderson  <rth@cygnus.com>
310597410b8Schristos
311597410b8Schristos	* elf64-sparc.c (sparc64_elf_howto_table): Add UA64 & UA16.
312597410b8Schristos	(sparc64_elf_check_relocs): Handle them.
313597410b8Schristos	(sparc64_elf_relocate_section): Likewise.  Before emitting a dyn reloc,
314597410b8Schristos	check alignment and transmute R_SPARC_x<->R_SPARC_UAx.
315597410b8Schristos
316597410b8SchristosThu Oct 23 00:53:14 1997  Richard Henderson  <rth@dot.cygnus.com>
317597410b8Schristos
318597410b8Schristos	* configure.in (sparc*-*-linux*): Use trad-core and ...
319597410b8Schristos	* hosts/sparclinux.h: New file.
320597410b8Schristos
321597410b8SchristosThu Oct 23 00:25:29 1997  Richard Henderson  <rth@dot.cygnus.com>
322597410b8Schristos
323597410b8Schristos	* config.bfd (sparc64-*-linux*): New target.
324597410b8Schristos
325597410b8Schristos	* elf-bfd.h (struct elf_backend_data): Add plt_alignment member.
326597410b8Schristos	* elflink.c (_bfd_elf_create_got_section): Set .got alignment based
327597410b8Schristos	on arch_size.
328597410b8Schristos	(_bfd_elf_create_dynamic_sections): Likewise for .rel* sections.
329597410b8Schristos	Set .plt alignment from new plt_alignment.
330597410b8Schristos	* elflink.h (elf_link_create_dynamic_sections): Set version section
331597410b8Schristos	alignment to LOG_FILE_ALIGN.
332597410b8Schristos	* elfxx-target.h (elf_backend_plt_alignment): Provide default.
333597410b8Schristos	(elfXX_bed): Init plt_alignment.
334597410b8Schristos
335597410b8Schristos	* elf64-sparc.c (sparc64_elf_check_relocs,
336597410b8Schristos	sparc64_elf_adjust_dynamic_symbol, sparc64_elf_size_dynamic_sections,
337597410b8Schristos	sparc64_elf_adjust_dynindx, sparc64_elf_finish_dynamic_symbol,
338597410b8Schristos	sparc64_elf_finish_dynamic_sections): New functions.
339597410b8Schristos	(sparc64_elf_howto_table): Fix a few name strings.
340597410b8Schristos	(ELF_DYNAMIC_INTERPRETER): New definition.
341597410b8Schristos	(sparc64_elf_relocate_section): Handle shared libraries.
342597410b8Schristos
343597410b8Schristos	* elf64-sparc.c (struct plt_template, plt_*_header, plt_*_entry,
344597410b8Schristos	sparc64_elf_build_plt_entry, sparc64_elf_finish_dynamic_symbol):
345597410b8Schristos	PLT definitions sparc64-linux originally choose.  These will go
346597410b8Schristos	away soon in favour of the official abi definitions.
347597410b8Schristos
348597410b8SchristosWed Oct 22 16:08:45 1997  Ian Lance Taylor  <ian@cygnus.com>
349597410b8Schristos
350597410b8Schristos	* coff-sh.c (coff_small_object_p): New static function.
351597410b8Schristos	(coff_small_new_section_hook): New static function.
352597410b8Schristos	(bfd_coff_small_swap_table): New static const structure.
353597410b8Schristos	(coff_small_close_and_cleanup): Define.
354597410b8Schristos	(coff_small_bfd_free_cached_info): Define.
355597410b8Schristos	(coff_small_get_section_contents): Define.
356597410b8Schristos	(coff_small_get_section_contents_in_window): Define.
357597410b8Schristos	(shcoff_small_vec): New static structure.
358597410b8Schristos	(shlcoff_small_vec): New static structure.
359597410b8Schristos	* targets.c (bfd_target_vector): Add shcoff_small_vec and
360597410b8Schristos	shlcoff_small_vec.
361597410b8Schristos	* config.bfd (sh-*-elf*): Add shcoff_small_vec and
362597410b8Schristos	shlcoff_small_vec to targ_selvecs.
363597410b8Schristos	(sh-*-*): Likewise.
364597410b8Schristos	* configure.in: Add shcoff_small_vec and shlcoff_small_vec cases.
365597410b8Schristos	* configure: Rebuild.
366597410b8Schristos
367597410b8SchristosMon Oct 20 15:01:27 1997  Klaus K"ampf  <kkaempf@progis.de>
368597410b8Schristos
369597410b8Schristos	* evax-egsd.c: Weak symbols are global.
370597410b8Schristos
371597410b8Schristos	* evax-emh.c: Use proper casts.
372597410b8Schristos
373597410b8Schristos	* evax-egsd.c (_bfd_evax_write_egsd): Remove unneeded uname.
374597410b8Schristos
375597410b8Schristos	* evax-egsd.c: Section names and symbols have different
376597410b8Schristos	length restrictions. Add length parameter to
377597410b8Schristos	_bfd_evax_length_hash_symbol.
378597410b8Schristos	* evax-etir.c: Likewise.
379597410b8Schristos	* evax-misc.c (_bfd_evax_length_hash_symbol): Add length
380597410b8Schristos	parameter.
381597410b8Schristos	* evax.h (EOBJ_S_C_SECSIZ): Define.
382597410b8Schristos
383597410b8Schristos	* evax-alpha.c: Remove duplicate test.
384597410b8Schristos
385597410b8Schristos	* evax-emh.c: SYS$ functions are upper-case.
386597410b8Schristos
387597410b8Schristos	* evax-egsd.c: Create separate sections for common symbols.
388597410b8Schristos	* evax-etir.c: Don't output common section.
389597410b8Schristos	* evax.h: Bump up section count.
390597410b8Schristos
391597410b8Schristos	* configure.com: Use 64bit integers with DEC C.
392597410b8Schristos
393597410b8Schristos	* evax-egsd.c: Make section flags dec c compatible.
394597410b8Schristos
395597410b8SchristosMon Oct 20 09:38:31 1997  Jeffrey A Law  (law@cygnus.com)
396597410b8Schristos
397597410b8Schristos	* som.c (normalize): Delete function.
398597410b8Schristos	(som_bfd_ar_write_symbol_stuff): New parameter elength.  All callers
399597410b8Schristos	changed.  Use passed in elength to determine size of the extended
400597410b8Schristos	name table instead of computing it again.
401597410b8Schristos
402597410b8SchristosSun Oct 19 23:36:21 1997  Jim Wilson  <wilson@cygnus.com>
403597410b8Schristos
404597410b8Schristos	* peicode.h (coff_swap_scnhdr_out): Use |= not = to set
405597410b8Schristos	IMAGE_SCN_MEM_READ for an unrecognized section.
406597410b8Schristos
407597410b8SchristosSun Oct 19 21:04:56 1997  Jeffrey A Law  (law@cygnus.com)
408597410b8Schristos
409597410b8Schristos	* som.c (som_bfd_ar_write_symbol_stuff): Account for trailing
410597410b8Schristos	'/' in the extended name table.
411597410b8Schristos
412597410b8SchristosFri Oct 17 00:04:13 1997  Richard Henderson  <rth@cygnus.com>
413597410b8Schristos
414597410b8Schristos	* elflink.h (elf_link_assign_sym_version): For explicitly versioned
415597410b8Schristos	symbols, check globals list before matching on locals.
416597410b8Schristos
417597410b8SchristosThu Oct 16 08:17:06 1997  Michael Meissner  <meissner@cygnus.com>
418597410b8Schristos
419597410b8Schristos	* peicode.h (coff_swap_scnhdr_out,pe_print_idata): Fix mangled
420597410b8Schristos	patch.
421597410b8Schristos
422597410b8SchristosWed Oct 15 13:45:10 1997  Ian Lance Taylor  <ian@cygnus.com>
423597410b8Schristos
424597410b8Schristos	* peicode.h (pe_mkobject_hook): Set DLL flag.
425597410b8Schristos	(pe_bfd_copy_private_bfd_data): Copy DLL flag.
426597410b8Schristos
427597410b8Schristos	* peicode.h (coff_swap_scnhdr_out): Set IMAGE_SCN_MEM_DISCARDABLE
428597410b8Schristos	for .stab* sections.  Replace strlen of constant strings with
429597410b8Schristos	number.
430597410b8Schristos
431597410b8SchristosTue Oct 14 15:42:45 1997  Richard Henderson  <rth@cygnus.com>
432597410b8Schristos
433597410b8Schristos	* elf64-alpha.c (elf64_alpha_merge_ind_symbols): New function to
434597410b8Schristos	merge got and reloc entries from ind syms to their target.
435597410b8Schristos	(elf64_alpha_always_size_sections): Call it.
436597410b8Schristos	(elf64_alpha_check_relocs): Operate on the target of indirect symbols.
437597410b8Schristos	(elf64_alpha_can_merge_gots): Likewise.
438597410b8Schristos	(elf64_alpha_merge_gots): Likewise.
439597410b8Schristos
440597410b8Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Back out HJ's change,
441597410b8Schristos	as it is insufficient to handle the relocation changes as well.
442597410b8Schristos
443597410b8SchristosMon Oct 13 23:10:08 1997  Richard Henderson  <rth@cygnus.com>
444597410b8Schristos
445597410b8Schristos	* elf64-alpha.c (elf64_alpha_calc_dynrel_sizes): Allow for RELATIVE
446597410b8Schristos	relocs for symbols in shlibs that have been forced local.
447597410b8Schristos	(elf64_alpha_relocate_section): Output RELATIVEs in .got for same.
448597410b8Schristos
449597410b8SchristosMon Oct 13 21:24:04 1997  Richard Henderson  <rth@cygnus.com>
450597410b8Schristos
451597410b8Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Use the
452597410b8Schristos	got_enties of the default symbol for the default versioned
453597410b8Schristos	symbol.  Patch from hjl@gnu.ai.mit.edu, modified not to use
454597410b8Schristos	alloca in the loop.
455597410b8Schristos
456597410b8SchristosMon Oct 13 17:37:37 1997  Nick Clifton  <nickc@cygnus.com>
457597410b8Schristos
458597410b8Schristos	* elf32-v850.c (v850_elf_final_link_relocate): Only use the bottom
459597410b8Schristos	24 bits of the PC when computing a PC relative relocation.
460597410b8Schristos
461597410b8SchristosFri Oct 10 16:01:30 1997  Nick Clifton  <nickc@cygnus.com>
462597410b8Schristos
463597410b8Schristos	* elf32-v850.c (v850_elf_reloc, v850_elf_final_link_relocate):
464597410b8Schristos	Correct value for maximum positive 22 bit PC relative relocation.
465597410b8Schristos	(v850_elf_final_link_relocate):  Prevent overflow from HI16_S and
466597410b8Schristos	HI_16 relocations.  Correct bit adjustment in TDA offsets.
467597410b8Schristos
468597410b8SchristosThu Oct  9 16:43:39 1997  Doug Evans  <dje@canuck.cygnus.com>
469597410b8Schristos
470597410b8Schristos	* elf64-sparc.c (sparc_elf_{hix22,lox10}_reloc): New functions.
471597410b8Schristos	(sparc64_elf_howto_table): Use them for HIX22,LOX10 relocs.
472597410b8Schristos
473597410b8SchristosWed Oct  8 11:38:45 1997  Richard Henderson  <rth@cygnus.com>
474597410b8Schristos
475597410b8Schristos	* elfcore.h (bfd_prstatus): Pedanticly, alignment_power should
476597410b8Schristos	be LOG_FILE_ALIGN.
477597410b8Schristos
478597410b8SchristosWed Oct  8 11:36:00 1997  Richard Henderson  <rth@cygnus.com>
479597410b8Schristos
480597410b8Schristos	* config.bfd: Missed one alpha* change.
481597410b8Schristos
482597410b8SchristosTue Oct  7 13:00:17 1997  Doug Evans  <dje@canuck.cygnus.com>
483597410b8Schristos
484597410b8Schristos	* elf32-sparc.c (_bfd_sparc_elf_howto_table): Remove BFD64 support.
485597410b8Schristos	* elf64-sparc.c (SPARC64_OLD_RELOCS): Undef.
486597410b8Schristos	(MINUS_ONE): New macro.
487597410b8Schristos	(sparc_elf_notsup_reloc): New function.
488597410b8Schristos	(sparc64_elf_howto_table): Add entries for DISP64,PLT64,HIX22,LOX10,
489597410b8Schristos	H44,M44,L44,REGISTER.
490597410b8Schristos	(sparc_reloc_map): Likewise.  Map BFD_RELOC_CTOR to R_SPARC_64.
491597410b8Schristos	(init_insn_reloc): New function.
492597410b8Schristos	(sparc_elf_wdisp16_reloc): Use it.
493597410b8Schristos	(sparc64_elf_relocate_section): Add entries for OLO10,HIX22,LOX10.
494597410b8Schristos
495597410b8SchristosTue Oct  7 11:40:37 1997  Ian Lance Taylor  <ian@cygnus.com>
496597410b8Schristos
497597410b8Schristos	* som.c (som_construct_extended_name_table): Remove static
498597410b8Schristos	function, and define as macro instead.
499597410b8Schristos
500597410b8SchristosFri Oct  3 14:02:17 1997  Richard Henderson  <rth@cygnus.com>
501597410b8Schristos
502597410b8Schristos	* config.bfd: Change alpha-*-* to alpha*-*-*; config.guess now
503597410b8Schristos	recognizes alphaev5 etc.
504597410b8Schristos	* configure.host: Likewise.
505597410b8Schristos
506597410b8SchristosFri Oct  3 11:23:47 1997  Ian Lance Taylor  <ian@cygnus.com>
507597410b8Schristos
508597410b8Schristos	Make ld -s work on AIX:
509597410b8Schristos	* xcofflink.c (xcoff_link_add_symbols): Don't create the .debug
510597410b8Schristos	section if we are stripping.
511597410b8Schristos	(bfd_xcoff_size_dynamic_sections): Don't set the .debug section
512597410b8Schristos	size if we are stripping.
513597410b8Schristos	(_bfd_xcoff_bfd_final_link): Don't set SEC_RELOC or rel_filepos,
514597410b8Schristos	and don't write out relocs, if we are stripping.
515597410b8Schristos	(xcoff_link_input_bfd): Don't set up reloc if we are stripping.
516597410b8Schristos	(xcoff_write_global_symbol): Don't write out symbol or reloc if we
517597410b8Schristos	are stripping.
518597410b8Schristos
519597410b8Schristos	* configure.in: Don't include elf.lo again for ELF targets; it's
520597410b8Schristos	always in the library anyhow.
521597410b8Schristos	* configure: Rebuild.
522597410b8Schristos
523597410b8Schristos	* bfd-in2.h: Rebuild.
524597410b8Schristos
525597410b8Schristos	* elf32-sparc.c (sparc_elf_wdisp16_reloc): Cast to bfd_byte *, not
526597410b8Schristos	char *, when calling bfd_get_32 and bfd_put_32.
527597410b8Schristos	* sunos.c (sunos_scan_dynamic_symbol): Cast contents to char *
528597410b8Schristos	when calling strcpy.
529597410b8Schristos
530597410b8SchristosThu Oct  2 16:15:50 1997  Doug Evans  <dje@canuck.cygnus.com>
531597410b8Schristos
532597410b8Schristos	* reloc.c (bfd_check_overflow): New function.
533597410b8Schristos	(bfd_perform_relocation, bfd_install_relocation): Use it.
534597410b8Schristos	(BFD_RELOC_SPARC_{DISP64,PLT64}): New relocs.
535597410b8Schristos	(BFD_RELOC_SPARC_{HIX22,LOX10,H44,M44,L44,REGISTER}): New relocs.
536597410b8Schristos	* bfd-in2.h: Regenerate.
537597410b8Schristos	* libbfd.h: Regenerate.
538597410b8Schristos
539597410b8SchristosThu Oct  2 13:17:18 1997  Ian Lance Taylor  <ian@cygnus.com>
540597410b8Schristos
541597410b8Schristos	* peicode.h (coff_swap_scnhdr_out): Set IMAGE_SCN_MEM_READ for an
542597410b8Schristos	unrecognized section.  From Jon Thackray <jont@harlequin.co.uk>.
543597410b8Schristos
544597410b8SchristosWed Oct  1 14:03:44 1997  Ian Lance Taylor  <ian@cygnus.com>
545597410b8Schristos
546597410b8Schristos	* Makefile.am ($(BFD_H)): Change stmp-bfd.h to stmp-bfd-h.
547597410b8Schristos 	(stmp-bfd-h): Rename from stmp-bfd.h.
548597410b8Schristos 	(BFD_H_FILES, LIBBFD_H_FILES, LIBCOFF_H_FILES): New variables.
549597410b8Schristos	($(srcdir)/bfd-in2.h): Just depend upon stmp-bin2-h.
550597410b8Schristos	(stmp-bin2-h): New target.
551597410b8Schristos	($(srcdir)/libbfd.h): Just depend upon stmp-lbfd-h.
552597410b8Schristos	(stmp-lbfd-h): New target.
553597410b8Schristos	($(srcdir)/libcoff.h): Just depend upon stmp-lcoff-h.
554597410b8Schristos	(stmp-lcoff-h): New target.
555597410b8Schristos	(CLEANFILES): Change stmp-bfd.h to stmp-bfd-h.  Add stmp-bin2.h,
556597410b8Schristos	stmp-lbfd-h, and stmp-lcoff-h.
557597410b8Schristos	* Makefile.in: Rebuild.
558597410b8Schristos
559597410b8Schristos	* configure.in: Use a diversion to set enable_shared before the
560597410b8Schristos	arguments are parsed.
561597410b8Schristos	* configure: Rebuild.
562597410b8Schristos
563597410b8SchristosTue Sep 30 14:18:32 1997  Doug Evans  <dje@canuck.cygnus.com>
564597410b8Schristos
565597410b8Schristos	* elf32-sparc.c (_bfd_sparc_elf_howto_table): R_SPARC_GLOB_JMP
566597410b8Schristos	renamed to R_SPARC_UNUSED_42.
567597410b8Schristos	(sparc_reloc_map): Delete R_SPARC_GLOB_JMP entry.
568597410b8Schristos	* elf64-sparc.c (_bfd_sparc_elf_howto_table): R_SPARC_GLOB_JMP
569597410b8Schristos	renamed to R_SPARC_UNUSED_42.
570597410b8Schristos	(sparc_reloc_map): Delete R_SPARC_GLOB_JMP entry.
571597410b8Schristos	* reloc.c (BFD_RELOC_SPARC_GLOB_JMP): Delete.
572597410b8Schristos	* bfd-in2.h: Regenerated.
573597410b8Schristos	* libbfd.h: Regenerated.
574597410b8Schristos
575597410b8SchristosThu Sep 25 12:15:02 1997  Ian Lance Taylor  <ian@cygnus.com>
576597410b8Schristos
577597410b8Schristos	* elflink.h (elf_merge_symbol): Don't check the hash creator until
578597410b8Schristos	after we have set *sym_hash.
579597410b8Schristos
580597410b8SchristosWed Sep 24 16:52:28 1997  Joel Sherrill  <joel@oarcorp.com>
581597410b8Schristos
582597410b8Schristos        * config.bfd (sh*-*-rtems*): New target, like sh-*-*elf*.
583597410b8Schristos
584597410b8SchristosWed Sep 24 11:27:23 1997  Ian Lance Taylor  <ian@cygnus.com>
585597410b8Schristos
586597410b8Schristos	* Makefile.am (libbfd_a_SOURCES): Define.
587597410b8Schristos	* Makefile.in: Rebuild.
588597410b8Schristos
589597410b8Schristos	* configure.in: Call AC_CHECK_TOOL before AM_PROG_LIBTOOL.
590597410b8Schristos	* aclocal.m4: Rebuild with new libtool.
591597410b8Schristos	* configure: Rebuild.
592597410b8Schristos
593597410b8SchristosTue Sep 23 19:03:13 1997  Ian Lance Taylor  <ian@cygnus.com>
594597410b8Schristos
595597410b8Schristos	* elf.c (map_sections_to_segments): Even if we are not demand
596597410b8Schristos	paged, don't put a loadable section after a nonloadable section.
597597410b8Schristos	(assign_file_positions_for_segments): Increment the file offset
598597410b8Schristos	for a section with contents, even if it is not loadable.
599597410b8Schristos
600597410b8SchristosSun Sep 21 11:03:24 1997  Nick Clifton  <nickc@cygnus.com>
601597410b8Schristos
602597410b8Schristos	* elf32-v850.c (v850_elf_final_link_relocate): Add return code
603597410b8Schristos	indicating that __ctbp could not be found.
604597410b8Schristos
605597410b8SchristosThu Sep 18 15:04:57 1997  Nick Clifton  <nickc@cygnus.com>
606597410b8Schristos
607597410b8Schristos	* elf32-v850.c (v850_elf_check_relocs): Improve error message.
608597410b8Schristos
609597410b8SchristosWed Sep 17 09:54:51 1997  Nick Clifton  <nickc@cygnus.com>
610597410b8Schristos
611597410b8Schristos	* elf32-v850.c (v850_elf_final_link_relocate, v850_elf_reloc,
612597410b8Schristos	v850_elf_check_relocs, v850_elf_reloc_map, v850_elf_howto_table):
613597410b8Schristos	Add support for the CALLT relocs.
614597410b8Schristos
615597410b8Schristos	* reloc.c (COMMENT): Add BFD_RELOC_V850_CALLT_6_7_OFFSET and
616597410b8Schristos	BFD_RELOC_V850_CALLT_16_16_OFFSET.
617597410b8Schristos
618597410b8Schristos	* elf32-v850.c (v850_elf_final_link_relocate): Add checks to catch
619597410b8Schristos	relocations against non-existant symbols.
620597410b8Schristos
621597410b8SchristosTue Sep 16 14:20:27 1997  Nick Clifton  <nickc@cygnus.com>
622597410b8Schristos
623597410b8Schristos	* reloc.c: Add BFR_RELOC_V850_TDA_16_16_OFFSET.
624597410b8Schristos
625597410b8Schristos	* elf32-v850.c (v850_elf_reloc, v850_elf_final_link_relocate,
626597410b8Schristos	v850_elf_howto_table, v850_elf_reloc_map): Add support for a 16
627597410b8Schristos	bit reloc in the tiny data area.
628597410b8Schristos
629597410b8SchristosMon Sep 15 11:27:36 1997  Ken Raeburn  <raeburn@cygnus.com>
630597410b8Schristos
631597410b8Schristos	Merged changes from Martin Hunt:
632597410b8Schristos
633597410b8Schristos	* elf32-d30v.c (bfd_elf_d30v_reloc): Change pc-relative relocs
634597410b8Schristos	over 2^32 bytes to be absolute.  Needed because D30V PC doesn't
635597410b8Schristos	necessarily wrap.
636597410b8Schristos
637597410b8Schristos	* reloc.c, elf32-d30v.c (BFD_RELOC_D30V_9_PCREL,
638597410b8Schristos	BFD_RELOC_D30V_9_PCREL_R): New relocs.
639597410b8Schristos
640597410b8Schristos	* elf32-d30v.c (bfd_elf_d30v_reloc_21): New function.
641597410b8Schristos	Do 15 and 21 bit pc-relative relocations.
642597410b8Schristos	* reloc.c (BFD_RELOC_D30V_15_PCREL_R, BFD_RELOC_D30V_21_PCREL_R):
643597410b8Schristos	New relocations.
644597410b8Schristos
645597410b8Schristos	* elf32-d30v.c (bfd_elf_d30v_reloc): Addend needs to be
646597410b8Schristos	added to the relocation, not or'd.
647597410b8Schristos
648597410b8SchristosWed Sep 10 15:17:25 1997  Nick Clifton  <nickc@cygnus.com>
649597410b8Schristos
650597410b8Schristos	* elf32-v850.c (v850_elf_reloc): Remove spurious error message.
651597410b8Schristos
652597410b8SchristosWed Sep 10 11:17:50 1997  Andrew Cagney  <cagney@b1.cygnus.com>
653597410b8Schristos
654597410b8Schristos	* archures.c (bfd_default_scan): Use strcasecmp.
655597410b8Schristos	(bfd_default_scan): Test for match with arch_name + ":" +
656597410b8Schristos 	printable_name.
657597410b8Schristos	(bfd_default_scan): Test for match with printable_name - ":".
658597410b8Schristos	(bfd_default_scan): Delete w65, h8300, h8500, z8k, i960 special
659597410b8Schristos 	cases.  Each implements their own scan function.
660597410b8Schristos	(bfd_default_scan): Delete 386, 2900, 860, mips 2000, mips 4400
661597410b8Schristos 	special cases.  Since info->mach == 0.  The test mach == number
662597410b8Schristos 	fails.
663597410b8Schristos	(bfd_arch_list): New function, return name of all the supported
664597410b8Schristos 	architectures.
665597410b8Schristos
666597410b8SchristosTue Sep  9 10:21:56 1997  Nick Clifton  <nickc@cygnus.com>
667597410b8Schristos
668597410b8Schristos	* elf32-v850.c (v850_elf_print_private_bfd_data): Break after
669597410b8Schristos	decoding architecture.
670597410b8Schristos	(v850_elf_reloc): Do not complain if a R_V850_LO16 reloc has bit
671597410b8Schristos	15 set.
672597410b8Schristos
673597410b8SchristosSun Sep  7 12:25:22 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
674597410b8Schristos
675597410b8Schristos	* elf64-alpha.c (reloc_howto_type): Fix the howto table.
676597410b8Schristos
677597410b8SchristosThu Sep  4 09:44:10 1997  Ian Lance Taylor  <ian@cygnus.com>
678597410b8Schristos
679597410b8Schristos	* Makefile.am: Rebuild dependencies.
680597410b8Schristos 	(ALL_MACHINES_CFILES): Add cpu-v850.c.
681597410b8Schristos	(ALL_MACHINES_CFILES): Add elf32-v850.c.
682597410b8Schristos	* Makefile.in: Rebuild.
683597410b8Schristos
684597410b8Schristos	* reloc.c: Remove extraneous commas from relocation entries.
685597410b8Schristos	Remove BFD_RELOC_V850_16_PCREL.
686597410b8Schristos	* bfd-in2.h: Rebuild.
687597410b8Schristos
688597410b8Schristos	* xcofflink.c (xcoff_link_add_symbols): Put XTY_CM/XMC_TD symbols
689597410b8Schristos	in sections named .tocbss rather than .bss.
690597410b8Schristos
691597410b8SchristosWed Sep  3 11:23:23 1997  Nick Clifton  <nickc@cygnus.com>
692597410b8Schristos
693597410b8Schristos	* libbfd.h, bfd-in2.h, elf32-v850.c: Removed
694597410b8Schristos	BFD_RELOC_V850_16_PCREL.
695597410b8Schristos
696597410b8SchristosTue Sep  2 20:44:10 1997  Fred Fish  <fnf@cygnus.com>
697597410b8Schristos
698597410b8Schristos	* cofflink.c (coff_link_check_ar_symbols): Handle C_SYSTEM syms
699597410b8Schristos	the same as C_EXT syms.
700597410b8Schristos	(coff_link_add_symbols): Ditto.
701597410b8Schristos	(_bfd_coff_link_input_bfd): Ditto.
702597410b8Schristos	(_bfd_coff_write_task_globals): Add save_global_to_static.  Use
703597410b8Schristos	it to preserve and restore state of global_to_static flag.
704597410b8Schristos
705597410b8SchristosTue Sep  2 17:45:22 1997  Nick Clifton  <nickc@cygnus.com>
706597410b8Schristos
707597410b8Schristos	* elf32-v850.c (v850_elf_object_p): Set machine number based on
708597410b8Schristos	bits in e_flags field rather than magic numbers.
709597410b8Schristos	(v850_elf_final_write_processing, v850_elf_set_private_flags,
710597410b8Schristos	v850_elf_copy_private_bfd_data, v850_elf_merge_private_bfd_data,
711597410b8Schristos	v850_elf_print_private_bfd_data): New functions.
712597410b8Schristos
713597410b8SchristosTue Sep  2 17:43:49 1997  Nick Clifton  <nickc@cygnus.com>
714597410b8Schristos
715597410b8Schristos	* elf.c (prep_headers): Remove V850E magic number.
716597410b8Schristos	* elf.c (prep_headers): Remove V850EA magic number.
717597410b8Schristos
718597410b8SchristosTue Sep  2 17:35:05 1997  Doug Evans  <dje@canuck.cygnus.com>
719597410b8Schristos
720597410b8Schristos	* cpu-arc.c (arc_get_mach): Properly scan defined mach entries.
721597410b8Schristos
722597410b8SchristosTue Sep  2 18:29:37 1997  Jeffrey A Law  (law@cygnus.com)
723597410b8Schristos
724597410b8Schristos	* elf-m10200.c (mn10200_elf_final_link_relocate): PC relative
725597410b8Schristos	instructions are relative to the next instruction, not the
726597410b8Schristos	current instruction.
727597410b8Schristos	(mn10200_elf_relax_section): Similarly.
728597410b8Schristos
729597410b8SchristosTue Sep  2 15:45:45 1997  Nick Clifton  <nickc@cygnus.com>
730597410b8Schristos
731597410b8Schristos	* cpu-v850.c: Use a macro to construct bfd_arch_info_type
732597410b8Schristos	entries.
733597410b8Schristos
734597410b8Schristos	* reloc.c, libbfd.h, bfd-in2.h, elf32-v850.c: Replace
735597410b8Schristos	BFD_RELOC_V850_{SDA/TDA/ZDA}_OFFSET relocs with new bit pattern
736597410b8Schristos	specific versions: BFD_RELOC_V850_{area}_{bits}_OFFSET.
737597410b8Schristos
738597410b8SchristosThu Aug 28 17:01:09 1997  Andrew Cagney  <cagney@b1.cygnus.com>
739597410b8Schristos
740597410b8Schristos	* cpu-v850.c: Remove "plain" from v850 printable name.
741597410b8Schristos	(scan): Use strcasecmp.
742597410b8Schristos
743597410b8Schristos	* archures.c (bfd_mach_v850): Define.
744597410b8Schristos
745597410b8Schristos	* cpu-sh.c (scan_mach): Compare with table instead of hardwired to
746597410b8Schristos 	just sh/SH, use strcasecmp.
747597410b8Schristos	(arch_info_struct): Add entries for sh3 et.al.
748597410b8Schristos
749597410b8Schristos	* archures.c (bfd_mach_sh, ...): Define.
750597410b8Schristos
751597410b8SchristosWed Aug 27 17:33:07 1997  Andrew Cagney  <cagney@b1.cygnus.com>
752597410b8Schristos
753597410b8Schristos	* archures.c (bfd_archures_list): Always NULL terminate the list.
754597410b8Schristos
755597410b8SchristosTue Aug 26 17:26:51 1997  Ian Lance Taylor  <ian@cygnus.com>
756597410b8Schristos
757597410b8Schristos	* Makefile.am: Rebuild dependencies.
758597410b8Schristos	(ALL_MACHINES_CFILES): Add cpu-arc.c.
759597410b8Schristos	(ALL_MACHINES_CFILES): Add elf32-arc.c.
760597410b8Schristos	(elf32-arc.lo): Remove explicit dependency.
761597410b8Schristos	* Makefile.in: Rebuild.
762597410b8Schristos
763597410b8Schristos	* acinclude.m4 (BFD_CC_FOR_BUILD): Set EXEEXT_FOR_BUILD.
764597410b8Schristos	* doc/Makefile.am (MKDOC): Use EXEEXT_FOR_BUILD, not EXEEXT.
765597410b8Schristos	* aclocal.m4: Rebuild.
766597410b8Schristos	* configure: Rebuild.
767597410b8Schristos	* Makefile.in: Rebuild.
768597410b8Schristos	* doc/Makefile.in: Rebuild.
769597410b8Schristos
770597410b8SchristosMon Aug 25 16:14:34 1997  Christopher Provenzano  <proven@cygnus.com>
771597410b8Schristos
772597410b8Schristos	* configure: Rebuild with latest devo autoconf for NT support
773597410b8Schristos
774597410b8SchristosMon Aug 25 16:11:04 1997  Nick Clifton  <nickc@cygnus.com>
775597410b8Schristos
776597410b8Schristos	* cpu-arm.c (compatible): If B is a default type, return A.
777597410b8Schristos
778597410b8SchristosMon Aug 25 15:35:46 1997  Nick Clifton  <nickc@cygnus.com>
779597410b8Schristos
780597410b8Schristos	* cpu-v850.c (scan): New function.
781597410b8Schristos	(arch_info_struct): New structure.
782597410b8Schristos	(bfd_v850_arch): Add link into arch_info_structure.
783597410b8Schristos
784597410b8Schristos	* config.bfd (targ_cpu): All v850 variants use the bfd_arch_v850
785597410b8Schristos	architecture.
786597410b8Schristos
787597410b8Schristos	* elf32-v850.c (v850_elf_object_p): New function.
788597410b8Schristos
789597410b8Schristos	* archures.c (bfd_mach_v850e): Machine value for v850e.
790597410b8Schristos
791597410b8Schristos	* bfd-in2.h (bfd_mach_v850e): Machine value for v850e.
792597410b8Schristos
793597410b8Schristos	* elf32-v850.c (ELF_MACHINE_CODE): Default to v850e machine
794597410b8Schristos	number.
795597410b8Schristos
796597410b8Schristos	* elf.c (prep_headers): Add support for v850e machine number.
797597410b8Schristos
798597410b8Schristos	* archures.c (bfd_mach_v850ea): Machine value for v850ea.
799597410b8Schristos
800597410b8Schristos	* bfd-in2.h (bfd_mach_v850ea): Machine value for v850ea.
801597410b8Schristos
802597410b8Schristos	* elf32-v850.c (ELF_MACHINE_CODE): Default to v850ea machine
803597410b8Schristos	number.
804597410b8Schristos
805597410b8Schristos	* elf.c (prep_headers): Add support for v850ea machine number.
806597410b8Schristos
807597410b8SchristosMon Aug 25 14:07:33 1997  Ian Lance Taylor  <ian@cygnus.com>
808597410b8Schristos
809597410b8Schristos	* syms.c (_bfd_stab_section_find_nearest_line): Clear the
810597410b8Schristos 	cached_stab field if the offset prevents us from using the cache.
811597410b8Schristos
812597410b8SchristosMon Aug 25 12:08:13 1997  Ian Lance Taylor  <ian@cygnus.com>
813597410b8Schristos
814597410b8Schristos	* aout-target.h (MY(vec)): Add SEC_CODE and SEC_DATA to section
815597410b8Schristos	flags.
816597410b8Schristos	* aout-arm.c (aout_arm_little_vec): Likewise.
817597410b8Schristos	(aout_arm_big_vec): Likewise.
818597410b8Schristos	* bout.c (b_out_vec_big_host): Likewise.
819597410b8Schristos	(b_out_vec_little_host): Likewise.
820597410b8Schristos	* mipsbsd.c (aout_mips_little_vec): Likewise.
821597410b8Schristos	(aout_mips_big_vec): Likewise.
822597410b8Schristos
823597410b8SchristosTue Aug 19 10:09:10 1997  Fred Fish  <fnf@cygnus.com>
824597410b8Schristos
825597410b8Schristos	* coff-tic80.c (COFF_ALIGN_IN_SFLAGS): Define to 1.
826597410b8Schristos	* coffcode.h (styp_to_sec_flags): Ignore incoming STYP_INFO
827597410b8Schristos	bit in s_flags if COFF_ALIGN_IN_S_FLAGS is defined.
828597410b8Schristos
829597410b8SchristosTue Aug 19 08:47:17 1997  Fred Fish  <fnf@cygnus.com>
830597410b8Schristos
831597410b8Schristos	* coff-i960.c (COFF_ALIGN_IN_SECTION_HEADER): Define to 1.
832597410b8Schristos	(GET_SCNHDR_ALIGN, PUT_SCNHDR_ALIGN): Define.
833597410b8Schristos	* coff-m88k.c (GET_SCNHDR_NRELOC, GET_SCNHDR_NLNNO): Define.
834597410b8Schristos	* coffcode.h (coff_set_alignment_hook): Conditionally compile in if
835597410b8Schristos	COFF_ALIGN_IN_SECTION_HEADER is defined.  Convert alignment to power
836597410b8Schristos	of two for I960 only.
837597410b8Schristos	* coffswap.h (GET_SCNHDR_NRELOC, PUT_SCNHDR_NRELOC, GET_SCNDHR_NLNNO,
838597410b8Schristos	PUT_SCNHDR_NLNNO, GET_SCNHDR_FLAGS, PUT_SCNHDR_FLAGS): Provide
839597410b8Schristos	default definitions.
840597410b8Schristos	(coff_swap_scnhdr_in): Use GET_SCNHDR_FLAGS, GET_SCNHDR_NRELOC,
841597410b8Schristos	GET_SCNHDR_NLNNO, and GET_SCNHDR_ALIGN.
842597410b8Schristos	(coff_swap_scnhdr_out): Use PUT_SCNHDR_FLAGS, PUT_SCNHDR_ALIGN.
843597410b8Schristos	* Makefile.in (coff-tic80.o): Depends upon coffswap.h.
844597410b8Schristos	* coff-tic80.c (COFF_ALIGN_IN_SECTION_HEADER): Define to 1.
845597410b8Schristos	(GET_SCNHDR_FLAGS, PUT_SCNHDR_FLAGS): Define
846597410b8Schristos	* coffcode.h (coff_write_object_contents): Set alignment field in
847597410b8Schristos 	section header for TIC80COFF files.
848597410b8Schristos
849597410b8SchristosMon Aug 18 11:36:19 1997  Nick Clifton  <nickc@cygnus.com>
850597410b8Schristos
851597410b8Schristos	* elf32-v850.c (v850_elf_howto_table, v850_elf_reloc_map,
852597410b8Schristos	v850_elf_check_relocs, v850_elf_reloc,
853597410b8Schristos	v850_elf_final_link_relocate):  Add support for
854597410b8Schristos	BFD_RELOC_V850_16_PCREL relocation.
855597410b8Schristos
856597410b8Schristos	* reloc.c (COMMENT): Add suuport for BFD_RELOC_V850_16_PCREL
857597410b8Schristos	relocation.
858597410b8Schristos
859597410b8Schristos	* libbfd.h: Add support for BFD_RELOC_V850_16_PCREL relocation.
860597410b8Schristos
861597410b8Schristos	* bfd-in2.h: Add support for BFD_RELOC_V850_16_PCREL relocation.
862597410b8Schristos
863597410b8SchristosMon Aug 18 11:33:56 1997  Nick Clifton  <nickc@cygnus.com>
864597410b8Schristos
865597410b8Schristos	* cpu-v850e: New file.
866597410b8Schristos
867597410b8Schristos	* elf.c (prep_headers): Add support for v850e target.
868597410b8Schristos
869597410b8Schristos	* bfd-in2.h (bfd_architecture): Add support for v850e target.
870597410b8Schristos
871597410b8Schristos	* config.bfd: Add support for v850e target.
872597410b8Schristos
873597410b8Schristos	* archures.c: Add support for v850e target.
874597410b8Schristos
875597410b8SchristosMon Aug 18 11:33:56 1997  Nick Clifton  <nickc@cygnus.com>
876597410b8Schristos
877597410b8Schristos	* cpu-v850ea: New file.
878597410b8Schristos
879597410b8Schristos	* elf.c (prep_headers): Add support for v850ea target.
880597410b8Schristos
881597410b8Schristos	* bfd-in2.h (bfd_architecture): Add support for v850ea target.
882597410b8Schristos
883597410b8Schristos	* config.bfd: Add support for v850ea target.
884597410b8Schristos
885597410b8Schristos	* archures.c: Add support for v850ea target.
886597410b8Schristos
887597410b8SchristosFri Aug 15 12:01:28 1997  Ian Lance Taylor  <ian@cygnus.com>
888597410b8Schristos
889597410b8Schristos	* coffgen.c (coff_find_nearest_line): Correctly handle the offset
890597410b8Schristos	argument as section relative, rather than an absolute address.
891597410b8Schristos	From Jan Hoogenraad <hoogenrd@natlab.research.philips.com>.
892597410b8Schristos
893597410b8SchristosFri Aug 15 04:58:02 1997  Doug Evans  <dje@canuck.cygnus.com>
894597410b8Schristos
895597410b8Schristos	* config.bfd (arc-*-elf*): Add.
896597410b8Schristos	* configure.in (bfd_elf32_{little,big}arc_vec): Add.
897597410b8Schristos	* configure: Rebuild.
898597410b8Schristos	* Makefile.am (ALL_MACHINES): Add cpu-arc.lo.
899597410b8Schristos	(BFD32_BACKENDS): Add elf32-arc.lo.
900597410b8Schristos	(cpu-arc.lo,elf32-arc.lo): Add rules for.
901597410b8Schristos	* Makefile.in: Rebuild.
902597410b8Schristos	* archures.c (architecture list): Add bfd_arch_arc.
903597410b8Schristos	(bfd_archures_list): Add bfd_arc_arch.
904597410b8Schristos	(bfd_mach_arc_base): Define.
905597410b8Schristos	* reloc.c (BFD_RELOC_ARC_B22_PCREL,BFD_RELOC_ARC_B26): Add.
906597410b8Schristos	* targets.c (bfd_elf32_{little,big}arc_vec): Declare.
907597410b8Schristos	(bfd_target_vect): Add them.
908597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
909597410b8Schristos	* cpu-arc.c, elf32-arc.c: New files.
910597410b8Schristos	* elf.c (pre_headers): Recognize bfd_arch_arc.
911597410b8Schristos
912597410b8SchristosTue Aug 12 11:45:18 1997  Ian Lance Taylor  <ian@cygnus.com>
913597410b8Schristos
914597410b8Schristos	* aoutx.h (NAME(aout,final_link)): If no symbols, make sure the
915597410b8Schristos	data section is correctly rounded to a page in the file.
916597410b8Schristos
917597410b8SchristosMon Aug 11 12:45:43 1997  Ian Lance Taylor  <ian@cygnus.com>
918597410b8Schristos
919597410b8Schristos	* aoutx.h (NAME(aout,final_link)): Don't emit the string table if
920597410b8Schristos	there are no symbols.
921597410b8Schristos
922597410b8SchristosSun Aug 10 14:45:56 1997  Ian Lance Taylor  <ian@cygnus.com>
923597410b8Schristos
924597410b8Schristos	* coff-stgo32.c: Rename from coff-stubgo32.c to avoid old System V
925597410b8Schristos	file system 14 character limit.
926597410b8Schristos	* Makefile.am: Corresponding changes.
927597410b8Schristos	* configure.in: Corresponding changes.
928597410b8Schristos	* Makefile.in: Rebuild.
929597410b8Schristos	* configure: Rebuild.
930597410b8Schristos
931597410b8SchristosFri Aug  8 18:34:36 1997  Ian Lance Taylor  <ian@cygnus.com>
932597410b8Schristos
933597410b8Schristos	* Makefile.am: (ALL_MACHINES_CFILES): Add elf32-d10v.c.
934597410b8Schristos	Rebuild dependencies.
935597410b8Schristos	* Makefile.in: Rebuild.
936597410b8Schristos
937597410b8SchristosWed Aug  6 18:56:51 1997  Ian Lance Taylor  <ian@cygnus.com>
938597410b8Schristos
939597410b8Schristos	* Makefile.am (docdir): Define.
940597410b8Schristos	* Makefile.in: Rebuild.
941597410b8Schristos
942597410b8SchristosTue Aug  5 23:05:03 1997  Ian Lance Taylor  <ian@cygnus.com>
943597410b8Schristos
944597410b8Schristos	* configure: Rebuild with autoconf 2.12.1.
945597410b8Schristos
946597410b8SchristosMon Aug  4 12:00:35 1997  Ian Lance Taylor  <ian@cygnus.com>
947597410b8Schristos
948597410b8Schristos	* aclocal.m4, configure: Rebuild with new automake patches.
949597410b8Schristos
950597410b8SchristosSun Aug  3 08:15:12 1997  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
951597410b8Schristos
952597410b8Schristos	* rs6000-core.c (make_bfd_asection):  New function to add a section
953597410b8Schristos	to the core file bfd.
954597410b8Schristos	(rs6000coff_core_p):  Use make_bfd_asection to add the core file
955597410b8Schristos	sections.
956597410b8Schristos	Use BFD routines to seek, read and stat the core file.
957597410b8Schristos	Handle .data sections from loaded objects and anonymously mmapped
958597410b8Schristos	regions, these are available in AIX 4 core files.
959597410b8Schristos
960597410b8SchristosFri Aug  1 12:58:32 1997  Ian Lance Taylor  <ian@cygnus.com>
961597410b8Schristos
962597410b8Schristos	* configure.in: Set enable_shared before AM_PROG_LIBTOOL.
963597410b8Schristos	* acinclude.m4: Move acmacros.m4 in here.  Remove AM_PROG_LIBTOOL
964597410b8Schristos	copy; use a patches libtool instead.
965597410b8Schristos	* acmacros.m4: Remove.
966597410b8Schristos	* Makefile.in: Rebuild.
967597410b8Schristos	* aclocal.m4: Rebuild.
968597410b8Schristos	* configure: Rebuild.
969597410b8Schristos
970597410b8SchristosThu Jul 31 19:55:36 1997  Ian Lance Taylor  <ian@cygnus.com>
971597410b8Schristos
972597410b8Schristos	* Makefile.am: New file, based on old Makefile.in.
973597410b8Schristos	* acmacros.m4: New file, copied from old aclocal.m4.
974597410b8Schristos	* acinclude.m4: New file.
975597410b8Schristos	* configure.in: Call AM_PROG_LIBTOOL.  Remove shared library
976597410b8Schristos	handling; now handled by libtool.  Replace AC_CONFIG_HEADER with
977597410b8Schristos	AM_CONFIG_HEADER.  Replace AC_PROG_INSTALL with AM_PROG_INSTALL.
978597410b8Schristos	Call AM_MAINTAINER_MODE, AM_CYGWIN32, and AM_EXEEXT.  Change all
979597410b8Schristos	.o files to .lo.  Remove stamp-h handling in AC_OUTPUT.
980597410b8Schristos	* acconfig.h: Mention PACKAGE and VERSION.
981597410b8Schristos	* stamp-h.in: New file.
982597410b8Schristos	* dep-in.sed: Change .o to .lo.
983597410b8Schristos	* Makefile.in: Now built with automake.
984597410b8Schristos	* aclocal.m4: Now built with aclocal.
985597410b8Schristos	* config.in, configure: Rebuild.
986597410b8Schristos	* VERSION: Remove.
987597410b8Schristos
988597410b8SchristosThu Jul 31 12:09:20 1997  Geoff Keating  <geoffk@ozemail.com.au>
989597410b8Schristos
990597410b8Schristos	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Don't set TEXTREL
991597410b8Schristos 	if there is only a relocation to a read-only but not allocatable
992597410b8Schristos 	section (like .stab).
993597410b8Schristos	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
994597410b8Schristos	* elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
995597410b8Schristos	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
996597410b8Schristos	* elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
997597410b8Schristos	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
998597410b8Schristos
999597410b8Schristos	* elf32-ppc.c (ppc_elf_howto_raw): Correct various comments.
1000597410b8Schristos	(ppc_elf_create_linker_section): These sections are not
1001597410b8Schristos	created by the linker (that is, they are created by the user
1002597410b8Schristos	putting data in them). In particular, they can be the source
1003597410b8Schristos	and target of relocations.
1004597410b8Schristos	(ppc_elf_adjust_dynamic_symbol): Check postcondition of
1005597410b8Schristos 	bfd_elf32_link_record_dynamic_symbol.  Align 16-byte common
1006597410b8Schristos 	objects (for instance, 'long double') to 16-byte boundaries.
1007597410b8Schristos	(ppc_elf_size_dynamic_sections): Make the code that generates
1008597410b8Schristos	section symbols exactly the same as for sparc, reducing the
1009597410b8Schristos	number of section symbols output.
1010597410b8Schristos	(ppc_elf_check_relocs): Check postcondition of
1011597410b8Schristos	bfd_elf32_link_record_dynamic_symbol.  Make default case the
1012597410b8Schristos	same as corresponding code for sparc, fixing bug involving
1013597410b8Schristos	.rela.stabs.
1014597410b8Schristos	(ppc_elf_finish_dynamic_symbol): Fix case involving GOT symbols
1015597410b8Schristos 	forced to be local because of versioning (by replicating
1016597410b8Schristos 	corresponding change in sparc).  Treat R_PPC_RELATIVE RELA relocs
1017597410b8Schristos 	as usual in ELF, not as pseudo-REL relocs (as the sparc linker
1018597410b8Schristos 	does).
1019597410b8Schristos	(ppc_elf_relocate_section): Add handy debugging code for when
1020597410b8Schristos 	assertion fails.  Add some more 'symbol made local because of
1021597410b8Schristos 	versioning' cases.
1022597410b8Schristos
1023597410b8Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Cope with addend when
1024597410b8Schristos	processing a GOT relocation as required by ABI.
1025597410b8Schristos
1026597410b8SchristosWed Jul 30 21:30:35 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1027597410b8Schristos
1028597410b8Schristos	* elflink.h (NAME(bfd_elf,record_link_assignment)): Remove any
1029597410b8Schristos	version info if this symbol came from a dynamic object.
1030597410b8Schristos	(elf_link_add_object_symbols): Set the version info of a symbol
1031597410b8Schristos	only if the object actually contains version definitions and
1032597410b8Schristos	defines this symbol.
1033597410b8Schristos
1034597410b8SchristosMon Jul 28 18:07:43 1997  Rob Savoye  <rob@chinadoll.cygnus.com>
1035597410b8Schristos
1036597410b8Schristos	* aclocal.m4: Add CYGWIN and EXEEXT autoconf macros.
1037597410b8Schristos        * configure.in: Use CYGWIN and EXEEXT autoconf macro to look for
1038597410b8Schristos        win32 dependencies.
1039597410b8Schristos        * configure: Regenerated with autoconf 2.12.
1040597410b8Schristos        * doc/Makefile.in: Add $(EXEEXT) to chew executable.
1041597410b8Schristos
1042597410b8SchristosMon Jul 28 02:50:29 1997  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
1043597410b8Schristos
1044597410b8Schristos	* rs6000-core.c (rs6000coff_core_p):  If CORE_TRUNC is set, print
1045597410b8Schristos	a warning rather than returning an error.
1046597410b8Schristos
1047597410b8SchristosSun Jul 27 19:54:14 1997  Felix Lee  <flee@cygnus.com>
1048597410b8Schristos
1049597410b8Schristos	* coffswap.h (coff_swap_aux_in): add semicolon to make MSVC happy.
1050597410b8Schristos
1051597410b8SchristosFri Jul 25 14:50:08 1997  Felix Lee  <flee@cygnus.com>
1052597410b8Schristos
1053597410b8Schristos	* cisco-core.c: define signals for wingdb.
1054597410b8Schristos
1055597410b8SchristosFri Jul 25 16:27:07 1997  Ian Lance Taylor  <ian@cygnus.com>
1056597410b8Schristos
1057597410b8Schristos	* ecofflink.c (bfd_ecoff_debug_accumulate): Only merge files with
1058597410b8Schristos	the same number of aux entries.
1059597410b8Schristos
1060597410b8SchristosFri Jul 25 08:22:15 1997  Jeffrey A Law  (law@cygnus.com)
1061597410b8Schristos
1062597410b8Schristos	* som.c (hppa_som_gen_reloc_type): Use R_DATA_EXPR for the
1063597410b8Schristos	difference of two symbols if the relocation size is 32 bits.
1064597410b8Schristos	(som_write_fixups): Handle R_DATA_EXPR.
1065597410b8Schristos
1066597410b8SchristosWed Jul 23 16:08:02 1997  Ian Lance Taylor  <ian@cygnus.com>
1067597410b8Schristos
1068597410b8Schristos	* coff-i386.c (coff_i386_reloc): Don't offset a common symbol by
1069597410b8Schristos	its value if COFF_WITH_PE is defined.
1070597410b8Schristos
1071597410b8SchristosTue Jul 22 17:19:45 1997  Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
1072597410b8Schristos
1073597410b8Schristos	* coff-stubgo32.c: New file.
1074597410b8Schristos	* go32stub.h: New file.
1075597410b8Schristos	* coff-i386.c: If COFF_GO32_EXE, include coff/go32exe.h.
1076597410b8Schristos	* coffswap.h (coff_swap_filehdr_in): Invoke
1077597410b8Schristos	COFF_ADJUST_FILEHDR_IN_PRE and COFF_ADJUST_FILEHDR_IN_POST if they
1078597410b8Schristos	are defined.
1079597410b8Schristos	(coff_swap_filehdr_out): Invoke COFF_ADJUST_FILEHDR_OUT_PRE and
1080597410b8Schristos	COFF_ADJUST_FILEHDR_OUT_POST if they are defined.
1081597410b8Schristos	(coff_swap_aux_in): Invoke COFF_ADJUST_AUX_IN_PRE and
1082597410b8Schristos	COFF_ADJUST_AUX_IN_POST if they are defined.
1083597410b8Schristos	(coff_swap_aux_out): Invoke COFF_ADJUST_AUX_OUT_PRE and
1084597410b8Schristos	COFF_ADJUST_AUX_OUT_POST if they are defined.
1085597410b8Schristos	(coff_swap_scnhdr_in): Invoke COFF_ADJUST_SCNHDR_IN_PRE and
1086597410b8Schristos	COFF_ADJUST_SCNHDR_IN_POST if they are defined.
1087597410b8Schristos	(coff_swap_scnhdr_out): Invoke COFF_ADJUST_SCNHDR_OUT_PRE and
1088597410b8Schristos	COFF_ADJUST_SCNHDR_OUT_POST if they are defined.
1089597410b8Schristos	* targets.c (go32stubbedcoff_vec): Declare.
1090597410b8Schristos	(bfd_target_vector): Add go32stubbedcoff_vec.
1091597410b8Schristos	* configure.in (go32coff_vec): New target vector.
1092597410b8Schristos	(go32stubbedcoff_vec): Likewise.
1093597410b8Schristos	* config.bfd (i[3456]86-*-msdosdjgpp*): New target.
1094597410b8Schristos	(i[3456]86-*-go32*): Change to be like new msdosdjgpp*.
1095597410b8Schristos	* Makefile.in: Rebuild dependencies.
1096597410b8Schristos 	(BFD32_BACKENDS): Add coff-stubgo32.o.
1097597410b8Schristos	(BFD32_BACKENDS_CFILES): Add coff-stubgo32.c.
1098597410b8Schristos	(HFILES): Add go32stub.h.
1099597410b8Schristos
1100597410b8SchristosTue Jul 22 15:09:12 1997  Ian Lance Taylor  <ian@cygnus.com>
1101597410b8Schristos
1102597410b8Schristos	* configure.in: Check for fdopen.
1103597410b8Schristos	* configure, config.in: Rebuild.
1104597410b8Schristos	* opncls.c (bfd_fdopenr): Check HAVE_FDOPEN rather than VMS or
1105597410b8Schristos	__GO32__.  Reindent a bit.
1106597410b8Schristos
1107597410b8SchristosSun Jul 20 20:05:20 1997  Ian Lance Taylor  <ian@cygnus.com>
1108597410b8Schristos
1109597410b8Schristos	* sunos.c (sunos_create_dynamic_sections): Set SEC_LINKER_CREATED
1110597410b8Schristos	flag for newly created sections.
1111597410b8Schristos	(sunos_add_dynamic_symbols): Don't discard newly created sections
1112597410b8Schristos	if shared library is dynobj.
1113597410b8Schristos
1114597410b8SchristosMon Jul 14 15:33:55 1997  Ian Lance Taylor  <ian@cygnus.com>
1115597410b8Schristos
1116597410b8Schristos	* elf.c (map_sections_to_segments): When checking whether
1117597410b8Schristos	including a section in a segment would force us to skip a page,
1118597410b8Schristos	align the address of the next segment to avoid wraparound
1119597410b8Schristos	problems.
1120597410b8Schristos
1121597410b8SchristosTue Jul  8 12:11:29 1997  Fred Fish  <fnf@cygnus.com>
1122597410b8Schristos
1123597410b8Schristos	* coffcode.h (coff_write_object_contents): Initialize
1124597410b8Schristos 	target id field to TIC80_TARGET_ID.
1125597410b8Schristos	* coffswap.h (coff_swap_filehdr_out): Swap out target id field
1126597410b8Schristos 	if used.
1127597410b8Schristos	(coff_swap_filehdr_in): Swap in target id field if used.
1128597410b8Schristos
1129597410b8SchristosMon Jul  7 16:41:20 1997  Ian Lance Taylor  <ian@cygnus.com>
1130597410b8Schristos
1131597410b8Schristos	* coff-i386.c (coff_i386_is_local_label_name): New static function
1132597410b8Schristos	if TARGET_UNDERSCORE.
1133597410b8Schristos	(coff_bfd_is_local_label_name): Define if TARGET_UNDERSCORE.
1134597410b8Schristos	(i386coff_vec): Add SEC_CODE and SEC_DATA to section_flags.
1135597410b8Schristos
1136597410b8SchristosMon Jun 30 14:29:26 1997  Ian Lance Taylor  <ian@cygnus.com>
1137597410b8Schristos
1138597410b8Schristos	* elf32-m68k.c (howto_table): Use complain_overflow_bitfield, not
1139597410b8Schristos	complain_overflow_signed, for 32 bit PC relative relocations.
1140597410b8Schristos
1141597410b8SchristosThu Jun 26 01:26:31 1997  Ian Lance Taylor  <ian@cygnus.com>
1142597410b8Schristos
1143597410b8Schristos	* elflink.h (elf_link_add_object_symbols): When a version
1144597410b8Schristos	indirection symbol is overridden, make the original symbol point
1145597410b8Schristos	at the real overriding symbol.
1146597410b8Schristos
1147597410b8Schristos	* elf.c (bfd_elf_string_from_elf_section): Check for an invalid
1148597410b8Schristos	string index.
1149597410b8Schristos
1150597410b8Schristos	* elflink.h (elf_link_output_extsym): Use the right section for a
1151597410b8Schristos	common symbol.
1152597410b8Schristos	* elf32-mips.c (mips_elf_link_output_symbol_hook): If a common
1153597410b8Schristos	symbol was in .scommon, mark it as SHN_MIPS_SCOMMON.
1154597410b8Schristos
1155597410b8SchristosWed Jun 25 12:43:10 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
1156597410b8Schristos
1157597410b8Schristos	* elflink.h (elf_merge_symbols): Resolve indirect and warning
1158597410b8Schristos	symbols before checking for new symbols.
1159597410b8Schristos
1160597410b8Schristos	* elfcore.h (elf_corefile_note): Move out of HAVE_SYS_PROCFS_H.
1161597410b8Schristos
1162597410b8SchristosTue Jun 24 11:20:43 1997  Ian Lance Taylor  <ian@cygnus.com>
1163597410b8Schristos
1164597410b8Schristos	* coffgen.c (coff_object_p): Read the f_opthdr bytes from the
1165597410b8Schristos	file, not aoutsz bytes (they are different in XCOFF .o files).
1166597410b8Schristos
1167597410b8Schristos	* xcofflink.c (xcoff_link_add_symbols): Permit symbols to be
1168597410b8Schristos	redefined by objects included from archives.
1169597410b8Schristos
1170597410b8SchristosMon Jun 23 18:03:27 1997  Ian Lance Taylor  <ian@cygnus.com>
1171597410b8Schristos
1172597410b8Schristos	* elflink.h (elf_merge_symbol): In the case of a new defined
1173597410b8Schristos	symbol overriding an old defined symbol, return the hash table
1174597410b8Schristos	entry which we modify, even if it is the target of an
1175597410b8Schristos	indirection.
1176597410b8Schristos	(elf_link_add_object_symbols): If the real name of the symbol gets
1177597410b8Schristos	overridden, convert the versioned symbol into an indirect symbol
1178597410b8Schristos	to the real symbol.
1179597410b8Schristos
1180597410b8Schristos	* elflink.h (elf_merge_symbol): New static function, broken out of
1181597410b8Schristos	elf_link_add_object_symbols.
1182597410b8Schristos	(elf_link_add_object_symbols): Call it.
1183597410b8Schristos
1184597410b8SchristosSun Jun 22 19:40:57 1997  Ian Lance Taylor  <ian@cygnus.com>
1185597410b8Schristos
1186597410b8Schristos	* coff-i386.c (i3coff_object_p): If COFF_IMAGE_WITH_PE, hack to
1187597410b8Schristos	handle case where COFF filehdr does not immediately follow PE
1188597410b8Schristos	header.
1189597410b8Schristos	* coffgen.c (coff_object_p): Remove useless seek to current
1190597410b8Schristos	location.
1191597410b8Schristos
1192597410b8SchristosWed Jun 18 19:03:38 1997  Ian Lance Taylor  <ian@cygnus.com>
1193597410b8Schristos
1194597410b8Schristos	* linker.c (link_action): Change COMMON_ROW/indr to from CREF to
1195597410b8Schristos	REFC.
1196597410b8Schristos
1197597410b8SchristosTue Jun 17 11:55:02 1997  Ian Lance Taylor  <ian@cygnus.com>
1198597410b8Schristos
1199597410b8Schristos	* cofflink.c (_bfd_coff_link_input_bfd): If stripping debugging
1200597410b8Schristos	symbols, skip N_ABS symbols with debugging storage classes.
1201597410b8Schristos
1202597410b8SchristosMon Jun 16 18:56:27 1997  Geoff Keating  <geoffk@ozemail.com.au>
1203597410b8Schristos
1204597410b8Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Don't emit R_PPC_REL*
1205597410b8Schristos	relocs in shared libraries which refer to local symbols.  Cope
1206597410b8Schristos	with addend when processing a GOT relocation.
1207597410b8Schristos
1208597410b8Schristos	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Only create symbols
1209597410b8Schristos	for sections that the linker didn't create.
1210597410b8Schristos	(ppc_elf_finish_dynamic_sections): Only try to write out a section
1211597410b8Schristos	symbol if it was created in ppc_elf_size_dynamic_sections.
1212597410b8Schristos	(ppc_elf_relocate_section): Complain if we have to generate a reloc
1213597410b8Schristos	relative to a section for which we didn't output a symbol.
1214597410b8Schristos
1215597410b8Schristos	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Clean up.  PLT
1216597410b8Schristos	relocs are 'rela' relocs, like everything else.  .rela.plt is not
1217597410b8Schristos	a read-only section, so we don't have to special-case it.
1218597410b8Schristos
1219597410b8Schristos	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Entries in the
1220597410b8Schristos	.rela.bss section are (of course) 'rela' relocs not 'rel' relocs.
1221597410b8Schristos
1222597410b8Schristos	* elf32-ppc.c (ppc_elf_check_relocs): Initialise srelgot.
1223597410b8Schristos	(ppc_elf_relocate_section): @got offsets are 4 from start of the
1224597410b8Schristos	actual .got section.
1225597410b8Schristos	* elflink.c (_bfd_elf_create_got_section): The three reserved
1226597410b8Schristos	words start from the symbol '_GLOBAL_OFFSET_TABLE_'.
1227597410b8Schristos
1228597410b8Schristos	* elf32-ppc.c (ppc_elf_size_dynamic_sections): '.rela' is 5
1229597410b8Schristos	characters, not 4.
1230597410b8Schristos
1231597410b8Schristos	* elf32-ppc.c (ppc_elf_check_relocs): Use
1232597410b8Schristos	_bfd_elf_create_got_section to create the GOT rather than
1233597410b8Schristos	ppc_elf_create_linker_section. Create the '.rela.got' section
1234597410b8Schristos	ourselves.
1235597410b8Schristos	(ppc_elf_finish_dynamic_symbol): Set up GOT relocations when a
1236597410b8Schristos	symbol has a GOT entry.
1237597410b8Schristos	(ppc_elf_relocate_section): Record when a symbol is used through
1238597410b8Schristos	the GOT, and allocate space in the GOT for each such symbol.
1239597410b8Schristos	(ppc_elf_adjust_dynamic_symbol): Delete unused .got.plt stuff.
1240597410b8Schristos	(ppc_elf_create_linker_section): Delete unused LINKER_SECTION_GOT
1241597410b8Schristos	stuff.
1242597410b8Schristos
1243597410b8Schristos	* elf32-ppc.c (ppc_elf_howto_raw): GOT16_HA relocs should be
1244597410b8Schristos	treated in a similar way to ADDR16_HA relocs.
1245597410b8Schristos	(ppc_elf_relocate_section): PLTREL24 relocs do not get copied into
1246597410b8Schristos	shared objects; the linker must deal with them.
1247597410b8Schristos	(ppc_elf_create_linker_section): Stop setting
1248597410b8Schristos	_GLOBAL_OFFSET_TABLE_ to the wrong value; delete unused
1249597410b8Schristos	LINKER_SECTION_PLT stuff.
1250597410b8Schristos	(ppc_elf_check_relocs): Delete unused LINKER_SECTION_PLT stuff.
1251597410b8Schristos	(ppc_elf_finish_dynamic_sections): Use BFD calls to get GOT
1252597410b8Schristos	section, not ELF-specific calls.
1253597410b8Schristos	(elf_backend_plt_not_loaded): Set to 1.
1254597410b8Schristos	(elf_backend_got_symbol_offset): Set to 4.
1255597410b8Schristos	* elf-bfd.h (elf_backend_data): Add 'plt_not_loaded' member
1256597410b8Schristos	for when ld.so fills in the PLT; and 'got_symbol_offset' member.
1257597410b8Schristos	* elflink.c (_bfd_elf_create_dynamic_sections): Apply
1258597410b8Schristos	plt_not_loaded member.
1259597410b8Schristos	(_bfd_elf_create_got_section): Apply got_symbol_offset.
1260597410b8Schristos	* elfxx-target.h (elf_backend_plt_not_loaded): Set default to
1261597410b8Schristos	'loaded'.
1262597410b8Schristos	(elf_backend_G_O_T_offset): Set default to 0.
1263597410b8Schristos	(elfNN_bed): Set added fields.
1264597410b8Schristos
1265597410b8Schristos	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Was setting
1266597410b8Schristos	DT_RELENT in shared objects; should be DT_RELAENT.
1267597410b8Schristos
1268597410b8Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Propagate
1269597410b8Schristos	R_PPC_ADDR16_HA relocs to shared objects. Cope with case where
1270597410b8Schristos	such a reloc (in a non-shared object) refers to a symbol that's
1271597410b8Schristos	not defined.
1272597410b8Schristos
1273597410b8SchristosMon Jun 16 14:42:14 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
1274597410b8Schristos
1275597410b8Schristos	* elfcode.h (put_signed_word): Define.
1276597410b8Schristos	(get_signed_word): Define.
1277597410b8Schristos	(elf_swap_reloca_in): Use get_signed_word for the r_addend field.
1278597410b8Schristos	(elf_swap_reloca_out): Use put_signed_word for the r_addend
1279597410b8Schristos	field.
1280597410b8Schristos	* elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Use
1281597410b8Schristos	bfd_get_signed_32 to set the r_addend field.
1282597410b8Schristos	* elf64-mips.c (mips_elf64_swap_reloca_in): Use
1283597410b8Schristos	bfd_h_get_signed_64 to set the r_addend field.
1284597410b8Schristos
1285597410b8SchristosMon Jun 16 12:31:29 1997  Ian Lance Taylor  <ian@cygnus.com>
1286597410b8Schristos
1287597410b8Schristos	* elf32-i386.c (elf_i386_relocate_section): When generating a
1288597410b8Schristos	shared library, do the relocation if the input section is not
1289597410b8Schristos	allocated in memory.
1290597410b8Schristos
1291597410b8Schristos	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Call
1292597410b8Schristos	elf_link_assign_sym_version before elf_adjust_dynamic_symbol.
1293597410b8Schristos	(elf_fix_symbol_flags): New static function, broken out of
1294597410b8Schristos	elf_adjust_dynamic_symbol.
1295597410b8Schristos	(elf_adjust_dynamic_symbol): Call elf_fix_symbol_flags.
1296597410b8Schristos	(elf_link_assign_sym_version): Likewise.  Permit a symbol to be
1297597410b8Schristos	forced local even if NEEDS_PLT is set.  When forcing a symbol to
1298597410b8Schristos	be local, clear NEEDS_PLT.
1299597410b8Schristos	(elf_link_output_extsym): Remove unused local bed.
1300597410b8Schristos
1301597410b8SchristosWed Jun 11 22:44:20 1997  Jeffrey A Law  (law@cygnus.com)
1302597410b8Schristos
1303597410b8Schristos	* elf32-mn10300.c (elf32_mn10300_link_hash_entry): New structure
1304597410b8Schristos	for derived elf linker hash table entries.  References to
1305597410b8Schristos	elf_link_hash_entry changed appropriately.
1306597410b8Schristos	(elf32_mn10300_link_hash_table): New structure for derived elf
1307597410b8Schristos	linker hash table.
1308597410b8Schristos	(elf32_mn10300_hash_table): Define.
1309597410b8Schristos	(elf32_mn10300_link_hash_traverse): Likewise.
1310597410b8Schristos	(elf32_mn10300_link_hash_newfunc): New function.
1311597410b8Schristos	(elf32_mn10300_link_hash_table_create): Likewise.
1312597410b8Schristos	(elf32_mn10300_finish_hash_table_entry): Likewise.
1313597410b8Schristos	(mn10300_elf_relax_section): Handle "call" -> "calls", removal
1314597410b8Schristos	of prologue code, and call:32->call:16 relaxing.
1315597410b8Schristos	(compute_function_info: New function.
1316597410b8Schristos	(bfd_elf32_bfd_ilink_hash_table_create): Define.
1317597410b8Schristos
1318597410b8SchristosWed Jun 11 00:00:07 1997  Ian Lance Taylor  <ian@cygnus.com>
1319597410b8Schristos
1320597410b8Schristos	* elflink.h (elf_link_output_extsym): Call finish_dynamic_symbol
1321597410b8Schristos	for a symbol which is being forced to be local.
1322597410b8Schristos	* elf32-i386.c (elf_i386_relocate_section): Write out the
1323597410b8Schristos	relocation value for a GOT reloc for a symbol which is turning
1324597410b8Schristos	into a local symbol.
1325597410b8Schristos	(elf_i386_finish_dynamic_symbol): If a symbol is turning into a
1326597410b8Schristos	local symbol, write out a RELATIVE reloc rather than a GLOB_DAT
1327597410b8Schristos	reloc.
1328597410b8Schristos	* elf32-m68k.c, elf32-sparc.c: Corresponding changes.
1329597410b8Schristos
1330597410b8Schristos	* elf32-i386.c (elf_i386_relocate_section): Get the relocation
1331597410b8Schristos	value if the symbol is turning into a local symbol.
1332597410b8Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1333597410b8Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1334597410b8Schristos
1335597410b8Schristos1997-06-10 22:58  Ulrich Drepper  <drepper@cygnus.com>
1336597410b8Schristos
1337597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Also read verneed
1338597410b8Schristos	information by calling `_bfd_elf_slurp_version_tables'.
1339597410b8Schristos	(elf_link_add_object_symbols): For undefined symbols look for
1340597410b8Schristos	version information in the verneed records.
1341597410b8Schristos	(elf_link_add_object_symbols): Use soname of shared object
1342597410b8Schristos	for verneed record if it is available.
1343597410b8Schristos
1344597410b8SchristosTue Jun 10 11:13:03 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
1345597410b8Schristos
1346597410b8Schristos	* cpu-arm.c: Add prototypes for compatible and scan.
1347597410b8Schristos	* cofflink.c: Add prototype for mark_relocs.
1348597410b8Schristos
1349597410b8Schristos	* archive.c (bfd_special_undocumented_glue): Change filename to
1350597410b8Schristos	const pointer.  Add prototype.
1351597410b8Schristos
1352597410b8SchristosMon Jun  9 12:34:21 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1353597410b8Schristos
1354597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Ignore relocations of
1355597410b8Schristos	sections that will be discarded.
1356597410b8Schristos
1357597410b8Schristos1997-06-06 22:58  Ulrich Drepper  <drepper@cygnus.com>
1358597410b8Schristos
1359597410b8Schristos	* elflink.h (elf_link_find_version_dependencies): When searching
1360597410b8Schristos	for known version symbol skip non-matching verdef records, not
1361597410b8Schristos	matching records.
1362597410b8Schristos
1363597410b8SchristosThu Jun  5 15:52:45 1997  Ian Lance Taylor  <ian@cygnus.com>
1364597410b8Schristos
1365597410b8Schristos	* cofflink.c (_bfd_coff_generic_relocate_section): Write a long,
1366597410b8Schristos	not a bfd_vma, to the base file, to match how dlltool reads it.
1367597410b8Schristos
1368597410b8SchristosTue Jun  3 16:57:45 1997  Nick Clifton  <nickc@cygnus.com>
1369597410b8Schristos
1370597410b8Schristos	* reloc.c: Add thumb relocations.
1371597410b8Schristos
1372597410b8Schristos	* bfd-in2.h: Add Thumb relocations.
1373597410b8Schristos
1374597410b8Schristos	* libbfd.h: Add Thumb relocations.
1375597410b8Schristos
1376597410b8SchristosMon Jun  2 10:41:52 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1377597410b8Schristos
1378597410b8Schristos	* cpu-m68k.c (arch_info_struct): Fix 68060 cpu name.
1379597410b8Schristos
1380597410b8SchristosFri May 30 12:46:27 1997  Ian Lance Taylor  <ian@cygnus.com>
1381597410b8Schristos
1382597410b8Schristos	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Set dynindx
1383597410b8Schristos	for a section even if it is not loaded.
1384597410b8Schristos
1385597410b8Schristos	* cofflink.c (coff_link_add_symbols): If PE file, don't subtract
1386597410b8Schristos	section VMA.
1387597410b8Schristos	(_bfd_coff_link_input_bfd): Separate section VMA handling for
1388597410b8Schristos	input and output files.
1389597410b8Schristos	(_bfd_coff_generic_relocate_section): Check whether input file,
1390597410b8Schristos	not output file, is a PE file.
1391597410b8Schristos
1392597410b8SchristosWed May 28 15:48:43 1997  Nick Clifton  <nickc@cygnus.com>
1393597410b8Schristos
1394597410b8Schristos	* coff-arm.c: (coff_arm_bfd_set_private_flags): Make static.
1395597410b8Schristos
1396597410b8SchristosWed May 28 16:16:04 1997  Ian Lance Taylor  <ian@cygnus.com>
1397597410b8Schristos
1398597410b8Schristos	* coff-i386.c (coff_i386_reloc): Don't just exit if we see an
1399597410b8Schristos	R_IMAGEBASE reloc.
1400597410b8Schristos
1401597410b8SchristosWed May 28 09:48:43 1997  Nick Clifton  <nickc@cygnus.com>
1402597410b8Schristos
1403597410b8Schristos	* cpu-arm.c (compatible): Add test for supersets of ARM
1404597410b8Schristos	architectures.
1405597410b8Schristos
1406597410b8SchristosTue May 27 19:42:03 1997  Bob Manson  <manson@charmed.cygnus.com>
1407597410b8Schristos
1408597410b8Schristos	* cofflink.c (_bfd_coff_final_link): Initialize global_to_static
1409597410b8Schristos	member.
1410597410b8Schristos
1411597410b8SchristosTue May 27 14:34:08 1997  Nick Clifton  <nickc@cygnus.com>
1412597410b8Schristos
1413597410b8Schristos	* coff-arm.c (coff_arm_bfd_set_private_flags): Make global.  It is
1414597410b8Schristos	called directly by gas/config/tc-arm.c.
1415597410b8Schristos
1416597410b8SchristosTue May 27 15:58:53 1997  Richard Henderson  <rth@tamu.edu>
1417597410b8Schristos
1418597410b8Schristos	* elf64-alpha.c (PLT_ENTRY_*): Use a new thread-safe format.
1419597410b8Schristos	(elf64_alpha_finish_dynamic_symbol): Fill it in properly.
1420597410b8Schristos
1421597410b8SchristosMon May 26 14:05:13 1997  Ian Lance Taylor  <ian@cygnus.com>
1422597410b8Schristos
1423597410b8Schristos	* coff-ppc.c (coff_ppc_relocate_section): If PE file, don't add
1424597410b8Schristos	section VMA.
1425597410b8Schristos
1426597410b8SchristosMon May 26 10:57:48 1997  Fred Fish  <fnf@cygnus.com>
1427597410b8Schristos
1428597410b8Schristos	* peicode.h (coff_bfd_print_private_bfd_data): #undef before #define.
1429597410b8Schristos	(coff_bfd_copy_private_bfd_data): Ditto.
1430597410b8Schristos	* coff-arm.c (coff_arm_bfd_merge_private_bfd_data): Make static.
1431597410b8Schristos	(coff_arm_bfd_print_private_bfd_data): Ditto.
1432597410b8Schristos	(coff_arm_bfd_set_private_flags): Ditto.
1433597410b8Schristos	(coff_arm_bfd_copy_private_bfd_data): Ditto.
1434597410b8Schristos
1435597410b8SchristosFri May 23 15:14:58 1997  Fred Fish  <fnf@cygnus.com>
1436597410b8Schristos
1437597410b8Schristos	* libcoff-in.h (struct coff_final_link_info): Add boolean
1438597410b8Schristos	global_to_static member for support of task linking.
1439597410b8Schristos	(_bfd_coff_write_task_globals): Add prototype.
1440597410b8Schristos	* libcoff.h: Regenerate.
1441597410b8Schristos	* coffcode.h (coff_write_object_contents): Use #ifdef to
1442597410b8Schristos	check RS6000COFF_C, to be consistent with all other uses
1443597410b8Schristos	in this file.
1444597410b8Schristos	* cofflink.c (_bfd_coff_final_link): If doing task linking,
1445597410b8Schristos	call _bfd_coff_write_task_globals.
1446597410b8Schristos	(_bfd_coff_link_input_bfd): If doing task linking, convert
1447597410b8Schristos	global functions to static.
1448597410b8Schristos	(_bfd_coff_write_global_sym): If doing task linking, convert
1449597410b8Schristos	global variables to static.
1450597410b8Schristos	(_bfd_coff_write_task_globals): New function.
1451597410b8Schristos	* coff-tic80.c (TIC80COFF): Define this instead of just TIC80.
1452597410b8Schristos	(C_AUTOARG): #undef since it clashes with C_UEXT.
1453597410b8Schristos	(C_LASTENT): #undef since it clashes with C_STATLAB.
1454597410b8Schristos	* coffcode.h (coff_write_object_contents): Use TIC80COFF
1455597410b8Schristos	rather than TIC80.
1456597410b8Schristos	(coff_slurp_symbol_table): Use C_SYSTEM.  Hide C_AUTOARG use
1457597410b8Schristos	when TIC80COFF defined (clashes with C_UEXT).  Explicitly
1458597410b8Schristos	recognize C_UEXT, C_STATLAB, and C_EXTLAB as unsupported.
1459597410b8Schristos
1460597410b8SchristosFri May 23 12:38:24 1997  Ian Lance Taylor  <ian@cygnus.com>
1461597410b8Schristos
1462597410b8Schristos	* coff-tic80.c (tic80_howto_table): Change overflow check for most
1463597410b8Schristos	PP relocations to complain_overflow_dont.
1464597410b8Schristos
1465597410b8SchristosThu May 22 20:22:14 1997  Ian Lance Taylor  <ian@cygnus.com>
1466597410b8Schristos
1467597410b8Schristos	* coff-tic80.c (tic80_howto_table): Add PP relocations.  Change
1468597410b8Schristos	name of R_RELLONG to "RELLONG".  Set rightshift and complain for
1469597410b8Schristos	M_PPCR.
1470597410b8Schristos	(ppbase_reloc, glob15_reloc): New static functions.
1471597410b8Schristos	(glob16_reloc, local16_reloc): New static functions.
1472597410b8Schristos	(rtype2howto): Handle all relocation types.
1473597410b8Schristos	(coff_tic80_relocate_section): New static function.
1474597410b8Schristos	(coff_relocate_section): Define to coff_tic80_relocate_section.
1475597410b8Schristos	* Makefile.in (coff-tic80.o): Depends upon include/coff/tic80.h.
1476597410b8Schristos
1477597410b8SchristosWed May 21 17:15:50 1997  Ian Lance Taylor  <ian@cygnus.com>
1478597410b8Schristos
1479597410b8Schristos	* coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE or
1480597410b8Schristos	COFF_IMAGE_WITH_PE, don't subtract the section VMA from the symbol
1481597410b8Schristos	value.
1482597410b8Schristos	* coffgen.c (fixup_symbol_value): Add abfd parameter.  Change all
1483597410b8Schristos	callers.  If PE file, don't add section VMA.
1484597410b8Schristos	(coff_write_alien_symbol): If PE file, don't add section VMA.
1485597410b8Schristos	* cofflink.c (_bfd_coff_link_input_bfd): Likewise.
1486597410b8Schristos	(_bfd_coff_write_global_sym): Likewise.
1487597410b8Schristos	(_bfd_coff_generic_relocate_section): Likewise.
1488597410b8Schristos
1489597410b8Schristos	* peicode.h: Add & 0xffffffff when using ImageBase in case bfd_vma
1490597410b8Schristos	is 64 bits.
1491597410b8Schristos
1492597410b8SchristosWed May 21 09:58:10 1997  Nick Clifton  <nickc@cygnus.com>
1493597410b8Schristos
1494597410b8Schristos	* cofflink.c (mark_relocs): Add new function to mark symbols which
1495597410b8Schristos	are used by relocations.
1496597410b8Schristos	(_bfd_coff_link_input_bfd): Add call to mark_relocs() and code to
1497597410b8Schristos	suppress the skipping of symbols that have thus been marked.
1498597410b8Schristos
1499597410b8SchristosTue May 20 18:45:26 1997  Ian Lance Taylor  <ian@cygnus.com>
1500597410b8Schristos
1501597410b8Schristos	* coff-sh.c (sh_merge_private_data): New static function.
1502597410b8Schristos	(coff_bfd_merge_private_bfd_data): Define.
1503597410b8Schristos
1504597410b8SchristosMon May 19 14:46:00 1997  Mark Alexander  <marka@cygnus.com>
1505597410b8Schristos
1506597410b8Schristos	* coff-tic80.c: Remove unnecessary #ifdefs.
1507597410b8Schristos	* config.bfd: Set targ_underscore to yes for tic80.
1508597410b8Schristos
1509597410b8SchristosMon May 19 14:26:36 1997  Mark Alexander  <marka@cygnus.com>
1510597410b8Schristos
1511597410b8Schristos	* coff-tic80.c (NAMES_HAVE_UNDERSCORE): Define (fixes problem
1512597410b8Schristos	with unresolved external symbols in GDB).
1513597410b8Schristos
1514597410b8SchristosFri May 16 10:23:03 1997  Jeffrey A Law  (law@cygnus.com)
1515597410b8Schristos
1516597410b8Schristos	* elf-m10300.c (elf32_mn10300_relax_section): Read in all
1517597410b8Schristos	the symbols associated with each BFD.
1518597410b8Schristos	(mn10300_elf_relax_delete_bytes): Don't adjust the same symbol
1519597410b8Schristos	more than once.
1520597410b8Schristos	* elf-m10200.c: Likewise.
1521597410b8Schristos	* elf32-m32r.c: Likewise.
1522597410b8Schristos	* elf32-sh.c: Likewise.
1523597410b8Schristos
1524597410b8SchristosFri May 16 12:10:52 1997  Ian Lance Taylor  <ian@cygnus.com>
1525597410b8Schristos
1526597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Don't decrease the
1527597410b8Schristos	alignment of a common symbol.  If two symbols that look like
1528597410b8Schristos	common symbols are found in two shared libraries, and the size is
1529597410b8Schristos	different, use the larger size, and warn if --warn-common.  If a
1530597410b8Schristos	common symbol overrides a definition in a shared library, set the
1531597410b8Schristos	size to the larger size, and warn if --warn-common.
1532597410b8Schristos
1533597410b8SchristosThu May 15 14:31:28 1997  Nick Clifton  <nickc@cygnus.com>
1534597410b8Schristos
1535597410b8Schristos	* cpu-arm.c (compatible):  Allow default machine to be polymorphed
1536597410b8Schristos	into any other machine type.
1537597410b8Schristos
1538597410b8Schristos	* coffcode.h (coff_set_flags):  Initialise flags variable to 0.
1539597410b8Schristos
1540597410b8Schristos	* coff-arm.c (coff_arm_bfd_merge_private_bfd_data):  When merging
1541597410b8Schristos	data into an unitialised destination set its machine type as well.
1542597410b8Schristos
1543597410b8SchristosThu May 15 16:40:20 1997  Ian Lance Taylor  <ian@cygnus.com>
1544597410b8Schristos
1545597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Force ELF symbol size
1546597410b8Schristos	to common symbol size.  Consistently treat uninitialized symbols
1547597410b8Schristos	in shared objects as common symbols.
1548597410b8Schristos
1549597410b8SchristosFri May  9 10:15:27 1997  Nick Clifton  <nickc@cygnus.com>
1550597410b8Schristos
1551597410b8Schristos	* archures.c (constants):  Added new constants to identify the
1552597410b8Schristos	type of the ARM architecture: bfd_mach_arm_2, bfd_mach_arm_2a,
1553597410b8Schristos	bfd_mach_arm_3,	bfd_mach_arm_3M, bfd_mach_arm_4 and bfd_mach_arm_4T.
1554597410b8Schristos
1555597410b8Schristos	* bfd-in2.h (constants):   Added new constants to identify
1556597410b8Schristos	the type of the ARM architecture: bfd_mach_arm_2, bfd_mach_arm_2a,
1557597410b8Schristos	bfd_mach_arm_3, bfd_mach_arm_3M, bfd_mach_arm_4 and
1558597410b8Schristos	bfd_mach_arm_4T.  This file is auto-magically generated from the
1559597410b8Schristos	archures.c file.  This update is just to save work.
1560597410b8Schristos
1561597410b8Schristos	* coff-arm.c (coff_arm_bfd_merge_private_bfd_data,
1562597410b8Schristos	coff_arm_bfd_print_private_bfd_data,
1563597410b8Schristos	coff_arm_bfd_set_private_flags,
1564597410b8Schristos	coff_arm_bfd_copy_private_bfd_data): Added these new functions.
1565597410b8Schristos	(global): Macro redefinitions set up to use these new functions.
1566597410b8Schristos
1567597410b8Schristos	* coffcode.h (coff_mkobject_hook): Added call to
1568597410b8Schristos	coff_arm_bfd_set_private_flags().
1569597410b8Schristos	(coff_set_arch_mach_hook): Added code to set machine type based on
1570597410b8Schristos	bits stored in internal flags.
1571597410b8Schristos  	(coff_set_flags): Added code to set the new bits in the flags
1572597410b8Schristos	field based on the machine number.
1573597410b8Schristos	(function definition macros): Made all function definition macros
1574597410b8Schristos	conditional so that they can be overridden by target specific
1575597410b8Schristos	files.
1576597410b8Schristos
1577597410b8Schristos	* cpu-arm.c (compatible): Added this function.  (arch_info_struct):
1578597410b8Schristos	Structure extended to include new types, one each for ARMv2,
1579597410b8Schristos	ARMv2a, ARMv3, ARMv3M, ARMv4 and ARMv4T.
1580597410b8Schristos
1581597410b8Schristos	* libcoff-in.h (struct coff_tdata):  Added flags field.
1582597410b8Schristos
1583597410b8SchristosFri May  9 17:40:02 1997  Ian Lance Taylor  <ian@cygnus.com>
1584597410b8Schristos
1585597410b8Schristos	* config.bfd (i[3456]86-*-gnu*): Don't include Mach support.
1586597410b8Schristos
1587597410b8Schristos	* config.bfd: Change #if 0 around uses of host_aout_vec to #if
1588597410b8Schristos	HAVE_host_aout_vec.
1589597410b8Schristos
1590597410b8SchristosMon May  5 13:57:32 1997  Mike Meissner  <meissner@cygnus.com>
1591597410b8Schristos
1592597410b8Schristos	* coffgen.c (coff_find_nearest_line): If there are no syments,
1593597410b8Schristos	just return false.
1594597410b8Schristos
1595597410b8SchristosMon May  5 18:18:45 1997  Philip Blundell  <pjb27@cam.ac.uk>
1596597410b8Schristos
1597597410b8Schristos	* config.bfd: cope with '*-*-linux-gnuaout' targets.
1598597410b8Schristos
1599597410b8SchristosThu May  1 11:31:12 1997  Ian Lance Taylor  <ian@cygnus.com>
1600597410b8Schristos
1601597410b8Schristos	* targmatch.sed: Add explicit \n characters to work around bug in
1602597410b8Schristos	HP/UX 10.20 sed program.
1603597410b8Schristos
1604597410b8SchristosWed Apr 30 12:27:03 1997  Ian Lance Taylor  <ian@cygnus.com>
1605597410b8Schristos
1606597410b8Schristos	* elf.c (copy_private_bfd_data): Cast csecs to avoid sign
1607597410b8Schristos	extension problems.
1608597410b8Schristos
1609597410b8SchristosTue Apr 22 12:06:08 1997  Ian Lance Taylor  <ian@cygnus.com>
1610597410b8Schristos
1611597410b8Schristos	* Makefile.in (do_maintainer_clean): Don't remove bfd-in2.h.
1612597410b8Schristos
1613597410b8SchristosMon Apr 21 11:21:31 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1614597410b8Schristos
1615597410b8Schristos	* elf32-m68k.c: Follow the last changes in elf32-i386.c:
1616597410b8Schristos	(struct elf_m68k_pcrel_relocs_copied, struct
1617597410b8Schristos	elf_m68k_link_hash_entry, struct elf_m68k_link_hash_table,
1618597410b8Schristos	elf_m68k_link_hash_traverse, elf_m68k_hash_table,
1619597410b8Schristos	elf_m68k_link_hash_newfunc, elf_m68k_link_hash_table_create,
1620597410b8Schristos	elf_m68k_discard_copies, bfd_elf32_bfd_link_hash_table_create):
1621597410b8Schristos	New definitions.
1622597410b8Schristos	(elf_m68k_check_relocs): If linking with -Bsymbolic, don't copy
1623597410b8Schristos	PC relative relocs for a global symbol defined in a regular
1624597410b8Schristos	object, and count the number of PC relative relocs copied for any
1625597410b8Schristos	global symbol.
1626597410b8Schristos	(elf_m68k_size_dynamic_sections): If linking with -Bsymbolic,
1627597410b8Schristos	traverse with elf_m68k_discard_copies.
1628597410b8Schristos
1629597410b8SchristosSat Apr 19 22:50:14 1997  Ian Lance Taylor  <ian@cygnus.com>
1630597410b8Schristos
1631597410b8Schristos	* elf32-i386.c (elf_i386_check_relocs): Only count PC relative
1632597410b8Schristos	relocs.  From Jamie Lokier <jamie@rebellion.co.uk>.
1633597410b8Schristos
1634597410b8Schristos	* coffcode.h (coff_compute_section_file_positions): Force the
1635597410b8Schristos	potential last byte in the file to be written out when
1636597410b8Schristos	COFF_IMAGE_WITH_PE.
1637597410b8Schristos
1638597410b8SchristosThu Apr 17 13:46:56 1997  Per Fogelstrom  <pefo@openbsd.org>
1639597410b8Schristos
1640597410b8Schristos	* configure.host (mips*-*-openbsd*): New host.
1641597410b8Schristos
1642597410b8SchristosThu Apr 17 11:10:54 1997  Ian Lance Taylor  <ian@cygnus.com>
1643597410b8Schristos
1644597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Only subtract the
1645597410b8Schristos	section VMA from the symbol value if this is a fully linked file.
1646597410b8Schristos
1647597410b8Schristos	* elf32-i386.c (struct elf_i386_pcrel_relocs_copied): Define.
1648597410b8Schristos	(struct elf_i386_link_hash_entry): Define.
1649597410b8Schristos	(struct elf_i386_link_hash_table): Define.
1650597410b8Schristos	(elf_i386_link_hash_traverse): Define.
1651597410b8Schristos	(elf_i386_hash_table): Define.
1652597410b8Schristos	(elf_i386_link_hash_newfunc): New static function.
1653597410b8Schristos	(elf_i386_link_hash_table_create): New static function.
1654597410b8Schristos	(elf_i386_check_relocs): If linking with -Bsymbolic, don't copy
1655597410b8Schristos	PC relative relocs for a global symbol defined in a regular
1656597410b8Schristos	object, and count the number of PC relative relocs copied for any
1657597410b8Schristos	global symbol.
1658597410b8Schristos	(elf_i386_size_dynamic_sections): If linking with -Bsymbolic,
1659597410b8Schristos	traverse with elf_i386_discard_copies.
1660597410b8Schristos	(elf_i386_discard_copies): New static function.
1661597410b8Schristos	(bfd_elf32_bfd_link_hash_table_create): Define.
1662597410b8Schristos
1663597410b8Schristos	From Gordon W. Ross <gwr@mc.com>:
1664597410b8Schristos	* aoutf1.h (MY_entry_is_text_address): Define if not defined.
1665597410b8Schristos	(sunos4_aout_backend): Use MY_entry_is_text_address.
1666597410b8Schristos
1667597410b8SchristosWed Apr 16 12:43:32 1997  Martin Hunt  <hunt@cygnus.com>
1668597410b8Schristos
1669597410b8Schristos	* elf32-d30v.c (elf_d30v_howto_table): Changed size of
1670597410b8Schristos	R_D30V_32_NORMAL to 2 (4 bytes).
1671597410b8Schristos
1672597410b8SchristosWed Apr 16 14:02:29 1997  Ian Lance Taylor  <ian@cygnus.com>
1673597410b8Schristos
1674597410b8Schristos	From Gordon W. Ross <gwr@mc.com>:
1675597410b8Schristos	* netbsd.h (N_SHARED_LIB): Define.
1676597410b8Schristos	(SEGMENT_SIZE): Don't define.
1677597410b8Schristos	* m68knetbsd.c (SEGMENT_SIZE): Don't define (revert change of
1678597410b8Schristos	April 11).
1679597410b8Schristos	* sparcnetbsd.c (TARGET_PAGE_SIZE): Define as 0x2000.
1680597410b8Schristos	(SEGMENT_SIZE): Don't define.
1681597410b8Schristos
1682597410b8Schristos	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Set .rela.bss size
1683597410b8Schristos	to sizeof Rela structure, not sizeof Rel structure.  From Gary
1684597410b8Schristos	Thomas <g.thomas@opengroup.org>.
1685597410b8Schristos
1686597410b8SchristosTue Apr 15 11:50:37 1997  Ian Lance Taylor  <ian@cygnus.com>
1687597410b8Schristos
1688597410b8Schristos	* aout-target.h (MY(callback)): If entry_is_text_address, adjust
1689597410b8Schristos	whenever entry is larger than text address, but only by whole
1690597410b8Schristos	pages.  From Gordon W. Ross <gwr@mc.com>.
1691597410b8Schristos
1692597410b8Schristos	* Makefile.in (install): Depend upon installdirs.  Use
1693597410b8Schristos	mkinstalldirs to build $(oldincludedir).
1694597410b8Schristos	(installdirs): New target.
1695597410b8Schristos
1696597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Don't call check_relocs
1697597410b8Schristos	if this is a debugging section which we are stripping.
1698597410b8Schristos
1699597410b8SchristosMon Apr 14 12:39:30 1997  Richard Henderson  <rth@tamu.edu>
1700597410b8Schristos
1701597410b8Schristos	* elf64-alpha.c (elf64_alpha_object_p): Allocate the
1702597410b8Schristos	alpha-specific target data struct.
1703597410b8Schristos
1704597410b8SchristosMon Apr 14 11:45:46 1997  Ian Lance Taylor  <ian@cygnus.com>
1705597410b8Schristos
1706597410b8Schristos	From Thomas Graichen <graichen@rzpd.de>:
1707597410b8Schristos	* Makefile.in: Always use $(SHELL) when running move-if-change.
1708597410b8Schristos	* configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub.
1709597410b8Schristos	* configure: Rebuild.
1710597410b8Schristos
1711597410b8SchristosFri Apr 11 15:43:24 1997  Ian Lance Taylor  <ian@cygnus.com>
1712597410b8Schristos
1713597410b8Schristos	* elfcode.h (elf_slurp_symbol_table): Only subtract the section
1714597410b8Schristos	VMA if this is an executable file or a shared object.
1715597410b8Schristos
1716597410b8Schristos	* targets.c (netbsd_core_vec): Declare.  From Gordon W. Ross
1717597410b8Schristos	<gwr@mc.com>.
1718597410b8Schristos
1719597410b8Schristos	* libaout.h (struct aout_backend_data): Add entry_is_text_address
1720597410b8Schristos	field.
1721597410b8Schristos	* aout-target.h (SEGMENT_SIZE): Define to TARGET_PAGE_SIZE at the
1722597410b8Schristos	start of the file.  Remove uses later on which switch using
1723597410b8Schristos	ifdef.
1724597410b8Schristos	(MY(callback)): Handle entry_is_text_address.
1725597410b8Schristos	(MY_entry_is_text_address): Define if not defined.
1726597410b8Schristos	(MY(backend_data)): Initialize new field.
1727597410b8Schristos	* aoutf1.h (sunos4_aout_backend): Likewise.
1728597410b8Schristos	* i386aout.c (MY(backend_data)): Likewise.
1729597410b8Schristos	* i386mach3.c (MY(backend_data)): Likewise.
1730597410b8Schristos	* mipsbsd.c (MY(backend_data)): Likewise.
1731597410b8Schristos	* sparclynx.c (sparclynx_aout_backend): Likewise.
1732597410b8Schristos	* netbsd.h (SEGMENT_SIZE): Define if not defined.
1733597410b8Schristos	(MY_entry_is_text_address): Define.
1734597410b8Schristos	* m68knetbsd.c (SEGMENT_SIZE): Define as 0x20000.
1735597410b8Schristos
1736597410b8Schristos	* xcofflink.c (bfd_xcoff_import_symbol): Handle importing a symbol
1737597410b8Schristos	whose name starts with `.'.
1738597410b8Schristos
1739597410b8SchristosFri Apr 11 11:57:15 1997  Niklas Hallqvist  <niklas@appli.se>
1740597410b8Schristos
1741597410b8Schristos	* config.bfd: (i[3456]86-*-openbsd*, m68*-*-openbsd*,
1742597410b8Schristos	mips*el*-*-openbsd*, mips*-*-openbsd*, ns32k-*-openbsd*,
1743597410b8Schristos	powerpc-*-*bsd*, sparc-*-openbsd*): New targets.
1744597410b8Schristos	* configure.in (i[3456]86-*-openbsd*, mips*-*-openbsd*,
1745597410b8Schristos	m68*-*-openbsd*, ns32k-*-openbsd*, powerpc-*-*bsd*,
1746597410b8Schristos	sparc-*-openbsd*): New targets.
1747597410b8Schristos	* configure: Rebuild.
1748597410b8Schristos
1749597410b8SchristosTue Apr  8 18:09:29 1997  Jamie Lokier  <jamie@rebellion.co.uk>
1750597410b8Schristos
1751597410b8Schristos	* stabs.c (struct stab_section_info): New field
1752597410b8Schristos	`cumulative_skips'.
1753597410b8Schristos	(_bfd_link_section_stabs): Fill the above array.
1754597410b8Schristos	(_bfd_stab_section_offset): Use `cumulative_skips' to
1755597410b8Schristos	speed up offset calculation.
1756597410b8Schristos
1757597410b8SchristosTue Apr  8 00:01:31 1997  Jeffrey A Law  (law@cygnus.com)
1758597410b8Schristos
1759597410b8Schristos        * elf-mn10300.c (mn10300_elf_relax_section): Don't forget the
1760597410b8Schristos        addend for non pc-relative relocations.
1761597410b8Schristos
1762597410b8Schristos	* elf-m10300.c (bfd_elf32_mn10300_reloc): Remove prototype
1763597410b8Schristos	for non-existent function.
1764597410b8Schristos
1765597410b8Schristos	* elf-m10300.c (mn10300_elf_relax_section): New function.
1766597410b8Schristos	(mn10300_elf_relax_delete_bytes): Likewise.
1767597410b8Schristos	(mn10300_elf_symbol_address_p): Likewise.
1768597410b8Schristos	(mn10300_elf_get_relocated_section_contents): Likewise.
1769597410b8Schristos	(bfd_elf32_bfd_relax_section): Define.
1770597410b8Schristos	(bfd_elf32_bfd_get_relocated_section_contents): Likewise.
1771597410b8Schristos
1772597410b8SchristosMon Apr  7 16:47:09 1997  Ian Lance Taylor  <ian@cygnus.com>
1773597410b8Schristos
1774597410b8Schristos	* configure.host: Set SHLIB_LIBS.
1775597410b8Schristos	* configure.in: Substitute SHLIB_LIBS.
1776597410b8Schristos	* configure: Rebuild.
1777597410b8Schristos	* Makefile.in (SHLIB_LIBS): New variable.
1778597410b8Schristos	($(SHLIB)): Use $(SHLIB_LIBS).
1779597410b8Schristos
1780597410b8SchristosMon Apr  7 10:53:52 1997  Michael Snyder  <msnyder@cleaver.cygnus.com>
1781597410b8Schristos
1782597410b8Schristos	* bfd-in.h bfd-in2.h: add bfd_section_lma macro to correspond
1783597410b8Schristos	with bfd_section_vma.
1784597410b8Schristos
1785597410b8SchristosFri Apr  4 11:37:15 1997  Ian Lance Taylor  <ian@cygnus.com>
1786597410b8Schristos
1787597410b8Schristos	* configure.in: Update file names for bfd_elf32_mn10[23]00_vec.
1788597410b8Schristos	Correct CPU file names for mn10[23]00.
1789597410b8Schristos	* configure: Rebuild.
1790597410b8Schristos
1791597410b8Schristos	* bfd.c (bfd_record_phdr): Cast count to size_t before
1792597410b8Schristos	subtraction.
1793597410b8Schristos
1794597410b8Schristos	* coff-ppc.c (dump_toc): Add cast to avoid warning from SunOS cc.
1795597410b8Schristos	* coff-rs6000.c (xcoff_read_ar_hdr): Likewise.
1796597410b8Schristos	(xcoff_write_archive_contents): LIkewise.
1797597410b8Schristos	* elf32-mips.c (_bfd_mips_elf_set_section_contents): Likewise.
1798597410b8Schristos	(mips_elf_create_procedure_table): Likewise.
1799597410b8Schristos	* peicode.h (pe_print_idata): Likewise.
1800597410b8Schristos	(pe_print_edata, pe_print_pdata, pe_print_reloc): Likewise.
1801597410b8Schristos	* xcofflink.c (xcoff_get_section_contents): Likewise.
1802597410b8Schristos	(_bfd_xcoff_canonicalize_dynamic_symtab): Likewise.
1803597410b8Schristos	(xcoff_link_add_symbols): Likewise.
1804597410b8Schristos	(xcoff_link_add_symbols): Likewise.
1805597410b8Schristos
1806597410b8Schristos	* ppcboot.c (ppcboot_set_arch_mach): Make static.
1807597410b8Schristos	(ppcboot_bfd_print_private_bfd_data): Likewise.
1808597410b8Schristos
1809597410b8Schristos	* elf32-mips.c (elf_mips_ctor64_howto): Set complain_on_overflow
1810597410b8Schristos	to complain_overflow_signed.
1811597410b8Schristos
1812597410b8SchristosThu Apr  3 11:51:54 1997  Ian Lance Taylor  <ian@cygnus.com>
1813597410b8Schristos
1814597410b8Schristos	* VERSION: Set to 2.8.1.
1815597410b8Schristos
1816597410b8Schristos	* Branched binutils 2.8.
1817597410b8Schristos
1818597410b8Schristos	* elf32-ppc.c (ppc_elf_check_relocs):  Don't check SEC_ALLOC when
1819597410b8Schristos	deciding whether to copy a reloc into a shared object.
1820597410b8Schristos	(ppc_elf_relocate_section): Likewise.  Relocate R_PPC_RELATIVE
1821597410b8Schristos	relocs in unallocated sections.
1822597410b8Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Relocate
1823597410b8Schristos	R_SPARC_RELATIVE relocs in unallocated sections.
1824597410b8Schristos
1825597410b8SchristosWed Apr  2 16:19:41 1997  Mike Meissner  <meissner@cygnus.com>
1826597410b8Schristos
1827597410b8Schristos	* elf32-ppc.c (ppc_elf_check_relocs): Undo March 26 change and
1828597410b8Schristos	always create got section so that the _GLOBAL_OFFSET_TABLE_ label
1829597410b8Schristos	is always created.
1830597410b8Schristos
1831597410b8SchristosWed Apr  2 10:49:07 1997  Ian Lance Taylor  <ian@cygnus.com>
1832597410b8Schristos
1833597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Let a common symbol
1834597410b8Schristos	override an uninitialized symbol from a shared library with a
1835597410b8Schristos	smaller size.
1836597410b8Schristos
1837597410b8Schristos	* elf-m10200.c: Rename from elf32-mn10200.c.
1838597410b8Schristos	* elf-m10300.c: Rename from elf32-mn10300.c.
1839597410b8Schristos	* cpu-m10200.c: Rename from cpu-mn10200.c
1840597410b8Schristos	* cpu-m10300.c: Rename from cpu-mn10300.c
1841597410b8Schristos	* Makefile.in: Update accordingly.
1842597410b8Schristos
1843597410b8Schristos	* elf32-mips.c (elf_mips_ctor64_howto): New static variable.
1844597410b8Schristos	(elf_mips_isa): Move to earlier in file.
1845597410b8Schristos	(mips_reloc_map): Remove BFD_RELOC_CTOR entry.
1846597410b8Schristos	(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR
1847597410b8Schristos	specially.
1848597410b8Schristos
1849597410b8Schristos	* elf32-mips.c (mips16_jump_reloc): Print a warning rather than
1850597410b8Schristos	calling abort.
1851597410b8Schristos
1852597410b8SchristosTue Apr  1 16:18:05 1997  Klaus Kaempf  <kkaempf@progis.de>
1853597410b8Schristos
1854597410b8Schristos	* configure.com: New file.
1855597410b8Schristos	* config.h-vms: Remove file.
1856597410b8Schristos	* makefile.vms: Update for new configure scheme.
1857597410b8Schristos
1858597410b8SchristosMon Mar 31 23:28:39 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
1859597410b8Schristos
1860597410b8Schristos	* libcoff-in.h (ppc_allocate_toc_section): Declare.
1861597410b8Schristos	(ppc_process_before_allocation): Declare.
1862597410b8Schristos	* libcoff.h: Rebuild.
1863597410b8Schristos
1864597410b8Schristos	* coffcode.h (coff_mkobject_hook): Declare if not a macro.
1865597410b8Schristos
1866597410b8SchristosMon Mar 31 16:29:50 1997  Joel Sherrill  <joel@oarcorp.com>
1867597410b8Schristos
1868597410b8Schristos        * config.bfd (hppa*-*-rtems*): New target, like hppa-*-*elf*.
1869597410b8Schristos
1870597410b8SchristosMon Mar 31 16:11:35 1997  Ian Lance Taylor  <ian@cygnus.com>
1871597410b8Schristos
1872597410b8Schristos	* coff-a29k.c (coff_a29k_relocate_section): Don't use symndx as a
1873597410b8Schristos	symbol index for a R_IHCONST reloc.
1874597410b8Schristos
1875597410b8SchristosMon Mar 31 15:40:59 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
1876597410b8Schristos
1877597410b8Schristos	* targmatch.sed: Do not use \(\) recursively.
1878597410b8Schristos
1879597410b8SchristosFri Mar 28 14:44:08 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
1880597410b8Schristos
1881597410b8Schristos	* m68klinux.c (MACHTYPE_OK): Define.
1882597410b8Schristos	* i386linux.c (MACHTYPE_OK): Define.
1883597410b8Schristos
1884597410b8SchristosFri Mar 28 11:56:15 1997  Ian Lance Taylor  <ian@cygnus.com>
1885597410b8Schristos
1886597410b8Schristos	From David S. Miller <davem@caip.rutgers.edu> and H.J. Lu
1887597410b8Schristos	<hjl@gnu.ai.mit.edu>:
1888597410b8Schristos	* sparclinux.c: New file.
1889597410b8Schristos	* bfd-in.h (bfd_sparclinux_size_dynamic_sections): Declare.
1890597410b8Schristos	* bfd-in2.h: Rebuild.
1891597410b8Schristos	* config.bfd (sparc-*-linuxaout*, sparc-*-linux*): New targets.
1892597410b8Schristos	* configure.in (sparclinux_vec): Add to list of vectors.
1893597410b8Schristos	* configure: Rebuild.
1894597410b8Schristos	* targets.c (sparclinux_vec): Declare.
1895597410b8Schristos	(bfd_target_vector): Add sparclinux_vec.
1896597410b8Schristos	* Makefile.in: Rebuild dependencies.
1897597410b8Schristos	(BFD32_BACKENDS): Add sparclinux.o.
1898597410b8Schristos	(BFD32_BACKENDS_CFILES): Add sparclinux.c.
1899597410b8Schristos
1900597410b8Schristos	* coff-mips.c (mips_ecoff_backend_data): Initialize new
1901597410b8Schristos	bfd_coff_backend_data field.
1902597410b8Schristos	* coff-alpha.c (alpha_ecoff_backend_data): Likewise.
1903597410b8Schristos
1904597410b8Schristos	* config.bfd: Add bfd_elf64_{big,little}mips_vec to targ_selvecs
1905597410b8Schristos	for mips*el*-*-linux* and mips*-*-linux*.  From H.J. Lu
1906597410b8Schristos	<hjl@lucon.org> and Ralf Baechle <ralf@gnu.ai.mit.edu>.
1907597410b8Schristos
1908597410b8Schristos	* bfd.c: Include "libiberty.h".
1909597410b8Schristos	(strerror): Don't declare.
1910597410b8Schristos	(bfd_errmsg): Call xstrerror rather than strerror.
1911597410b8Schristos
1912597410b8SchristosThu Mar 27 12:55:42 1997  Ian Lance Taylor  <ian@cygnus.com>
1913597410b8Schristos
1914597410b8Schristos	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Generate a COPY
1915597410b8Schristos	reloc even if the symbol is in the .bss section.
1916597410b8Schristos	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
1917597410b8Schristos	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
1918597410b8Schristos	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
1919597410b8Schristos
1920597410b8Schristos	* coffcode.h (bfd_coff_backend_data): Add new field
1921597410b8Schristos	_bfd_coff_default_section_alignment_power.
1922597410b8Schristos	(bfd_coff_default_section_alignment_power): Define.
1923597410b8Schristos	(bfd_coff_std_swap_table): Initialize new field.
1924597410b8Schristos	* libcoff.h: Rebuild.
1925597410b8Schristos	* cofflink.c (coff_link_add_symbols): Limit alignment of a common
1926597410b8Schristos	symbol to the default section alignment.
1927597410b8Schristos
1928597410b8Schristos	* COPYING: Update FSF address.
1929597410b8Schristos
1930597410b8SchristosThu Mar 27 00:45:57 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
1931597410b8Schristos
1932597410b8Schristos	* elf32-d30v.c (elf_d30v_howto_table): Fix a typo in the
1933597410b8Schristos	21-bit absolute that made it act as a relative.
1934597410b8Schristos
1935597410b8SchristosWed Mar 26 14:50:20 1997  Ian Lance Taylor  <ian@cygnus.com>
1936597410b8Schristos
1937597410b8Schristos	* elflink.c (_bfd_elf_create_linker_section): Don't set
1938597410b8Schristos	bss_section and rel_section from existing sections.
1939597410b8Schristos
1940597410b8Schristos	* elf32-ppc.c (ppc_elf_check_relocs): Only create the got section
1941597410b8Schristos	if it is needed.
1942597410b8Schristos
1943597410b8SchristosTue Mar 25 22:26:56 1997  Stu Grossman  (grossman@critters.cygnus.com)
1944597410b8Schristos
1945597410b8Schristos	* aoutx.h (some_aout_object_p):  Change executable test to fix
1946597410b8Schristos	problems with embedded a.out systems.
1947597410b8Schristos
1948597410b8SchristosTue Mar 25 14:35:37 1997  Ian Lance Taylor  <ian@cygnus.com>
1949597410b8Schristos
1950597410b8Schristos	* stabs.c (_bfd_stab_section_offset): New function.
1951597410b8Schristos	* libbfd-in.h (_bfd_stab_section_offset): Declare.
1952597410b8Schristos	* libbfd.h: Rebuild.
1953597410b8Schristos	* elf32-i386.c (elf_i386_relocate_section): Adjust the offset of a
1954597410b8Schristos	stab reloc.
1955597410b8Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1956597410b8Schristos	* elf32-mips.c (mips_elf_relocate_section): Likewise.
1957597410b8Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1958597410b8Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1959597410b8Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1960597410b8Schristos
1961597410b8Schristos	* stabs.c (_bfd_link_section_stabs): Copy over the first header
1962597410b8Schristos	symbol.  Check for memory allocation failure of *psinfo.
1963597410b8Schristos	(_bfd_write_section_stabs): Add psinfo parameter.  Change all
1964597410b8Schristos	callers.  Set the value of the header symbol.
1965597410b8Schristos	* libbfd-in.h (_bfd_write_section_stabs): Update declaration.
1966597410b8Schristos	* libbfd.h: Rebuild.
1967597410b8Schristos
1968597410b8SchristosMon Mar 24 20:07:29 1997  Fred Fish  <fnf@cygnus.com>
1969597410b8Schristos
1970597410b8Schristos	* coff-tic80.c (tic80_howto_table): Add R_ABS entry.
1971597410b8Schristos	(rtype2howto): Handle R_ABS reloc type.  Also abort on unhandled
1972597410b8Schristos	reloc types, rather than silently failing to generate an output file.
1973597410b8Schristos
1974597410b8SchristosMon Mar 24 13:41:00 1997  Ian Lance Taylor  <ian@cygnus.com>
1975597410b8Schristos
1976597410b8Schristos	* targmatch.sed: Use the hold space to put the #ifdef around the
1977597410b8Schristos	the string constant.
1978597410b8Schristos	* targets.c (UNSUPPORTED_TARGET): Don't define.
1979597410b8Schristos	(find_target): Don't check for UNSUPPORTED_TARGET.
1980597410b8Schristos	(bfd_set_default_target): Don't try to optimize by checking for
1981597410b8Schristos	default.
1982597410b8Schristos
1983597410b8Schristos	* Makefile.in: Rebuild dependencies.
1984597410b8Schristos 	(ALL_MACHINES_CFILES): Add cpu-m32r.c.
1985597410b8Schristos	(BFD32_BACKENDS_CFILES): Add elf32-m32r.c.
1986597410b8Schristos	(elf32-m32r.o): Remove explicit target.
1987597410b8Schristos
1988597410b8Schristos	* config.bfd: Don't set targ_underscore for i[3456]86-*-gnu* or
1989597410b8Schristos	i[3456]86-*-linux*.
1990597410b8Schristos
1991597410b8Schristos	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Don't
1992597410b8Schristos	count section symbols for sections that were created by the
1993597410b8Schristos	linker, or are not allocatable or not loadable.
1994597410b8Schristos	(elf32_sparc_finish_dynamic_sections): Output output section
1995597410b8Schristos	symbols for section for which we made space for them.
1996597410b8Schristos
1997597410b8SchristosFri Mar 21 13:08:26 1997  Ian Lance Taylor  <ian@cygnus.com>
1998597410b8Schristos
1999597410b8Schristos	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): If there is
2000597410b8Schristos	no .rela.plt section, don't output a DT_PLTGOT dynamic entry.
2001597410b8Schristos
2002597410b8SchristosFri Mar 21 12:36:46 1997  Doug Evans  <dje@canuck.cygnus.com>
2003597410b8Schristos
2004597410b8Schristos	* elf32-m32r.c (m32r_elf_howto_table): Use special function for LO16.
2005597410b8Schristos	(m32r_hi16_list): New static local.
2006597410b8Schristos	(m32r_elf_hi16_reloc): Don't perform reloc, just queue it up.
2007597410b8Schristos	(m32r_elf_do_hi16_reloc): Delete.
2008597410b8Schristos	(m32r_elf_relocate_hi16): New function.
2009597410b8Schristos	(m32r_elf_lo16_reloc): New function.
2010597410b8Schristos	(m32r_elf_relocate_section): For HI16 relocs, scan for corresponding
2011597410b8Schristos	LO16 reloc.
2012597410b8Schristos
2013597410b8Schristos	Mon Mar 10 16:03:31 1997  Doug Evans  <dje@seba.cygnus.com>
2014597410b8Schristos
2015597410b8Schristos	* elf32-m32r.c (m32r_elf_create_linker_section): Delete.
2016597410b8Schristos	(m32r_elf_add_symbol_hook): Rewrite _SDA_BASE_ support.
2017597410b8Schristos	(m32r_elf_final_sda_base): New function.
2018597410b8Schristos	(m32r_elf_relocate_section): Rewrite sdata support.
2019597410b8Schristos	(m32r_elf_finish_dynamic_sections): Delete.
2020597410b8Schristos
2021597410b8SchristosThu Mar 20 12:39:02 1997  Ian Lance Taylor  <ian@cygnus.com>
2022597410b8Schristos
2023597410b8Schristos	Based on patches from Philippe De Muyter <phdm@info.ucl.ac.be>.
2024597410b8Schristos	* coff-svm68k.c: New file.  Just defines some macros and includes
2025597410b8Schristos	coff-m68k.c.
2026597410b8Schristos	* coff-m68k.c: Add functions to handle common addends, moved in
2027597410b8Schristos	from cf-m68klynx.c.  Control them using COFF_COMMON_ADDEND macro.
2028597410b8Schristos	Control whether relocs are visible using STATIC_RELOCS.
2029597410b8Schristos	* cf-m68klynx.c: Simplify greatly: just define macros to control
2030597410b8Schristos	coff-m68k.c.
2031597410b8Schristos	* coff-aux.c: Likewise.  Just leave add_one_symbol routine.
2032597410b8Schristos	* targets.c (m68ksysvcoff_vec): Declare.
2033597410b8Schristos	(bfd_target_vector): Add m68ksysvcoff_vec.
2034597410b8Schristos	* config.bfd (m68*-motorola-sysv*): New target.
2035597410b8Schristos	* configure.in (m68ksysvcoff_vec): New vector.
2036597410b8Schristos	* configure: Rebuild.
2037597410b8Schristos	* Makefile.in: Rebuild dependencies.
2038597410b8Schristos 	(BFD32_BACKENDS): Add coff-svm68k.o.
2039597410b8Schristos	(BFD32_BACKENDS_CFILES): Add coff-svm68k.c.
2040597410b8Schristos
2041597410b8Schristos	* binary.c (binary_set_section_contents): Don't get misled if the
2042597410b8Schristos 	first section is not loadable.  From Matthew L. Martin
2043597410b8Schristos 	<mlm@xedia.com>.
2044597410b8Schristos
2045597410b8Schristos	* elflink.h (elf_bfd_final_link): Set the value of a section
2046597410b8Schristos	symbol to the section address unless doing a relocateable link.
2047597410b8Schristos
2048597410b8SchristosTue Mar 18 23:03:17 1997  Richard Henderson  <rth@tamu.edu>
2049597410b8Schristos
2050597410b8Schristos	* elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't create
2051597410b8Schristos	.plt entry if we've taken the function's address.
2052597410b8Schristos	(elf64_alpha_merge_gots): Merge collected flags info as well.
2053597410b8Schristos
2054597410b8SchristosTue Mar 18 22:40:09 1997  H.J. Lu  <hjl@lucon.org>
2055597410b8Schristos
2056597410b8Schristos	* Many files: Add function prototypes.
2057597410b8Schristos	* cpu-m68k.c (bfd_default_scan_num_mach): Don't declare.
2058597410b8Schristos	* ecofflink.c: Include "libcoff.h" and "libecoff.h".
2059597410b8Schristos	* elf32-ppc.c (ppc_elf_fake_sections): Make static.
2060597410b8Schristos	* opncls.c (bfd_openstreamr): Change stream parameter to PTR.
2061597410b8Schristos	* peicode.h: Change several void * parameters to PTR.
2062597410b8Schristos	* srec.c (srec_get_symbol_info): Make static.
2063597410b8Schristos	* syms.c (bfd_symbol_is_absolute): Remove.
2064597410b8Schristos	* Makefile.in: Rebuild dependencies.
2065597410b8Schristos
2066597410b8SchristosTue Mar 18 12:58:08 1997  Ian Lance Taylor  <ian@cygnus.com>
2067597410b8Schristos
2068597410b8Schristos	* elf32-m32r.c (m32r_elf_is_local_label_name): Remove.
2069597410b8Schristos	(bfd_elf32_bfd_is_local_label): Don't define.
2070597410b8Schristos
2071597410b8Schristos	* xcofflink.c (_bfd_xcoff_bfd_final_link): Call bfd_malloc rather
2072597410b8Schristos	than malloc.
2073597410b8Schristos
2074597410b8SchristosMon Mar 17 11:32:53 1997  Ian Lance Taylor  <ian@cygnus.com>
2075597410b8Schristos
2076597410b8Schristos	* bfd-in.h: Don't include obstack.h.
2077597410b8Schristos	(struct bfd_hash_table): Change memory field to PTR.
2078597410b8Schristos	* bfd.c (struct _bfd): Change memory field to PTR.
2079597410b8Schristos	* bfd-in2.h: Rebuild.
2080597410b8Schristos	* libbfd-in.h (bfd_release): Declare as function, don't define as
2081597410b8Schristos	macro.
2082597410b8Schristos	* libbfd.h: Rebuild.
2083597410b8Schristos	* opncls.c: Include "objalloc.h" rather than "obstack.h".  Use
2084597410b8Schristos	objalloc routines rather than obstack routines.
2085597410b8Schristos	(obstack_chunk_alloc, obstack_chunk_free): Don't define.
2086597410b8Schristos	(getpagesize): Don't define.
2087597410b8Schristos	(_bfd_new_bfd): Don't set _bfd_chunksize.
2088597410b8Schristos	(bfd_openr): Free new bfd and objalloc on failure.
2089597410b8Schristos	(bfd_fdopenr, bfd_openstreamr, bfd_openw): Likewise.
2090597410b8Schristos	(bfd_alloc_size): Remove.
2091597410b8Schristos	(bfd_release): New function.
2092597410b8Schristos	* hash.c: Include "objalloc.h" rather than "obstack.h".  Use
2093597410b8Schristos	objalloc routines rather than obstack routines.
2094597410b8Schristos	(obstack_chunk_alloc, obstack_chunk_free): Don't define.
2095597410b8Schristos	* ecofflink.c: Include "objalloc.h" rather than "obstack.h".  Use
2096597410b8Schristos	objalloc routines rather than obstack routines.
2097597410b8Schristos	(obstack_chunk_alloc, obstack_chunk_free): Don't define.
2098597410b8Schristos	(struct accumulate): Change memory to struct objalloc *.
2099597410b8Schristos	* liboasys.h (oasys_data_type): Remove oasys_obstack field.
2100597410b8Schristos	* dep-in.sed: Don't remove obstack.h from dependency list.
2101597410b8Schristos	* Makefile.in: Rebuild dependencies.
2102597410b8Schristos	(BFD_H_DEPS): Remove obstack.h.
2103597410b8Schristos	(install): Don't install obstack.h.
2104597410b8Schristos	* Many files: Don't include "obstack.h".
2105597410b8Schristos	* VERSION: Bump.
2106597410b8Schristos
2107597410b8Schristos	* opncls.c (bfd_alloc_grow, bfd_alloc_finish): Remove.
2108597410b8Schristos	* libbfd-in.h (bfd_alloc_grow, bfd_alloc_finish): Don't declare.
2109597410b8Schristos	* libbfd.h: Rebuild.
2110597410b8Schristos	* ieee.c (ieee_archive_p): Rewrite to not use bfd_alloc_grow.
2111597410b8Schristos	* sunos.c (sunos_add_dynamic_symbols): Likewise.
2112597410b8Schristos	* srec.c (srec_scan): Rewrite to not use obstack_1grow.
2113597410b8Schristos
2114597410b8Schristos	* opncls.c (bfd_alloc): Rename from bfd_alloc_by_size_t.  Remove
2115597410b8Schristos	old version of bfd_alloc.
2116597410b8Schristos	* libbfd-in.h (bfd_alloc_by_size_t): Don't declare.
2117597410b8Schristos	* libbfd.h: Rebuild.
2118597410b8Schristos	* Several files: Call bfd_alloc rather than bfd_alloc_by_size_t.
2119597410b8Schristos
2120597410b8SchristosSat Mar 15 15:24:18 1997  Ian Lance Taylor  <ian@cygnus.com>
2121597410b8Schristos
2122597410b8Schristos	* elf32-mips.c (mips_elf_is_local_label_name): Accept the generic
2123597410b8Schristos	ELF local label syntax as well.
2124597410b8Schristos
2125597410b8SchristosSat Mar 15 10:16:42 1997  Fred Fish  <fnf@cygnus.com>
2126597410b8Schristos
2127597410b8Schristos	* config.bfd (powerpc-*-beos*): New target.
2128597410b8Schristos	* configure.in (powerpc-*-beos*): Add case that explicitly
2129597410b8Schristos	does not set COREFILE for now.  A future BeOS version is
2130597410b8Schristos	expected to support core files.
2131597410b8Schristos	* configure: Regenerate with autoconf.
2132597410b8Schristos
2133597410b8SchristosFri Mar 14 16:43:22 1997  Ian Lance Taylor  <ian@cygnus.com>
2134597410b8Schristos
2135597410b8Schristos	* elf32-mips.c (mips_elf_check_relocs): Give an error if CALL16 is
2136597410b8Schristos 	seen with a local symbol, rather than crashing.
2137597410b8Schristos
2138597410b8Schristos	* elfcode.h (elf_slurp_symbol_table): Don't try to read the
2139597410b8Schristos	version symbols if there aren't any.
2140597410b8Schristos
2141597410b8SchristosThu Mar 13 16:38:30 1997  Fred Fish  <fnf@cygnus.com>
2142597410b8Schristos
2143597410b8Schristos	* coff-tic80.c (coff_rtype_to_howto): Define
2144597410b8Schristos	(coff_tic80_rtype_to_howto): Clone generic coff version and
2145597410b8Schristos	add code to handle the funky TI "internal relocations".
2146597410b8Schristos
2147597410b8SchristosThu Mar 13 14:08:53 1997  Ian Lance Taylor  <ian@cygnus.com>
2148597410b8Schristos
2149597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Don't warn about type
2150597410b8Schristos	or size changes because of a weak symbol.
2151597410b8Schristos
2152597410b8Schristos	* cisco-core.c (SIGEMT): Define if not defined.
2153597410b8Schristos
2154597410b8SchristosWed Mar 12 21:36:05 1997  Ian Lance Taylor  <ian@cygnus.com>
2155597410b8Schristos
2156597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Use extsymoff when
2157597410b8Schristos	setting ever.  Sanity check the version number.  Sort out copying
2158597410b8Schristos	flags and other information when adding an indirect symbol.
2159597410b8Schristos	(NAME(bfd_elf,size_dynamic_sections)): Preserve any dynamic
2160597410b8Schristos	symbols added by the backend.  Clear the entire contents of the
2161597410b8Schristos	versym section.
2162597410b8Schristos	(elf_export_symbol): Ignore indirect symbols.
2163597410b8Schristos	(elf_link_output_extsym): Accept a section without an owner in an
2164597410b8Schristos	assert.
2165597410b8Schristos	* elfcode.h (elf_slurp_symbol_table): Add a sanity check on the
2166597410b8Schristos	version count.  Correct the allocation of x_versymp.
2167597410b8Schristos
2168597410b8Schristos	* elf32-mips.c (mips_elf_add_symbol_hook): Don't set the owner of
2169597410b8Schristos	the magic sections used for SHN_MIPS_TEXT and SHN_MIPS_DATA.
2170597410b8Schristos	Don't return bfd_und_section_ptr when info->shared.
2171597410b8Schristos	(mips_elf_final_link): Set the alignment of .rtproc to 4, not 12.
2172597410b8Schristos	(mips_elf_create_dynamic_sections): Correct type: ^= for &=.
2173597410b8Schristos	(mips_elf_check_relocs): Resolve an indirect symbol in
2174597410b8Schristos	sym_hashes.
2175597410b8Schristos	(mips_elf_finish_dynamic_symbol): Don't change SHN_ABS into
2176597410b8Schristos	SHN_MIPS_TEXT or SHN_MIPS_DATA.
2177597410b8Schristos
2178597410b8Schristos	* elf.c (bfd_elf_print_symbol): Tweak version output slightly.
2179597410b8Schristos
2180597410b8SchristosTue Mar 11 01:38:36 1997  Ian Lance Taylor  <ian@cygnus.com>
2181597410b8Schristos
2182597410b8Schristos	From Eric Youngdale <eric@andante.jic.com>:
2183597410b8Schristos	* elf-bfd.h (ELF_LINK_FORCED_LOCAL): Define.
2184597410b8Schristos	* elf.c (bfd_elf_print_symbol): Correct errors in last change.
2185597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Handle cases in which a
2186597410b8Schristos	versioned symbol appears in both a regular and a shared object.
2187597410b8Schristos	(elf_link_assign_sym_version): Set ELF_LINK_FORCED_LOCAL when
2188597410b8Schristos	appropriate.  Improve error message.
2189597410b8Schristos	(struct elf_outext_info): Rename from elf_finfo_failed.  Change
2190597410b8Schristos	all uses.  Add localsyms field.
2191597410b8Schristos	(elf_bfd_final_link): When generating a shared library, call
2192597410b8Schristos	elf_link_output_extsym to output all local symbols.
2193597410b8Schristos	(elf_link_output_extsym): Handle symbols which were forced to
2194597410b8Schristos	become local.
2195597410b8Schristos
2196597410b8SchristosSun Mar  9 23:08:49 1997  Ian Lance Taylor  <ian@cygnus.com>
2197597410b8Schristos
2198597410b8Schristos	From Eric Youngdale <eric@andante.jic.com>:
2199597410b8Schristos	* elf-bfd.h (elf_symbol_type): Add version field.
2200597410b8Schristos	* elfcode.h (elf_slurp_symbol_table): Set version field.
2201597410b8Schristos	* elflink.h (elf_link_add_object_symbols): When creating an
2202597410b8Schristos 	indirect symbol for a default version symbol, set DEF_DYNAMIC if
2203597410b8Schristos 	appropriate.  Set up an indirection from the nondefault version of
2204597410b8Schristos	the symbol as well.
2205597410b8Schristos	(NAME(bfd_elf,size_dynamic_sections)): Call
2206597410b8Schristos	elf_link_assign_sym_version before checking whether there are any
2207597410b8Schristos	versions.  Always record the version name as a dynamic symbol.
2208597410b8Schristos	Initialize counters.
2209597410b8Schristos	(elf_link_assign_sym_version): After finding a version, see if a
2210597410b8Schristos	symbol should be forced to local scope.  Create a new version
2211597410b8Schristos	definition if appropriate.
2212597410b8Schristos	(elf_link_output_extsym): Correct indirect symbol handling.
2213597410b8Schristos	* elf.c (bfd_elf_print_symbol): Print version information.
2214597410b8Schristos	(bfd_section_from_shdr): Turn version sections into BFD sections.
2215597410b8Schristos	(elf_fake_sections): Only copy cverdefs and cverrefs into sh_info
2216597410b8Schristos	if sh_info is not already set.
2217597410b8Schristos	(_bfd_elf_copy_private_section_data): Copy sh_info for version
2218597410b8Schristos	sections.
2219597410b8Schristos	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Tell
2220597410b8Schristos	_bfd_stringtab_add to copy the name into permanent memory if
2221597410b8Schristos	appropriate.
2222597410b8Schristos
2223597410b8SchristosFri Mar  7 11:55:31 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
2224597410b8Schristos
2225597410b8Schristos	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Fully parenthesize.
2226597410b8Schristos
2227597410b8SchristosFri Mar  7 10:37:30 1997  Ian Lance Taylor  <ian@cygnus.com>
2228597410b8Schristos
2229597410b8Schristos	* coffcode.h (bfd_coff_backend_data): Change
2230597410b8Schristos	_bfd_coff_compute_section_file_positions to return a boolean
2231597410b8Schristos	value.  Change all callers.
2232597410b8Schristos	(coff_compute_section_file_positions): Change return type to
2233597410b8Schristos	boolean.  If the size of the last section changed, then output a
2234597410b8Schristos	zero byte at the end of the file.
2235597410b8Schristos	* libcoff.h: Rebuild.
2236597410b8Schristos
2237597410b8Schristos	* xcofflink.c (_bfd_xcoff_bfd_final_link): Always allocate space
2238597410b8Schristos	for at least 6 output symbols.
2239597410b8Schristos	(xcoff_write_global_symbol): When emitting TOC entry relocs, also
2240597410b8Schristos	emit a TC csect to represent the space they take up.  For an XO
2241597410b8Schristos	symbol, just emit a reference, not a csect.
2242597410b8Schristos
2243597410b8Schristos	* Makefile.in ($(SHLINK)): Just use ln -s, not ln -sf, since
2244597410b8Schristos	Solaris doesn't like the combined options, and the -f is
2245597410b8Schristos	unnecessary.
2246597410b8Schristos	(stamp-tshlink, install): Likewise.
2247597410b8Schristos
2248597410b8Schristos	* elf32-mips.c (mips_elf_relocate_section): Correct R_MIPS16_26
2249597410b8Schristos	handling when little endian.
2250597410b8Schristos
2251597410b8SchristosThu Mar  6 13:51:51 1997  Jeffrey A Law  (law@cygnus.com)
2252597410b8Schristos
2253597410b8Schristos	* elf32-mn10300.c (mn10300_elf_final_link_relocate): New function.
2254597410b8Schristos	(mn10300_elf_relocate_section): Likewise.
2255597410b8Schristos	(elf_backend_relocate_section): Define.
2256597410b8Schristos
2257597410b8Schristos	* elf32-mn10300.c (reloc_type): Remove PCREL{8,16,32}_{1,2}BYTE
2258597410b8Schristos	relocs.  Replace them with generic PCREL_{8,16,32} relocs.
2259597410b8Schristos	(elf32_mn10300_howto_table): Likewise.
2260597410b8Schristos	(elf32_mn10300_reloc_map): Likewise.
2261597410b8Schristos	(bfd_elf32_mn10300_reloc): Delete unused function.
2262597410b8Schristos
2263597410b8SchristosThu Mar  6 12:19:59 1997  Fred Fish  <fnf@cygnus.com>
2264597410b8Schristos
2265597410b8Schristos	* coff-tic80.c (rtype2howto): If passed a relocation type we don't
2266597410b8Schristos	understand, just set the howto field to NULL, and the caller will
2267597410b8Schristos	print an appropriate error message.
2268597410b8Schristos	* coffcode.h (coff_slurp_reloc_table): Pull duplicate declarations and
2269597410b8Schristos	code fragment out of both legs of #ifdef RELOC_PROCESSING ... #endif
2270597410b8Schristos	block.  Use NULL for initializations of "ptr" rather than bare 0.
2271597410b8Schristos	* coff-h8300.c: Fix typo in comment.
2272597410b8Schristos	* coff-h8500.c: Ditto.
2273597410b8Schristos	* coff-w65.c: Ditto
2274597410b8Schristos	* coff-z8k.c: Ditto.
2275597410b8Schristos
2276597410b8SchristosWed Mar  5 13:59:09 1997  Doug Evans  <dje@seba.cygnus.com>
2277597410b8Schristos
2278597410b8Schristos	* elf32-m32r.c (m32r_elf_do_10_pcrel_reloc): Fix overflow calc.
2279597410b8Schristos	(m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
2280597410b8Schristos	m32r_elf_get_relocated_section_contents): First pass at relax support.
2281597410b8Schristos
2282597410b8SchristosMon Mar  3 13:27:09 1997  Ulrich Drepper  <drepper@rtl.cygnus.com>
2283597410b8Schristos
2284597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Use correct sh_size
2285597410b8Schristos	entry for reading verdef records.
2286597410b8Schristos	Use correct braces for computing increments of extverdaux and
2287597410b8Schristos	exteverdef record pointers.
2288597410b8Schristos
2289597410b8SchristosSun Mar  2 22:47:54 1997  Fred Fish  <fnf@cygnus.com>
2290597410b8Schristos
2291597410b8Schristos	* coff-tic80.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Set this to 2
2292597410b8Schristos	instead of 4.
2293597410b8Schristos
2294597410b8SchristosSun Mar  2 16:25:35 1997  Ian Lance Taylor  <ian@cygnus.com>
2295597410b8Schristos
2296597410b8Schristos	* elflink.h (elf_link_find_version_dependencies): Check that
2297597410b8Schristos	DEF_REGULAR is not set as well as checking that DEF_DYNAMIC is
2298597410b8Schristos	set.
2299597410b8Schristos
2300597410b8SchristosFri Feb 28 16:52:40 1997  Fred Fish  <fnf@cygnus.com>
2301597410b8Schristos
2302597410b8Schristos	* coffcode.h (coff_set_flags): Add case for TIC80_ARCH_MAGIC.
2303597410b8Schristos
2304597410b8SchristosFri Feb 28 15:06:45 1997  Ian Lance Taylor  <ian@cygnus.com>
2305597410b8Schristos
2306597410b8Schristos	* targets.c (bfd_default_vector): Make non-const.
2307597410b8Schristos	(find_target): New static function, broken out of
2308597410b8Schristos	bfd_find_target.
2309597410b8Schristos	(bfd_set_default_target): New function.
2310597410b8Schristos	(bfd_find_target): Call find_target.  When defaulting, use
2311597410b8Schristos	bfd_default_vector[0] if it is not NULL.
2312597410b8Schristos	* libbfd-in.h (bfd_default_vector): Adjust declaration.
2313597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
2314597410b8Schristos
2315597410b8Schristos	* syms.c (bfd_is_local_label): Return false if the symbol has no
2316597410b8Schristos	name.
2317597410b8Schristos	* coff-i960.c (coff_i960_is_local_label_name): New function.
2318597410b8Schristos	(coff_bfd_is_local_label_name): Define.
2319597410b8Schristos	* coff-m68k.c (m68k_coff_is_local_label_name): New function.
2320597410b8Schristos	(coff_bfd_is_local_label_name): Define.
2321597410b8Schristos	* coff-rs6000.c (xcoff_is_local_label_name): New function.
2322597410b8Schristos	(coff_bfd_is_local_label_name): Define.
2323597410b8Schristos	* elf.c (_bfd_elf_is_local_label_name): Treat symbols beginning
2324597410b8Schristos	with .. or _.L_ as local.
2325597410b8Schristos	* elf32-i386.c (elf_i386_is_local_label_name): New function.
2326597410b8Schristos	(bfd_elf32_bfd_is_local_label_name): Define.
2327597410b8Schristos	* evax-alpha.c (evax_bfd_is_local_label_name): Treat symbols
2328597410b8Schristos	beginning with $ as local.
2329597410b8Schristos
2330597410b8SchristosThu Feb 27 18:36:23 1997  Ian Lance Taylor  <ian@cygnus.com>
2331597410b8Schristos
2332597410b8Schristos	* aoutx.h (aout_link_write_symbols): Use bfd_is_local_label_name
2333597410b8Schristos	rather than comparing against info->lprefix.
2334597410b8Schristos	* cofflink.c (_bfd_coff_link_input_bfd): Likewise.
2335597410b8Schristos	* elflink.h (elf_link_input_bfd): Likewise.
2336597410b8Schristos	* linker.c (_bfd_generic_link_output_symbols): Likewise.
2337597410b8Schristos	* xcofflink.c (xcoff_link_input_bfd): Likewise.
2338597410b8Schristos
2339597410b8Schristos	* elfxx-target.h (bfd_elfNN_bfd_is_local_label_name): Define as
2340597410b8Schristos	_bfd_elf_is_local_label_name if not already defined.
2341597410b8Schristos	* elf.c (_bfd_elf_is_local_label_name): New function.
2342597410b8Schristos	* elf-bfd.h (_bfd_elf_is_local_label_name): Declare.
2343597410b8Schristos
2344597410b8Schristos	* coff-m88k.c (coff_bfd_is_local_label_name): Define.
2345597410b8Schristos	(m88k_is_local_label_name): New static function.
2346597410b8Schristos
2347597410b8Schristos	* coffcode.h (coff_bfd_is_local_label_name): Define as
2348597410b8Schristos	_bfd_coff_is_local_label_name if not already defined.
2349597410b8Schristos	* coffgen.c (_bfd_coff_is_local_label_name): New function.
2350597410b8Schristos	* libcoff-in.h (_bfd_coff_is_local_label_name): Declare.
2351597410b8Schristos	* libcoff.h: Rebuild.
2352597410b8Schristos
2353597410b8Schristos	* targets.c (BFD_JUMP_TABLE_SYMBOLS): Change _bfd_is_local_label
2354597410b8Schristos	to _bfd_is_local_label_name.
2355597410b8Schristos	(bfd_target): Likewise.
2356597410b8Schristos	* syms.c (bfd_is_local_label): Define as function, not macro.
2357597410b8Schristos	(bfd_is_local_name): Define.
2358597410b8Schristos	* libbfd.c (bfd_generic_is_local_label_name): Rename from
2359597410b8Schristos	bfd_generic_is_local_label, and take a string rather than a
2360597410b8Schristos	symbol.
2361597410b8Schristos	* libbfd-in.h (_bfd_nosymbols_bfd_is_local_label): Don't define.
2362597410b8Schristos	(_bfd_nosymbols_bfd_is_local_label_name): Define.
2363597410b8Schristos 	(bfd_generic_is_local_label): Don't declare.
2364597410b8Schristos	(bfd_generic_is_local_label_name): Declare.
2365597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
2366597410b8Schristos	* All backends: Change local_label to local_label_name.
2367597410b8Schristos
2368597410b8Schristos	* elf32-mips.c (struct mips_got_info): Add assigned_gotno field.
2369597410b8Schristos	(mips_elf_relocate_got_local): Change return type to boolean.
2370597410b8Schristos	Don't assume that the first zero entry is unassigned; instead, use
2371597410b8Schristos	assigned_gotno.
2372597410b8Schristos	(mips_elf_relocate_section): Check return value of
2373597410b8Schristos	mips_elf_relocate_got_local.
2374597410b8Schristos	(mips_elf_create_got_section): Initialize assigned_gotno field.
2375597410b8Schristos
2376597410b8SchristosWed Feb 26 15:19:51 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
2377597410b8Schristos
2378597410b8Schristos	* elf32-d30v.c (bfd_elf_d30v_reloc): Add code to do 32-bit
2379597410b8Schristos	relocations.
2380597410b8Schristos
2381597410b8SchristosWed Feb 26 13:33:03 1997  Ian Lance Taylor  <ian@cygnus.com>
2382597410b8Schristos
2383597410b8Schristos	* elflink.h (elf_link_input_bfd): Don't skip symbols from sections
2384597410b8Schristos	that have no contents merely because linker_mark is not set.
2385597410b8Schristos
2386597410b8SchristosTue Feb 25 18:51:35 1997  Stan Shebs  <shebs@andros.cygnus.com>
2387597410b8Schristos
2388597410b8Schristos	* config.bfd (mips*-*-lnews*): New target.
2389597410b8Schristos	* coff-mips.c (mips_relocate_section): Make assert compare
2390597410b8Schristos	content byteorder instead of header byteorder.
2391597410b8Schristos	(ecoff_biglittle_vec): New BFD, big-endian headers, little-endian
2392597410b8Schristos	data.
2393597410b8Schristos	* targets.c (bfd_target_vector): Add ecoff_biglittle_vec.
2394597410b8Schristos	* configure.in (ecoff_biglittle_vec): Add case.
2395597410b8Schristos	* configure: Update.
2396597410b8Schristos
2397597410b8SchristosTue Feb 25 00:32:49 1997  Ian Lance Taylor  <ian@cygnus.com>
2398597410b8Schristos
2399597410b8Schristos	* elf.c (elf_fake_sections): Use SHT_NOTE for any section whose
2400597410b8Schristos	name begins with ".note".
2401597410b8Schristos	(map_sections_to_segments): Add a PT_NOTE segment for any loadable
2402597410b8Schristos	section whose name begins with ".note".
2403597410b8Schristos	(get_program_header_size): Corresponding change.
2404597410b8Schristos
2405597410b8Schristos	* elf32-mips.c (mips_elf_relocate_section): Check for misaligned
2406597410b8Schristos	jal and for jal overflow.
2407597410b8Schristos
2408597410b8SchristosMon Feb 24 17:53:14 1997  Ian Lance Taylor  <ian@cygnus.com>
2409597410b8Schristos
2410597410b8Schristos	From Eric Youngdale <eric@andante.jic.com>:
2411597410b8Schristos	* elflink.h (elf_link_add_archive_symbols): If a default symbol is
2412597410b8Schristos	not found, try looking it up again without the version name.
2413597410b8Schristos	(elf_link_add_object_symbols): Always link against the dynamic
2414597410b8Schristos	symbol table of a dynamic object.  When linking against a dynamic
2415597410b8Schristos	object, include version strings in symbol names, and set up
2416597410b8Schristos	version information.  Add indirect symbols for default versions.
2417597410b8Schristos	(elf_link_create_dynamic_sections): Add special version sections.
2418597410b8Schristos	(struct elf_assign_sym_version_info): Define.
2419597410b8Schristos	(struct elf_find_verdep_info): Define.
2420597410b8Schristos	(NAME(bfd_elf,size_dynamic_sections)): Add verdefs parameter.  Set
2421597410b8Schristos	up version sections.
2422597410b8Schristos	(elf_adjust_dynamic_symbol): Ignore indirect symbols.
2423597410b8Schristos	(elf_link_find_version_dependencies): New static function.
2424597410b8Schristos	(elf_link_assign_sym_version): New static function.
2425597410b8Schristos	(elf_link_renumber_dynsyms): New static function.
2426597410b8Schristos	(struct elf_final_link_info): Add symver_sec field.
2427597410b8Schristos	(elf_bfd_final_link): Initialize finfo.symver_sec.  Don't count
2428597410b8Schristos	local symbols of a dynamic object.  Handle DT_VER* constants.
2429597410b8Schristos	(elf_link_output_extsym): Simplify BFD_ASSERT checking for a
2430597410b8Schristos	dynamic object.  Skip indirect symbols from ELF objects.  Remove
2431597410b8Schristos	the version name before choosing a hash bucket.  Write out the
2432597410b8Schristos	version information if appropriate.
2433597410b8Schristos	(elf_link_input_bfd): Check for DYNAMIC, not ET_DYN.
2434597410b8Schristos	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
2435597410b8Schristos	(bfd_elf64_size_dynamic_sections): Likewise.
2436597410b8Schristos	* bfd-in2.h: Rebuild.
2437597410b8Schristos	* elf-bfd.h (struct elf_link_hash_entry): Add verinfo field.
2438597410b8Schristos	Change elf_link_hash_flags to unsigned short.
2439597410b8Schristos	(ELF_LINK_HIDDEN): Define.
2440597410b8Schristos	(struct elf_obj_tdata): Add fields dynversym_hdr, dynverref_hdr,
2441597410b8Schristos	dynverdef_hdr, dynversym_section, dynverdef_section,
2442597410b8Schristos	dynverref_section, cverdefs, cverrefs, verdef, verref.
2443597410b8Schristos	(elf_dynversym, elf_dynverdef, elf_dynverref): Define.
2444597410b8Schristos	(_bfd_elf_swap_verdef_in, _bfd_elf_swap_verdef_out): Declare.
2445597410b8Schristos	(_bfd_elf_swap_verdaux_in, _bfd_elf_swap_verdaux_out): Declare.
2446597410b8Schristos	(_bfd_elf_swap_verneed_in, _bfd_elf_swap_verneed_out): Declare.
2447597410b8Schristos	(_bfd_elf_swap_vernaux_in, _bfd_elf_swap_vernaux_out): Declare.
2448597410b8Schristos	(_bfd_elf_swap_versym_in, _bfd_elf_swap_versym_out): Declare.
2449597410b8Schristos	(_bfd_elf_slurp_version_tables): Declare.
2450597410b8Schristos	* elf.c (_bfd_elf_swap_verdef_in): New function.
2451597410b8Schristos	(_bfd_elf_swap_verdef_out): Likewise.
2452597410b8Schristos	(_bfd_elf_swap_verdaux_in, _bfd_elf_swap_verdaux_out): Likewise.
2453597410b8Schristos	(_bfd_elf_swap_verneed_in, _bfd_elf_swap_verneed_out): Likewise.
2454597410b8Schristos	(_bfd_elf_swap_vernaux_in, _bfd_elf_swap_vernaux_out): Likewise.
2455597410b8Schristos	(_bfd_elf_swap_versym_in, _bfd_elf_swap_versym_out): Likewise.
2456597410b8Schristos	(_bfd_elf_print_private_bfd_data): Add DT_VER* constants.  Print
2457597410b8Schristos	version information if there is any.
2458597410b8Schristos	(_bfd_elf_link_hash_newfunc): Initialize verinfo field.
2459597410b8Schristos	(bfd_section_from_shdr): Handle SHT_GNU_ver* section types.
2460597410b8Schristos	(elf_fake_sections): Handle .gnu.version* section names.
2461597410b8Schristos	(assign_section_numbers): Handle SHT_GNU_ver* section types.
2462597410b8Schristos	(_bfd_elf_slurp_version_tables): New function.
2463597410b8Schristos	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't include
2464597410b8Schristos	version name in string entered in dynamic hash table.
2465597410b8Schristos	* elfcode.h: Include fnmatch.h.
2466597410b8Schristos	* elf32-i386.c (elf_i386_relocate_section): Handle a dynamic
2467597410b8Schristos	symbol which was forced to become local.
2468597410b8Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2469597410b8Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2470597410b8Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2471597410b8Schristos	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
2472597410b8Schristos
2473597410b8SchristosFri Feb 21 16:15:18 1997  Jeffrey A Law  (law@cygnus.com)
2474597410b8Schristos
2475597410b8Schristos	* elf32-mn10200.c (mn10200_elf_final_link_relocate): Simplify
2476597410b8Schristos	somewhat.
2477597410b8Schristos	(mn10200_elf_relax_section): Correctly compute a symbol's value
2478597410b8Schristos	when the symbol is local, but not in the same section as we are
2479597410b8Schristos	relaxing.  Implement abs24 -> abs16, imm24 -> imm16 and d24 -> d16
2480597410b8Schristos	relaxing.
2481597410b8Schristos
2482597410b8SchristosFri Feb 21 13:55:14 1997  Doug Evans  <dje@seba.cygnus.com>
2483597410b8Schristos
2484597410b8Schristos	* elf32-m32r.c: Rewrite to use ELF backend linker.
2485597410b8Schristos	Store lower 16 bits of addend in R_M32R_HI16_[SU]LO insns.
2486597410b8Schristos	Add small data area support (R_M32R_SDA16).
2487597410b8Schristos	* reloc.c: Document BFD_RELOC_M32R_SDA16.
2488597410b8Schristos	* bfd-in2.h, libbfd.h: Regenerated.
2489597410b8Schristos
2490597410b8SchristosThu Feb 20 23:50:31 1997  Jeffrey A Law  (law@cygnus.com)
2491597410b8Schristos
2492597410b8Schristos	* elf32-mn10200.c (mn10200_elf_relax_section): New function.
2493597410b8Schristos	(mn10200_elf_relax_delete_bytes): Likewise.
2494597410b8Schristos	(mn10200_elf_symbol_address_p): Likewise.
2495597410b8Schristos	(mn10200_elf_get_relocated_section_contents): Likewise.
2496597410b8Schristos	(bfd_elf32_bfd_relax_section): Define.
2497597410b8Schristos	(bfd_elf32_bfd_get_relocated_section_contents): Likewise.
2498597410b8Schristos
2499597410b8Schristos	* elf32-mn10200.c (mn10200_elf_final_link_relocate): New function.
2500597410b8Schristos	(mn10200_elf_relocate_section): Likewise.
2501597410b8Schristos	(elf_backend_relocate_section): Define.
2502597410b8Schristos
2503597410b8SchristosTue Feb 18 17:22:59 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
2504597410b8Schristos
2505597410b8Schristos	* Makefile.in: New target, elf-*-D30V.
2506597410b8Schristos	* archures.c: New target, elf-*-D30V.
2507597410b8Schristos	* config.bfd: New target, elf-*-D30V.
2508597410b8Schristos	* configure.in: New target, elf-*-D30V.
2509597410b8Schristos	* elf.c: New target, elf-*-D30V.
2510597410b8Schristos	* reloc.c: New target, elf-*-D30V.
2511597410b8Schristos	* targets.c: New target, elf-*-D30V.
2512597410b8Schristos	* bfd-in2.h: Rebuilt.
2513597410b8Schristos	* configure: Rebuilt.
2514597410b8Schristos	* libbfd.h: Rebuilt.
2515597410b8Schristos	* cpu-d30v.c: New files.
2516597410b8Schristos	* elf32-d30v.c: New files.
2517597410b8Schristos
2518597410b8SchristosTue Feb 18 15:31:48 1997  Fred Fish  <fnf@cygnus.com>
2519597410b8Schristos
2520597410b8Schristos	* reloc.c (struct reloc_howto_struct): Fix typo in comment.
2521597410b8Schristos	* bfd-in2.h: Regenerated.
2522597410b8Schristos	* coff-tic80.c (RTYPE2HOWTO): Replace abort with real function.
2523597410b8Schristos	(rtype2howto): Add function.
2524597410b8Schristos	(tic80_howto_table): Add.
2525597410b8Schristos
2526597410b8SchristosTue Feb 18 11:41:00 1997  Dawn Perchik  <dawn@cygnus.com>
2527597410b8Schristos
2528597410b8Schristos	* sysdep.h: Don't define errno in MSVC if error.h is included.
2529597410b8Schristos
2530597410b8SchristosTue Feb 18 10:04:13 1997  Jeffrey A Law  (law@cygnus.com)
2531597410b8Schristos
2532597410b8Schristos	* elf32-v850.c (v850_elf_relocate_section): Make sure r_symndx
2533597410b8Schristos	is initialized before it is used.
2534597410b8Schristos
2535597410b8SchristosMon Feb 17 11:28:40 1997  Ian Lance Taylor  <ian@cygnus.com>
2536597410b8Schristos
2537597410b8Schristos	* hp300hpux.c (convert_sym_type): Don't convert a secondary common
2538597410b8Schristos	symbol into a weak undefined symbol; leave it as a common symbol.
2539597410b8Schristos
2540597410b8SchristosFri Feb 14 19:08:03 1997  Ian Lance Taylor  <ian@cygnus.com>
2541597410b8Schristos
2542597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Don't issue a warning
2543597410b8Schristos	about a symbol defined in a dynamic object if it has already been
2544597410b8Schristos	defined in a regular object.
2545597410b8Schristos
2546597410b8SchristosThu Feb 13 20:53:22 1997  Klaus Kaempf  (kkaempf@progis.de)
2547597410b8Schristos
2548597410b8Schristos	* makefile.vms: Add gcc flags to allow compiling with current gcc
2549597410b8Schristos	snapshot
2550597410b8Schristos	(targmatch.h): New dependency.
2551597410b8Schristos
2552597410b8Schristos	* reloc.c (BFD_RELOC_ALPHA_CODEADDR): New relocation for
2553597410b8Schristos	openVMS/Alpha.
2554597410b8Schristos	* evax.h (ALPHA_R_CODEADDR): New relocation.
2555597410b8Schristos	* evax-alpha.c (ALPHA_R_CODEADDR): 64 bit procedure relocation for
2556597410b8Schristos	openVMS/Alpha.
2557597410b8Schristos	* evax-etir.c (ALPHA_R_CODEADDR): Output object code for this
2558597410b8Schristos	relocation.
2559597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
2560597410b8Schristos
2561597410b8Schristos	Restrict symbol length to 64 bytes, case preserving:
2562597410b8Schristos	* evax-emh.c (_bfd_evax_write_emh): Remove case hacking.
2563597410b8Schristos	* evax-misc.c (_bfd_evax_case_hack_symbol): Remove.
2564597410b8Schristos	(_bfd_evax_length_hash_symbol): Added.
2565597410b8Schristos	* evax-etir.c (_bfd_evax_write_etir): Call
2566597410b8Schristos	_bfd_evax_length_hash_symbol before output of symbol.
2567597410b8Schristos	* evax-egsd.c (_bfd_evax_write_egsd): Likewise.
2568597410b8Schristos	* evax.h (flag_hash_long_names, flag_show_after_trunc): Remove.
2569597410b8Schristos
2570597410b8Schristos	* evax-emh.c: Output filename to object file without path.
2571597410b8Schristos
2572597410b8Schristos	* evax-egsd.c: New sections for local and global commons.
2573597410b8Schristos
2574597410b8Schristos	* evax-alpha.c, evax-emh.c, evax-egsd.c, evax-etir.c,
2575597410b8Schristos	evax-misc.c, evax.h: Remove 8 bit characters from copyright
2576597410b8Schristos	notices.  Replace AXP with Alpha.
2577597410b8Schristos
2578597410b8SchristosWed Feb 12 18:10:30 1997  Ian Lance Taylor  <ian@cygnus.com>
2579597410b8Schristos
2580597410b8Schristos	* sunos.c (sunos_create_dynamic_sections): We need the dynamic
2581597410b8Schristos	sections if we are creating a shared library.
2582597410b8Schristos
2583597410b8SchristosTue Feb 11 15:45:43 1997  Doug Evans  <dje@canuck.cygnus.com>
2584597410b8Schristos
2585597410b8Schristos	* configure.host (i386-windows): Don't set host64=true.
2586597410b8Schristos
2587597410b8SchristosTue Feb 11 15:27:32 1997  Ian Lance Taylor  <ian@cygnus.com>
2588597410b8Schristos
2589597410b8Schristos	* elf32-mips.c (reloc_type): Add R_MIPS16_GPREL.
2590597410b8Schristos	(elf_mips16_gprel_howto): New static variable.
2591597410b8Schristos	(mips16_gprel_reloc): New static function.
2592597410b8Schristos	(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_GPREL.
2593597410b8Schristos	(mips_info_to_howto_rel): Handle R_MIPS16_GPREL.
2594597410b8Schristos	(mips_elf_relocate_section): Handle R_MIPS16_GPREL.
2595597410b8Schristos	* reloc.c (BFD_RELOC_MIPS16_GPREL): Define.
2596597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
2597597410b8Schristos
2598597410b8SchristosMon Feb 10 23:25:00 1997  Doug Evans  <dje@seba.cygnus.com>
2599597410b8Schristos
2600597410b8Schristos	* elf32-m32r.c (elf_m32r_howto_table): Change partial_inplace to true
2601597410b8Schristos	for R_M32R_{16,32,24,HI16_ULO,HI16_SLO,LO16}.
2602597410b8Schristos
2603597410b8SchristosFri Feb  7 12:39:11 1997  Ian Lance Taylor  <ian@cygnus.com>
2604597410b8Schristos
2605597410b8Schristos	* elflink.h (elf_link_input_bfd): If we've discarded a section,
2606597410b8Schristos	the output section will be the absolute section; don't print an
2607597410b8Schristos	assertion message for that case when doing a relocateable link.
2608597410b8Schristos
2609597410b8SchristosThu Feb  6 16:55:43 1997  Ian Lance Taylor  <ian@cygnus.com>
2610597410b8Schristos
2611597410b8Schristos	* elf32-mips.c (FN_STUB, CALL_STUB, CALL_FP_STUB): Define.
2612597410b8Schristos	(struct mips_elf_link_hash_entry): Add new fields fn_stub,
2613597410b8Schristos	need_fn_sub, call_stub, and call_fp_stub.
2614597410b8Schristos	(struct mips_elf_link_hash_table): Add field mips16_stubs_seen.
2615597410b8Schristos	(mips_elf_link_hash_newfunc): Initialize new fields.
2616597410b8Schristos	(mips_elf_link_hash_table_create): Likewise.
2617597410b8Schristos	(mips_elf_relocate_section): Redirect relocations to use mips16
2618597410b8Schristos	stubs when appropriate.
2619597410b8Schristos	(mips_elf_check_relocs): Attach stub sections to the appropriate
2620597410b8Schristos	symbol.  Set need_fn_stub when appropriate.
2621597410b8Schristos	(mips_elf_always_size_sections): New static function.
2622597410b8Schristos	(mips_elf_check_mips16_stubs): New static function.
2623597410b8Schristos	(elf_backend_always_size_sections): Define.
2624597410b8Schristos	* elf-bfd.h (struct elf_obj_tdata): Add local_stubs field.
2625597410b8Schristos
2626597410b8Schristos	* elflink.h (elf_link_input_bfd): Discard local symbols that are
2627597410b8Schristos	attached to sections which are not being included in the link.
2628597410b8Schristos
2629597410b8SchristosWed Feb  5 13:20:17 1997  Ian Lance Taylor  <ian@cygnus.com>
2630597410b8Schristos
2631597410b8Schristos	* cofflink.c (_bfd_coff_generic_relocate_section): Ignore the
2632597410b8Schristos	symbol value when computing the addend for a pc_relative
2633597410b8Schristos	pcrel_offset reloc.
2634597410b8Schristos
2635597410b8SchristosMon Feb  3 11:54:06 1997  Ian Lance Taylor  <ian@cygnus.com>
2636597410b8Schristos
2637597410b8Schristos	* cofflink.c (_bfd_coff_generic_relocate_section): If doing a
2638597410b8Schristos	relocateable link, just skip pc_relative pcrel_offset relocs.
2639597410b8Schristos	* coff-arm.c (coff_arm_rtype_to_howto): Return a different howto
2640597410b8Schristos	structure for an ARM26 reloc which can be resolved.
2641597410b8Schristos	(coff_arm_adjust_symndx): Only convert ARM26 to ARM26D if the
2642597410b8Schristos	reloc can be resolved.
2643597410b8Schristos
2644597410b8Schristos	* coff-h8300.c (h8300_reloc16_extra_cases): Correct off by one
2645597410b8Schristos	error in overflow check for R_RELBYTE.
2646597410b8Schristos
2647597410b8SchristosFri Jan 31 14:07:27 1997  Ian Lance Taylor  <ian@cygnus.com>
2648597410b8Schristos
2649597410b8Schristos	* ieee.c (ieee_slurp_section_data): Pick up the start address.
2650597410b8Schristos	From Mark Rasin <mark.rasin@telrad.co.il>.
2651597410b8Schristos
2652597410b8Schristos	* aoutx.h (aout_link_write_symbols): Don't apply discard_l to
2653597410b8Schristos	debugging symbols.
2654597410b8Schristos
2655597410b8SchristosWed Jan 29 00:00:49 1997  Jeffrey A Law  (law@cygnus.com)
2656597410b8Schristos
2657597410b8Schristos	* elf32-mn10200.c (reloc_type): Add 16bit pc-relative reloc.
2658597410b8Schristos	(elf_mn10200_howto_table): Likewise.
2659597410b8Schristos	(mn10200_reloc_map): Likewise.
2660597410b8Schristos
2661597410b8SchristosMon Jan 27 12:07:35 1997  Doug Evans  <dje@seba.cygnus.com>
2662597410b8Schristos
2663597410b8Schristos	* reloc.c: Add relocs BFD_RELOC_M32R_{HI16_[US]LO,LO16}.
2664597410b8Schristos	* bfd-in2.h, libbfd.h: Regenerated.
2665597410b8Schristos	* elf32-m32r.c: Add support for them.
2666597410b8Schristos
2667597410b8SchristosMon Jan 27 12:25:02 1997  Ian Lance Taylor  <ian@cygnus.com>
2668597410b8Schristos
2669597410b8Schristos	* aout-arm.c (MY_swap_std_reloc_in): Remove unused r_length.
2670597410b8Schristos	* elf32-ppc.c (ppc_elf_check_relocs): Remove unused plt.
2671597410b8Schristos	* elf32-v850.c (v850_elf_final_link_relocate): Remove used
2672597410b8Schristos	r_format and r_pcrel.  Always return a value.
2673597410b8Schristos	* riscix.c (MY_final_link_callback): Define to dummy value.
2674597410b8Schristos
2675597410b8Schristos	* elf32-i386.c (elf_i386_size_dynamic_sections): When checking for
2676597410b8Schristos	relocations against the text segment, look up the output name of
2677597410b8Schristos	the reloc section.
2678597410b8Schristos	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
2679597410b8Schristos	* elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
2680597410b8Schristos	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
2681597410b8Schristos	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
2682597410b8Schristos	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
2683597410b8Schristos
2684597410b8SchristosWed Jan 22 15:40:28 1997  Fred Fish  <fnf@cygnus.com>
2685597410b8Schristos
2686597410b8Schristos	* coff-tic80.c (tic80coff_vec): Use correct data put/get
2687597410b8Schristos	routines for little endian data.
2688597410b8Schristos	* coffcode.h (coff_write_object_contents): Set magic to
2689597410b8Schristos 	TIC80_ARCH_MAGIC for TIc80.
2690597410b8Schristos
2691597410b8SchristosTue Jan 21 12:32:43 1997  Fred Fish  <fnf@cygnus.com>
2692597410b8Schristos
2693597410b8Schristos	* coff-tic80.c (tic80coff_vec): Change to little endian data
2694597410b8Schristos	as the default.
2695597410b8Schristos
2696597410b8SchristosThu Jan 16 17:45:57 1997  Ian Lance Taylor  <ian@cygnus.com>
2697597410b8Schristos
2698597410b8Schristos	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Change type of
2699597410b8Schristos	auxiliary_filters parameter to be const char * const *.  Accept a
2700597410b8Schristos	NULL terminated array.
2701597410b8Schristos	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
2702597410b8Schristos	(bfd_elf32_size_dynamic_sections): Update declaration.
2703597410b8Schristos	* bfd-in2.h: Rebuild.
2704597410b8Schristos
2705597410b8SchristosWed Jan 15 11:21:32 1997  Ian Lance Taylor  <ian@cygnus.com>
2706597410b8Schristos
2707597410b8Schristos	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Treat a
2708597410b8Schristos	NOTYPE symbol in a text section as a FUNC symbol.
2709597410b8Schristos
2710597410b8Schristos	* coffcode.h (coff_compute_section_file_positions): Force
2711597410b8Schristos	relocbase to be aligned to COFF_DEFAULT_SECTION_ALIGNMENT_POWER.
2712597410b8Schristos
2713597410b8SchristosTue Jan 14 08:46:33 1997  Doug Evans  <dje@canuck.cygnus.com>
2714597410b8Schristos
2715597410b8Schristos	* libaout.h (machine_type): Reserve several values for sparclet.
2716597410b8Schristos
2717597410b8SchristosMon Jan 13 22:39:08 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
2718597410b8Schristos
2719597410b8Schristos	* config.bfd (tic80-*-*): Don't require 'coff'.
2720597410b8Schristos
2721597410b8SchristosMon Jan 13 19:36:25 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
2722597410b8Schristos
2723597410b8Schristos	* elf32-v850.c (v850_elf_howto_table): Set the special_function
2724597410b8Schristos	table to v850_elf_reloc for all non-standard relocations.
2725597410b8Schristos	(v850_elf_check_relocs): Add check for h being non-null.
2726597410b8Schristos	(v850_elf_reloc): Add  R_V850_ZDA_OFFSET support.  Use switch
2727597410b8Schristos	statement instead of multiple ifs.
2728597410b8Schristos	(v850_elf_relocate_section): Fix up error message, don't just call
2729597410b8Schristos	abort.
2730597410b8Schristos
2731597410b8SchristosMon Jan  6 13:28:35 1997  Jeffrey A Law  (law@cygnus.com)
2732597410b8Schristos
2733597410b8Schristos	* elf32-mn10200.c (elf_mn10200_howto): Don't ever set partial-inplace.
2734597410b8Schristos	Use bfd_elf_generic_reloc as special function for all relocs.
2735597410b8Schristos	(bfd_elf32_mn10200_reloc): Remove unnecessary function.
2736597410b8Schristos
2737597410b8Schristos	* elf32-mn10200.c (elf_mn10200_howto): Set pcrel_offset for
2738597410b8Schristos	24bit pc-relative reloc.
2739597410b8Schristos
2740597410b8SchristosFri Jan  3 16:33:00 1997  Fred Fish  <fnf@cygnus.com>
2741597410b8Schristos
2742597410b8Schristos	* Makefile.in (coff-tic80.o): Add coffcode.h to dependency list.
2743597410b8Schristos	* coff-tic80.c (tic80coff_vec): Data byte order is big endian and
2744597410b8Schristos	header byte order is little endian.  Use correct bfd_get and
2745597410b8Schristos	bfd_put routines for little endian headers.
2746597410b8Schristos	* coffcode.h (coff_set_arch_mach_hook): Set arch to
2747597410b8Schristos	bfd_arch_tic80 for TIC80_ARCH_MAGIC number.
2748597410b8Schristos
2749597410b8SchristosFri Jan  3 16:54:08 1997  Jeffrey A Law  (law@cygnus.com)
2750597410b8Schristos
2751597410b8Schristos	* reloc.c: Add BFD_RELOC_24.
2752597410b8Schristos	* elf32-mn10200.c (enum reloc_type): Add 24bit and pcrel relocs.
2753597410b8Schristos	(elf_mn10200_howto, mn10200_reloc_map): Corresponding changes.
2754597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuilt.
2755597410b8Schristos
2756597410b8SchristosFri Jan  3 16:58:31 1997  Richard Henderson  <rth@tamu.edu>
2757597410b8Schristos
2758597410b8Schristos	elf64-alpha multiple .got rewrite:
2759597410b8Schristos
2760597410b8Schristos	* elf-bfd.h (struct elf_backend_data): Add always_size_sections entry.
2761597410b8Schristos	(bfd_elf*_mkobject): Don't define here ...
2762597410b8Schristos	* elfxx-target.h: ... but rather here.  Default always_size_sections
2763597410b8Schristos	hook to NULL.
2764597410b8Schristos	* elf.c (elf_mkobject): Rename to bfd_elf_mkobject, since that was
2765597410b8Schristos	what the #defines in elf-bfd.h transmuted it to anyway.
2766597410b8Schristos
2767597410b8Schristos	* section.c: Add SEC_LINKER_CREATED flag.
2768597410b8Schristos	* bfd-in2.h: Rebuild.
2769597410b8Schristos	* elf32-i386.c (elf_i386_check_relocs): Add SEC_LINKER_CREATED to
2770597410b8Schristos	relocation section flags.
2771597410b8Schristos	(elf_i386_size_dynamic_sections): Use SEC_LINKER_CREATED instead of
2772597410b8Schristos	SEC_IN_MEMORY to recognize generated bits.
2773597410b8Schristos	* elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_size_dynamic_sections):
2774597410b8Schristos	Likewise.
2775597410b8Schristos	* elf32-mips.c (mips_elf_final_link, mips_elf_create_dynamic_sections,
2776597410b8Schristos	mips_elf_create_compact_rel_section, mips_elf_create_got_section,
2777597410b8Schristos	mips_elf_check_relocs, mips_elf_size_dynamic_sections): Likewise.
2778597410b8Schristos	* elf32-ppc.c (ppc_elf_create_linker_section,
2779597410b8Schristos	ppc_elf_size_dynamic_sections): Likewise.
2780597410b8Schristos	* elf32-sparc.c (elf32_sparc_check_relocs,
2781597410b8Schristos	elf32_sparc_size_dynamic_sections): Likewise.
2782597410b8Schristos	* elflink.c (_bfd_elf_create_got_section): Add SEC_LINKER_CREATED to
2783597410b8Schristos	section flags.
2784597410b8Schristos	(_bfd_elf_create_dynamic_sections): Likewise.
2785597410b8Schristos	(_bfd_elf_make_linker_section_rela): Likewise.
2786597410b8Schristos	* elflink.h (elf_link_create_dynamic_sections): Likewise.
2787597410b8Schristos	(bfd_elf,size_dynamic_sections): Call the always_size_sections hook.
2788597410b8Schristos	(elf_bfd_final_link): Use SEC_LINKER_CREATED instead of SEC_IN_MEMORY
2789597410b8Schristos	to identify generated bits.
2790597410b8Schristos	(elf_link_input_bfd): Likewise.
2791597410b8Schristos
2792597410b8Schristos	* elf64-alpha.c: Rewrite everything touching relocations.
2793597410b8Schristos
2794597410b8SchristosFri Jan  3 11:42:53 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
2795597410b8Schristos
2796597410b8Schristos	* elf32-v850.c (all functions and static variables): Go through
2797597410b8Schristos	and regularize names to be of the form v850_elf_<xxx>.
2798597410b8Schristos	(toplevel): Include <elf/v850.h>.
2799597410b8Schristos	(enum reloc_type): Move to include/elf/v850.h.
2800597410b8Schristos	(v850_elf_check_relocs): For common variables, if the variable is
2801597410b8Schristos	referenced by a R_V850_{SDA,ZDA,TDA} relocation, put the variable
2802597410b8Schristos	into the appropriate section.
2803597410b8Schristos	(elf_backend_check_relocs): Define.
2804597410b8Schristos
2805597410b8SchristosTue Dec 31 15:15:28 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2806597410b8Schristos
2807597410b8Schristos	* elf32-v850.c (elf_v850_howto_table): Fix some spacing.
2808597410b8Schristos
2809597410b8SchristosTue Dec 31 14:44:50 1996  Ian Lance Taylor  <ian@cygnus.com>
2810597410b8Schristos
2811597410b8Schristos	* config.bfd (mips*el-*-linux*): New target.
2812597410b8Schristos	(mips*-*-linux*): New target.
2813597410b8Schristos
2814597410b8Schristos	* elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Clean up.
2815597410b8Schristos	Return a useful value.
2816597410b8Schristos
2817597410b8Schristos	* Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE.
2818597410b8Schristos
2819597410b8Schristos	* configure.in: Check ac_cv_func_mmap_fixed_mapped, not
2820597410b8Schristos	ac_cv_func_mmap.
2821597410b8Schristos	* configure: Rebuild.
2822597410b8Schristos	* configure.host: Use ac_cv_func_mmap_fixed_mapped instead of
2823597410b8Schristos	ac_cv_func_mmap in bfd/configure.host.
2824597410b8Schristos
2825597410b8Schristos	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Add
2826597410b8Schristos	filter_shlib and auxiliary_filter_shlib parameters.
2827597410b8Schristos	* elf.c (_bfd_elf_print_private_bfd_data): Handle DT_AUXILIARY and
2828597410b8Schristos	DT_FILTER.
2829597410b8Schristos	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
2830597410b8Schristos	(bfd_elf64_size_dynamic_sections): Likewise.
2831597410b8Schristos	* bfd-in2.h: Rebuild.
2832597410b8Schristos
2833597410b8SchristosMon Dec 30 18:48:52 1996  Ian Lance Taylor  <ian@cygnus.com>
2834597410b8Schristos
2835597410b8Schristos	* xcofflink.c (xcoff_build_ldsyms): When exporting all defined
2836597410b8Schristos	symbols, don't export a symbol which is defined by an object in an
2837597410b8Schristos	archive which contains shared objects.
2838597410b8Schristos
2839597410b8SchristosMon Dec 30 16:12:58 1996  Fred Fish  <fnf@cygnus.com>
2840597410b8Schristos
2841597410b8Schristos	* archures.c (enum bfd_architecture): Add bfd_arch_tic80
2842597410b8Schristos	for TI TMS320c80 (MVP).
2843597410b8Schristos	(bfd_archures_list): Add bfd_tic80_arch.
2844597410b8Schristos	* bfd-in2.h: Regenerate by running "make headers".
2845597410b8Schristos
2846597410b8SchristosSun Dec 29 16:18:52 1996  Fred Fish  <fnf@cygnus.com>
2847597410b8Schristos
2848597410b8Schristos	* cpu-tic80.c (bfd_tic80_arch): Add struct.
2849597410b8Schristos	* configure.in (case $vec): Correct typo, "tb" not "tp".
2850597410b8Schristos	Also add cofflink.o for tic80coff_vec.
2851597410b8Schristos	* configure: Regenerate with autoconf.
2852597410b8Schristos
2853597410b8SchristosMon Dec 30 11:54:56 1996  Ian Lance Taylor  <ian@cygnus.com>
2854597410b8Schristos
2855597410b8Schristos	* libbfd.c: Patch up the mmap code so that it is only built if BFD
2856597410b8Schristos	is configured with --with-mmap.
2857597410b8Schristos
2858597410b8SchristosSun Dec 29 10:48:57 1996  Fred Fish  <fnf@cygnus.com>
2859597410b8Schristos
2860597410b8Schristos	* Makefile.in (BFD32_BACKENDS): Add coff-tic80.o
2861597410b8Schristos	(ALL_MACHINES): Add cpu-tic80.o
2862597410b8Schristos	(cpu-tic80.o, coff-tic80.o): Add dependencies.
2863597410b8Schristos	* coff-tic80.c: Add skeleton, cloned from another coff config.
2864597410b8Schristos	* coffcode.h (coff_write_object_contents): Set magic to TIC80MAGIC
2865597410b8Schristos 	for TIc80.
2866597410b8Schristos
2867597410b8SchristosFri Dec 27 20:56:41 1996  Fred Fish  <fnf@cygnus.com>
2868597410b8Schristos
2869597410b8Schristos	* TODO: Correct a misspelling.
2870597410b8Schristos	* coff-tic80.c: New file for TI TMS320C80 (MVP).
2871597410b8Schristos	* cpu-tic80.c: New file for TI TMS320C80 (MVP).
2872597410b8Schristos	* configure.in (case $vec): Add tic80coff_vec entry.
2873597410b8Schristos	* configure: Regenerate with autoconf.
2874597410b8Schristos	* archures.c (bfd_tic80_arch): Declare.
2875597410b8Schristos	* bfd-in2.h (enum bfd_architecture): Add bfd_arch_tic80.
2876597410b8Schristos	* config.bfd (case ${targ}): Add tic80*-*-coff* target.
2877597410b8Schristos	* targets.c (tic80coff_vec): Add decl as extern bfd_target.
2878597410b8Schristos	(bfd_target_vector): Add tic80coff_vec entry.
2879597410b8Schristos
2880597410b8SchristosFri Dec 27 11:48:12 1996  H.J. Lu  <hjl@lucon.org>
2881597410b8Schristos
2882597410b8Schristos	* elflink.h (elf_buckets): Add some more values for larger
2883597410b8Schristos	binaries.
2884597410b8Schristos
2885597410b8SchristosThu Dec 26 18:36:54 1996  Ian Lance Taylor  <ian@cygnus.com>
2886597410b8Schristos
2887597410b8Schristos	* Makefile.in (install): Move subdir_do out of conditional. From
2888597410b8Schristos	Fred Fish <fnf@cygnus.com>.
2889597410b8Schristos
2890597410b8SchristosWed Dec 18 10:04:30 1996  Jeffrey A Law  (law@cygnus.com)
2891597410b8Schristos
2892597410b8Schristos	* elf32-mn10200.c (enum reloc_type): Enable basic 8, 16, and
2893597410b8Schristos	32 bit relocs.
2894597410b8Schristos	(elf_mn10200_howto_table): Likewise.
2895597410b8Schristos	(mn10200_reloc_map): Likewise.
2896597410b8Schristos
2897597410b8SchristosTue Dec 17 11:09:36 1996  Ian Lance Taylor  <ian@cygnus.com>
2898597410b8Schristos
2899597410b8Schristos	* elf32-mips.c (mips_elf_add_symbol_hook): Add 1 to the value of a
2900597410b8Schristos	mips16 symbol during the link.
2901597410b8Schristos	(mips_elf_finish_dynamic_symbol): Subtract 1 from the value of a
2902597410b8Schristos	mips16 symbol.
2903597410b8Schristos	(mips_elf_link_output_symbol_hook): New static function.
2904597410b8Schristos	(elf_backend_link_output_symbol_hook): Define.
2905597410b8Schristos
2906597410b8Schristos	* elf.c (bfd_elf_print_symbol): Print the st_other field if it is
2907597410b8Schristos	not zero.
2908597410b8Schristos
2909597410b8SchristosMon Dec 16 14:38:39 1996  Ian Lance Taylor  <ian@cygnus.com>
2910597410b8Schristos
2911597410b8Schristos	* elf.c (bfd_section_from_shdr): Don't check for reloc sections
2912597410b8Schristos	against SEC_DEBUGGING sections here (revert patch of December 5).
2913597410b8Schristos	* elfcode.h (elf_object_p): Check for them here, instead.
2914597410b8Schristos
2915597410b8SchristosSun Dec 15 14:46:06 1996  Ian Lance Taylor  <ian@cygnus.com>
2916597410b8Schristos
2917597410b8Schristos	* elfcode.h (elf_slurp_reloc_table): Add dynamic parameter.
2918597410b8Schristos	* elf.c (_bfd_elf_canonicalize_reloc): Pass new argument to
2919597410b8Schristos	slurp_reloc_table.
2920597410b8Schristos	(_bfd_elf_get_dynamic_reloc_upper_bound): New function.
2921597410b8Schristos	(_bfd_elf_canonicalize_dynamic_reloc): New function.
2922597410b8Schristos	* elf-bfd.h (struct elf_size_info): Update declaration of
2923597410b8Schristos	slurp_reloc_table.
2924597410b8Schristos	(_bfd_elf_get_dynamic_reloc_upper_bound): Declare.
2925597410b8Schristos	(_bfd_elf_canonicalize_dynamic_reloc): Declare.
2926597410b8Schristos	* elfxx-target.h: Use new dynamic reloc routines by default.
2927597410b8Schristos	* elf64-mips.c (mips_elf64_slurp_reloc_table): Add dynamic
2928597410b8Schristos	parameter.
2929597410b8Schristos
2930597410b8SchristosFri Dec 13 13:18:49 1996  Dan Wilder  <dan@gasboy.com>
2931597410b8Schristos
2932597410b8Schristos	* coffcode.h (coff_set_flags): Use MC68KBCSMAGIC for bfd_arch_m68k
2933597410b8Schristos	if NAMES_HAVE_UNDERSCORE is defined.
2934597410b8Schristos
2935597410b8SchristosFri Dec 13 11:13:23 1996  Doug Evans  <dje@canuck.cygnus.com>
2936597410b8Schristos
2937597410b8Schristos	* libaout.h (enum machine_type): Change M_SPARCLET from 142 to 131.
2938597410b8Schristos
2939597410b8SchristosThu Dec 12 15:07:20 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2940597410b8Schristos
2941597410b8Schristos	* elf32-ppc.c (ppc_elf_check_relocs): Move R_PPC_PLTREL24 into the
2942597410b8Schristos	supported relocs.
2943597410b8Schristos
2944597410b8SchristosThu Dec 12 14:55:41 1996  Ian Lance Taylor  <ian@cygnus.com>
2945597410b8Schristos
2946597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Only add a weak
2947597410b8Schristos	symbol if the real definition is in the dynamic symbol table.
2948597410b8Schristos	After finding the real definition, then, if it is dynamic, add the
2949597410b8Schristos	weak symbol to the dynamic symbol table.
2950597410b8Schristos
2951597410b8Schristos	* coff-aux.c (coff_m68k_aux_link_add_one_symbol): Make static.
2952597410b8Schristos
2953597410b8Schristos	* ppcboot.c (ppcboot_set_arch_mach): Don't define; it's a
2954597410b8Schristos	function.
2955597410b8Schristos	(ppcboot_bfd_print_private_bfd_data): Don't take the address of an
2956597410b8Schristos	array.
2957597410b8Schristos
2958597410b8SchristosTue Dec 10 23:23:52 1996  Jeffrey A Law  (law@cygnus.com)
2959597410b8Schristos
2960597410b8Schristos	* elf32-mn10300.c (reloc_type): Remove big endian mn10300 reloc
2961597410b8Schristos	variants.
2962597410b8Schristos	(elf32_mn10300_howto_table, mn10300_reloc_map): Likewise.
2963597410b8Schristos	(bfd_elf32_mn10300_reloc): Write data in little endian format.
2964597410b8Schristos	* reloc.c: Remove mn10300 big endian relocs.
2965597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuilt.
2966597410b8Schristos
2967597410b8Schristos	* elf32-mn10200.c: Update from elf32-mn10300.c.
2968597410b8Schristos
2969597410b8SchristosFri Dec  6 15:18:05 1996  Jeffrey A Law  (law@cygnus.com)
2970597410b8Schristos
2971597410b8Schristos	* elf32-mn10300.c (elf_symbol_leading_char): Define.
2972597410b8Schristos
2973597410b8Schristos	* elf32-mn10300.c: Add some comments.
2974597410b8Schristos
2975597410b8SchristosFri Dec  6 17:16:43 1996  Ian Lance Taylor  <ian@cygnus.com>
2976597410b8Schristos
2977597410b8Schristos	* ihex.c (ihex_scan): Always initialize buf before jumping to
2978597410b8Schristos	error_return.
2979597410b8Schristos	(ihex_read_section): Likewise.
2980597410b8Schristos
2981597410b8SchristosThu Dec  5 22:29:18 1996  Jeffrey A Law  (law@cygnus.com)
2982597410b8Schristos
2983597410b8Schristos	* elf32-mn10300.c (elf_mn10300_howto_table): Don't set partial-
2984597410b8Schristos	inplace for most relocs.
2985597410b8Schristos
2986597410b8SchristosThu Dec  5 13:24:46 1996  Ian Lance Taylor  <ian@cygnus.com>
2987597410b8Schristos
2988597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Calling check_relocs
2989597410b8Schristos	even if SEC_ALLOC is not set.
2990597410b8Schristos	* elf32-i386.c (elf_i386_check_relocs): Don't check SEC_ALLOC
2991597410b8Schristos	when deciding whether to copy a reloc into a shared object.
2992597410b8Schristos	(elf_i386_relocate_section): Likewise.
2993597410b8Schristos	* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
2994597410b8Schristos	(elf32_sparc_relocate_section): Likewise.
2995597410b8Schristos	* elf32-i386.c (elf_i386_check_relocs): Don't set SEC_ALLOC in a
2996597410b8Schristos	reloc section if it is not set in the source section.
2997597410b8Schristos	* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
2998597410b8Schristos	* elf.c (bfd_section_from_shdr): Mark a reloc section associated
2999597410b8Schristos	with a SEC_DEBUGGING section as SEC_DEBUGGING.
3000597410b8Schristos
3001597410b8SchristosWed Dec  4 14:18:13 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3002597410b8Schristos
3003597410b8Schristos	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): #if 0 code that
3004597410b8Schristos	expects a .got.plt until we actually create it.
3005597410b8Schristos
3006597410b8SchristosMon Dec  2 12:13:51 1996  Ian Lance Taylor  <ian@cygnus.com>
3007597410b8Schristos
3008597410b8Schristos	* cofflink.c (_bfd_coff_generic_relocate_section): Print an error
3009597410b8Schristos	message for bfd_reloc_outofrange, rather than aborting.  From
3010597410b8Schristos	Philippe De Muyter <phdm@info.ucl.ac.be>.
3011597410b8Schristos
3012597410b8Schristos	* cofflink.c (_bfd_coff_final_link): If there aren't any relocs in
3013597410b8Schristos	a relocateable link, don't try to process them.  From Heinz Wrobel
3014597410b8Schristos	<wrobel@lpr.e-technik.tu-muenchen.de>.
3015597410b8Schristos
3016597410b8SchristosMon Dec  2 00:39:24 1996  Jeffrey A Law  (law@cygnus.com)
3017597410b8Schristos
3018597410b8Schristos	* elf32-mn10300.c (mn10300_info_howto): Renamed from
3019597410b8Schristos	mn10300_info_howto_rel.  Tweak reloc argument to be an
3020597410b8Schristos	Elf32_Internal_Rela.
3021597410b8Schristos	(USE_RELA): Define instead of USE_REL.
3022597410b8Schristos	(elf_info_to_howto, elf_info_howto_rel): Corresponding changes.
3023597410b8Schristos
3024597410b8SchristosSun Dec  1 00:18:59 1996  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
3025597410b8Schristos
3026597410b8Schristos	* configure.in, configure:  Handle mips*-sgi-irix6*.
3027597410b8Schristos	* irix-core.c (irix_core_core_file_p):  Accept CORE_MAGICN32
3028597410b8Schristos	core files.
3029597410b8Schristos
3030597410b8SchristosWed Nov 27 12:10:25 1996  Ian Lance Taylor  <ian@cygnus.com>
3031597410b8Schristos
3032597410b8Schristos	* elf32-i386.c (elf_i386_relocate_section): Warn about a
3033597410b8Schristos	relocation against a symbol defined in a section with no output
3034597410b8Schristos	section.
3035597410b8Schristos
3036597410b8SchristosTue Nov 26 11:07:31 1996  Ian Lance Taylor  <ian@cygnus.com>
3037597410b8Schristos
3038597410b8Schristos	* aclocal.m4 (BFD_CC_FOR_BUILD): Don't require AC_C_CROSS.
3039597410b8Schristos	* configure, config.in: Rebuild with autoconf 2.12.
3040597410b8Schristos
3041597410b8Schristos	* elf-bfd.h (struct elf_link_hash_entry): Add other field.
3042597410b8Schristos	* elf.c (_bfd_elf_link_hash_newfunc): Initialize other field.
3043597410b8Schristos	(swap_out_syms): Set st_other from existing st_other field.
3044597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Store st_other in hash
3045597410b8Schristos	table other field.
3046597410b8Schristos	(elf_link_output_extsym): Set the other field from the global hash
3047597410b8Schristos	table entry.
3048597410b8Schristos	* elf32-mips.c (enum reloc_type): Add R_MIPS16_26.
3049597410b8Schristos	(elf_mips16_jump_howto): New static variable.
3050597410b8Schristos	(mips16_jump_reloc): New static function.
3051597410b8Schristos	(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_JMP.
3052597410b8Schristos	(mips_info_to_howto_rel): Handle R_MIPS16_26.
3053597410b8Schristos	(mips_elf_relocate_section): Handle R_MIPS16_26.  Handle R_MIPS_26
3054597410b8Schristos	to a mips16 symbol.
3055597410b8Schristos	* reloc.c (BFD_RELOC_MIPS16_JMP): Add to list of relocs.
3056597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
3057597410b8Schristos	* cpu-mips.c (arch_info_struct): Add mips:16 entry.
3058597410b8Schristos
3059597410b8SchristosMon Nov 25 11:23:32 1996  Ian Lance Taylor  <ian@cygnus.com>
3060597410b8Schristos
3061597410b8Schristos	* configure.host: Use long long for mips-sgi-irix6*.
3062597410b8Schristos
3063597410b8Schristos	* coffswap.h (coff_swap_scnhdr_out): Make line number overflow
3064597410b8Schristos	only a warning.  From Philippe De Muyter <phdemuyt@ulb.ac.be>.
3065597410b8Schristos
3066597410b8SchristosMon Nov 25 08:52:29 1996  Jeffrey A Law  (law@cygnus.com)
3067597410b8Schristos
3068597410b8Schristos	* elf32-mn10300.c (bfd_elf32_mn10300_reloc): New function.
3069597410b8Schristos	(enum reloc_type): Add more reloc types.
3070597410b8Schristos	(elf32_mn10300_howto_table): Update for new reloc types.
3071597410b8Schristos	(elf32_mn10300_reloc_map): Update for new reloc types.
3072597410b8Schristos	* reloc.c: Add some new relocs for the mn10300 series.
3073597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuilt.
3074597410b8Schristos
3075597410b8SchristosSat Nov 23 13:26:18 1996  Jeffrey A Law  (law@cygnus.com)
3076597410b8Schristos
3077597410b8Schristos	* som.c (setup_sections): Don't lose for a space which has
3078597410b8Schristos	no data, but some symbols.
3079597410b8Schristos
3080597410b8SchristosFri Nov 22 11:32:13 1996  Ian Lance Taylor  <ian@cygnus.com>
3081597410b8Schristos
3082597410b8Schristos	* sunos.c (struct sunos_link_hash_table): Add got_needed field.
3083597410b8Schristos	(sunos_link_hash_table_create): Initialize got_needed.
3084597410b8Schristos	(sunos_create_dynamic_sections): Only set .got section size if it
3085597410b8Schristos	is not already set.  Set got_needed.
3086597410b8Schristos	(bfd_sunos_size_dynamic_sections): Check got_needed.  Only set
3087597410b8Schristos	sdynptr, and only handle dynamic sections, if dynamic sections are
3088597410b8Schristos	needed.
3089597410b8Schristos	(sunos_scan_std_relocs): Pass false to create_dynamic_sections.
3090597410b8Schristos	Initialize .got section.
3091597410b8Schristos	(sunos_scan_ext_relocs): Likewise.
3092597410b8Schristos	(sunos_write_dynamic_symbol): Set up PLT entry even if this is not
3093597410b8Schristos	a dynamic symbol.
3094597410b8Schristos	(sunos_finish_dynamic_link): Check got_needed.  Only set up
3095597410b8Schristos	dynamic linking information if needed.
3096597410b8Schristos
3097597410b8SchristosThu Nov 21 10:31:31 1996  Rob Savoye  (rob@cygnus.com)
3098597410b8Schristos
3099597410b8Schristos	* config.bfd: Added VersaDOS format to the Ericsson configuration.
3100597410b8Schristos
3101597410b8SchristosWed Nov 20 16:31:31 1996  Jeffrey A Law  (law@cygnus.com)
3102597410b8Schristos
3103597410b8Schristos	* elf32-mn10300.c: Rough cut at relocs for the mn10300.
3104597410b8Schristos
3105597410b8SchristosWed Nov 13 08:12:38 1996  Jeffrey A Law  (law@cygnus.com)
3106597410b8Schristos
3107597410b8Schristos	* Makefile.in (elf32-d10v.o): Don't depend on elf/d10v.h
3108597410b8Schristos	anymore.
3109597410b8Schristos
3110597410b8SchristosTue Nov 12 13:30:00 1996  Dawn Perchik  <dawn@cygnus.com>
3111597410b8Schristos
3112597410b8Schristos	* filemode.c: Include sysdep.h.
3113597410b8Schristos	* ihex.c: Add casts to eliminate compiler warnings.
3114597410b8Schristos	* sunos.c: Add casts to eliminate compiler warnings.
3115597410b8Schristos
3116597410b8SchristosMon Nov 11 10:37:02 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3117597410b8Schristos
3118597410b8Schristos	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Create .got.plt
3119597410b8Schristos	section.
3120597410b8Schristos	(ppc_elf_check_relocs): Add support for R_PPC_LOCAL24PC.  Make
3121597410b8Schristos	appropriate relocations in the .so file if shared.
3122597410b8Schristos	(ppc_elf_relocate_section): Ditto.
3123597410b8Schristos
3124597410b8SchristosTue Oct 29 15:03:02 1996  Doug Evans  <dje@canuck.cygnus.com>
3125597410b8Schristos
3126597410b8Schristos	* elf32-m32r.c (elf_m32r_howto_table, R_M32R_24): Use
3127597410b8Schristos	complain_overflow_unsigned.
3128597410b8Schristos
3129597410b8SchristosTue Oct 29 12:53:46 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
3130597410b8Schristos
3131597410b8Schristos	* elf32-d10v.c (elf_d10v_howto_table): Don't complain on
3132597410b8Schristos	overflows for R_D10V_16 and R_D10V_18.
3133597410b8Schristos
3134597410b8SchristosTue Oct 29 13:23:53 1996  Ian Lance Taylor  <ian@cygnus.com>
3135597410b8Schristos
3136597410b8Schristos	* ieee.c (ieee_write_section_part): Use LMA rather than VMA.
3137597410b8Schristos	(do_with_relocs): Likewise.
3138597410b8Schristos	(do_as_repeat): Likewise.
3139597410b8Schristos	(copy_expression): Likewise.
3140597410b8Schristos
3141597410b8SchristosFri Oct 25 16:56:40 1996  Ian Lance Taylor  <ian@cygnus.com>
3142597410b8Schristos
3143597410b8Schristos	* ieee.c (ieee_write_external_part): Correctly record whether
3144597410b8Schristos	there is an external part.
3145597410b8Schristos
3146597410b8SchristosThu Oct 24 14:32:52 1996  Jeffrey A Law  (law@cygnus.com)
3147597410b8Schristos
3148597410b8Schristos	* elf32-v850.c (elf32_v850_bfd_final_link_relocate): Correctly
3149597410b8Schristos	handle tda offsets for sld.w and sst.w instructions.
3150597410b8Schristos	Fix alignment check in sld.w and sst.w tda reloc handling.
3151597410b8Schristos
3152597410b8SchristosThu Oct 24 09:08:47 1996  Stu Grossman  (grossman@critters.cygnus.com)
3153597410b8Schristos
3154597410b8Schristos	* aclocal.m4, configure:  Set USE_BINARY_FOPEN for *-*-windows.
3155597410b8Schristos
3156597410b8SchristosWed Oct 23 00:53:16 1996  Jeffrey A Law  (law@cygnus.com)
3157597410b8Schristos
3158597410b8Schristos	* elf32-v850.c: Add comments about assumptions about
3159597410b8Schristos	char, short & long sizes.
3160597410b8Schristos	(elf32_v850_bfd_final_link_relocate): Fix sign extension
3161597410b8Schristos	problems for several relocs.
3162597410b8Schristos
3163597410b8Schristos	* elf32-v850.c (elf32_v850_howto_table): Fix typo in
3164597410b8Schristos	R_V850_SDA_OFFSET entry.
3165597410b8Schristos
3166597410b8SchristosWed Oct 23 00:20:34 1996  Ian Lance Taylor  <ian@cygnus.com>
3167597410b8Schristos
3168597410b8Schristos	* xcofflink.c (bfd_xcoff_import_symbol): Don't allocate ldsym.
3169597410b8Schristos	Store import file index in ldindx.
3170597410b8Schristos	(xcoff_build_ldsyms): Assume that ldsym was not previously
3171597410b8Schristos	allocated.  For an imported symbol, copy ldindx into l_ifile.
3172597410b8Schristos
3173597410b8SchristosTue Oct 22 19:20:38 1996  Jeffrey A Law  (law@cygnus.com)
3174597410b8Schristos
3175597410b8Schristos	* elf32-v850.c (elf_v850_howto_table): Fix ordering of
3176597410b8Schristos	R_V850_ZDA_OFFSET and R_V850_TDA_OFFSET.  Fix various
3177597410b8Schristos	fields in R_V850_TDA_OFFSET.
3178597410b8Schristos	(elf32_v850_bfd_final_link_relocate): Tweak pc-relative
3179597410b8Schristos	relocs to work more like other relocs.  Handle R_V850_TDA_OFFSET
3180597410b8Schristos	relocations.
3181597410b8Schristos
3182597410b8Schristos	* elf32-v850.c: Include bfdlink.h.
3183597410b8Schristos	(bfd_elf32_v850_reloc): Return an error if we get a reloc
3184597410b8Schristos	we can't handle.
3185597410b8Schristos	(elf32_v850_bfd_final_link_relocate): New function.
3186597410b8Schristos	(v850_elf_relocation_section): Likewise.
3187597410b8Schristos	(elf_backend_relocate_section): Define.
3188597410b8Schristos
3189597410b8SchristosTue Oct 22 17:22:43 1996  Ian Lance Taylor  <ian@cygnus.com>
3190597410b8Schristos
3191597410b8Schristos	* binary.c (binary_set_section_contents): Ignore sections which
3192597410b8Schristos	don't have SEC_LOAD and SEC_ALLOC set.
3193597410b8Schristos
3194597410b8SchristosMon Oct 21 12:13:05 1996  Jeffrey A Law  (law@cygnus.com)
3195597410b8Schristos
3196597410b8Schristos	* linker.c (_bfd_generic_final_link): Avoid losing static
3197597410b8Schristos	symbols in the .bss section.
3198597410b8Schristos
3199597410b8SchristosMon Oct 21 10:54:58 1996  Ian Lance Taylor  <ian@cygnus.com>
3200597410b8Schristos
3201597410b8Schristos	* elf32-mips.c (elf_mips_howto_table): Describe R_MIPS_64.
3202597410b8Schristos	(mips32_64bit_reloc): New static function.
3203597410b8Schristos	(mips_reloc_map): Add entry for BFD_RELOC_64.
3204597410b8Schristos	(mips_elf_relocate_section): Handle R_MIPS_64.
3205597410b8Schristos
3206597410b8Schristos	* linker.c (default_indirect_link_order): Print an error message
3207597410b8Schristos	when attempting to do a relocateable link with different object
3208597410b8Schristos	file formats, rather than calling abort.
3209597410b8Schristos
3210597410b8SchristosThu Oct 17 10:43:29 1996  Doug Evans  <dje@canuck.cygnus.com>
3211597410b8Schristos
3212597410b8Schristos	* reloc.c (m32r relocs): Rename them.
3213597410b8Schristos	* bfd-in2.h, libbfd.h: Regenerated.
3214597410b8Schristos	* elf32-m32r.c: Update.
3215597410b8Schristos	(m32r_elf_10_pcrel_reloc): New function.
3216597410b8Schristos	(elf_m32r_howto_table, R_M32R_10_PCREL entry): Use it.
3217597410b8Schristos	(elf_m32r_howto_table, R_M32R_24 entry): Fix {src,dst}_masks.
3218597410b8Schristos
3219597410b8SchristosWed Oct 16 11:24:35 1996  Jeffrey A Law  (law@cygnus.com)
3220597410b8Schristos
3221597410b8Schristos	* linker.c (_bfd_generic_final_link): Set "linker_mark" for
3222597410b8Schristos	all sections that will be included in the output file.
3223597410b8Schristos	(_bfd_generic_link_output_symbols): Discard symbols in sections
3224597410b8Schristos	which are being discarded.
3225597410b8Schristos	* elf32-v850.c (enum reloc_type): Add R_V850_SDA_OFFSET,
3226597410b8Schristos	R_V850_TDA_OFFSET and R_V850_ZDA_OFFSET.
3227597410b8Schristos	(elf_v850_howto_table): Corresponding changes.
3228597410b8Schristos	(elf_v850_reloc_map): Corresponding changes.
3229597410b8Schristos	* reloc.c: Add additional V850 relocations.
3230597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuilt.
3231597410b8Schristos
3232597410b8Schristos	* elf32-v850.c (bfd_elf32_v850_reloc): Mask out bits we
3233597410b8Schristos	no longer want in pc-relative relocs.
3234597410b8Schristos
3235597410b8SchristosTue Oct 15 22:17:37 1996  Jeffrey A Law  (law@cygnus.com)
3236597410b8Schristos
3237597410b8Schristos	* elf32-v850.c (bfd_elf32_v850_reloc): Don't silently
3238597410b8Schristos	accept a reloc against an undefined sybmol!
3239597410b8Schristos
3240597410b8SchristosTue Oct 15 16:17:28 1996  Stu Grossman  (grossman@critters.cygnus.com)
3241597410b8Schristos
3242597410b8Schristos	* elf32-v850.c:  Define elf_symbol_leading_char to be '_'.
3243597410b8Schristos
3244597410b8SchristosTue Oct 15 12:40:41 1996  Ian Lance Taylor  <ian@cygnus.com>
3245597410b8Schristos
3246597410b8Schristos	* VERSION: Bump for new relocation.
3247597410b8Schristos
3248597410b8Schristos	* hosts/i386bsd.h: If NBPG is not defined, define it as
3249597410b8Schristos	PAGE_SIZE, for recent versions of FreeBSD.
3250597410b8Schristos
3251597410b8SchristosMon Oct 14 12:37:26 1996  Ian Lance Taylor  <ian@cygnus.com>
3252597410b8Schristos
3253597410b8Schristos	* configure.host: Use `long long' as the 64 bit type on a Solaris
3254597410b8Schristos	host, since both gcc and the SunPRO compilers support it.
3255597410b8Schristos
3256597410b8SchristosMon Oct 14 11:17:24 1996  Richard Henderson  <rth@tamu.edu>
3257597410b8Schristos
3258597410b8Schristos	* reloc.c: Create a new BFD_RELOC_ALPHA_ELF_LITERAL.  It was a
3259597410b8Schristos	mistake to have reused the ECOFF LITERAL for ELF since they have
3260597410b8Schristos	different semantics.
3261597410b8Schristos	* elf64-alpha.c (elf_reloc_map): Map from ELF_LITERAL.
3262597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
3263597410b8Schristos
3264597410b8Schristos	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Trap .got
3265597410b8Schristos	section overflow.
3266597410b8Schristos
3267597410b8Schristos	* elf64-alpha.c (elf64_alpha_relocate_section): Do not emit a
3268597410b8Schristos	dynamic relocation for an undefweak symbol when we are building
3269597410b8Schristos	a static executable.
3270597410b8Schristos
3271597410b8SchristosThu Oct 10 11:15:06 1996  Stan Shebs  <shebs@andros.cygnus.com>
3272597410b8Schristos
3273597410b8Schristos	* mpw-make.sed (config.bfd, targmatch.sed): Edit references to
3274597410b8Schristos	point explicitly to srcdir.
3275597410b8Schristos	(targmatch.h): Edit references to point explicitly to objdir.
3276597410b8Schristos
3277597410b8SchristosThu Oct 10 14:14:23 1996  Ian Lance Taylor  <ian@cygnus.com>
3278597410b8Schristos
3279597410b8Schristos	* config.bfd: When setting targ_cpu, don't get confused by
3280597410b8Schristos	linux-gnu.
3281597410b8Schristos
3282597410b8SchristosTue Oct  8 08:51:19 1996  Stu Grossman  (grossman@critters.cygnus.com)
3283597410b8Schristos
3284597410b8Schristos	* configure.host:  Add support for windows host (a build done
3285597410b8Schristos	under the Microsoft build environment).
3286597410b8Schristos
3287597410b8SchristosTue Oct  8 11:40:16 1996  Ian Lance Taylor  <ian@cygnus.com>
3288597410b8Schristos
3289597410b8Schristos	* elflink.h (elf_link_add_object_symbols): If a symbol is a weak
3290597410b8Schristos	definition in a dynamic object, add it to the dynamic symbol table
3291597410b8Schristos	if any dynamic object mentions it.  Reverts part of last patch.
3292597410b8Schristos
3293597410b8Schristos	* sunos.c (struct sunos_link_hash_table): Add got_base field.
3294597410b8Schristos	(sunos_link_hash_table_create): Initialize got_base.
3295597410b8Schristos	(bfd_sunos_size_dynamic_sections): If the .got section is more
3296597410b8Schristos	than 0x1000 bytes, set __GLOBAL_OFFSET_TABLE_ and got_base to
3297597410b8Schristos	0x1000.
3298597410b8Schristos	(sunos_check_dynamic_reloc): Subtract got_base from a base
3299597410b8Schristos	relative relocation.
3300597410b8Schristos
3301597410b8Schristos	* elf32-mips.c (elf_mips_isa): New static function.
3302597410b8Schristos	(_bfd_mips_elf_merge_private_bfd_data): Don't warn about linking
3303597410b8Schristos	-mips1 and -mips2 code together, or -mips3 and -mips4 code.
3304597410b8Schristos
3305597410b8SchristosMon Oct  7 11:44:17 1996  Ian Lance Taylor  <ian@cygnus.com>
3306597410b8Schristos
3307597410b8Schristos	* archive.c (do_slurp_coff_armap): Only treat archive as little
3308597410b8Schristos	endian for i960 COFF.
3309597410b8Schristos
3310597410b8SchristosFri Oct  4 13:49:01 1996  Ian Lance Taylor  <ian@cygnus.com>
3311597410b8Schristos
3312597410b8Schristos	* coffcode.h (coff_compute_section_file_positions): Adjust sofar
3313597410b8Schristos 	by the change in size of the section when EXEC_P is not set.
3314597410b8Schristos
3315597410b8Schristos	* coff-m68k.c (coff_rtype_to_howto): Define if not defined.
3316597410b8Schristos	(m68kcoff_rtype_to_howto): New static function.
3317597410b8Schristos	* cf-m68klynx.c (coff_m68k_lynx_rtype_to_howto): Add the section
3318597410b8Schristos	VMA to the addend for a PC relative reloc.
3319597410b8Schristos
3320597410b8Schristos	* dep-in.sed: Rework backslash loop a bit to avoid bug in sed on
3321597410b8Schristos	HP/UX 10.20.
3322597410b8Schristos	* Makefile.in: Rebuild dependencies.
3323597410b8Schristos
3324597410b8Schristos	* dep-in.sed: Remove ../bfd/sysdep.h, since it will appear when
3325597410b8Schristos	som.h is included.
3326597410b8Schristos
3327597410b8SchristosFri Oct  4 11:41:39 1996  Jeffrey A Law  (law@cygnus.com)
3328597410b8Schristos
3329597410b8Schristos	* Makefile.in: Remove explicit dependencies for mn10200 and
3330597410b8Schristos	mn10300 files.
3331597410b8Schristos	(ALL_MACHINE_CFILES): Add cpu-mn10200.c and cpu-mn10300.c.
3332597410b8Schristos	(BFD32_BACKENDS_CFILES): Add elf32-mn10200.c and elf32-mn10300.c
3333597410b8Schristos	(dependencies): Rebuilt.
3334597410b8Schristos
3335597410b8SchristosThu Oct  3 16:57:51 1996  Ian Lance Taylor  <ian@cygnus.com>
3336597410b8Schristos
3337597410b8Schristos	* cofflink.c (coff_link_add_symbols): Set obj_coff_keep_syms
3338597410b8Schristos	during this function.
3339597410b8Schristos
3340597410b8Schristos	* elflink.c (_bfd_elf_create_linker_section): Only use an existing
3341597410b8Schristos	section if the flags are compatible.
3342597410b8Schristos
3343597410b8Schristos	* configure.in: Add havevecs, and put it in tdefaults.
3344597410b8Schristos	* mpw-config.in: Likewise.
3345597410b8Schristos	* configure: Rebuild.
3346597410b8Schristos	* targmatch.sed: New file; a sed script to build targmatch.h from
3347597410b8Schristos	config.bfd.
3348597410b8Schristos	* config.bfd: Add #if, #endif, and comments for targmatch.h.
3349597410b8Schristos	* targets.c: Include "fnmatch.h".
3350597410b8Schristos	(struct targmatch): Define.
3351597410b8Schristos	(bfd_target_match): Define by including targmatch.h.
3352597410b8Schristos	(bfd_find_target): If the target is not found by name, search for
3353597410b8Schristos	it as a configuration triplet.
3354597410b8Schristos	* Makefile.in: Rebuild dependencies.
3355597410b8Schristos 	(BFD32_BACKENDS): Add aout-arm.o, aout-sparcle.o, hp300bsd.o,
3356597410b8Schristos	i386dynix.o, m68k4knetbsd.o, and riscix.o.
3357597410b8Schristos	(BFD32_BACKENDS_CFILES): Add aout-arm.c, aout-sparcle.c,
3358597410b8Schristos	hp300bsd.c, i386dynix.c, m68k4knetbsd.c, and riscix.c.
3359597410b8Schristos	(HFILES): Add targmatch.h.  Also, alphabetize and reindent.
3360597410b8Schristos	(CFILES): Remove i386dynix.c and hp300bsd.c.
3361597410b8Schristos	(targmatch.h): New target.
3362597410b8Schristos	(do_clean): Remove targmatch.h.
3363597410b8Schristos
3364597410b8Schristos	* configure.in: Add BFD_NEED_DECLARATION(getenv).
3365597410b8Schristos	* acconfig.h: Add NEED_DECLARATION_GETENV.
3366597410b8Schristos	* configure, config.in: Rebuild.
3367597410b8Schristos	* sysdep.h: If NEED_DECLARATION_GETENV, declare getenv.
3368597410b8Schristos	* aout-adobe.c (aout_adobe_object_p): Don't declare getenv.
3369597410b8Schristos
3370597410b8SchristosThu Oct  3 09:29:09 1996  Jeffrey A Law  (law@cygnus.com)
3371597410b8Schristos
3372597410b8Schristos	* cpu-mn10x00.c, elf32-mn10x00: Removed.
3373597410b8Schristos	* cpu-mn10200.c, cpu-mn10300.c: New files.
3374597410b8Schristos	* elf32-mn10200.c, elf32-mn10300.c: New files.
3375597410b8Schristos	* Makefile.in: Break mn10x00 support into two separate
3376597410b8Schristos	configurations, mn10200 and mn10300.
3377597410b8Schristos	* archures.c, config.bfd, configure.in, elf.c, targets.c: Likewise.
3378597410b8Schristos	* bfd-in2.h, configure: Rebuilt.
3379597410b8Schristos
3380597410b8SchristosThu Oct  3 15:38:19 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
3381597410b8Schristos
3382597410b8Schristos	* Makefile.in (do_clean): Move config.log to do_distclean.
3383597410b8Schristos
3384597410b8SchristosWed Oct  2 21:40:55 1996  Jeffrey A Law  (law@cygnus.com)
3385597410b8Schristos
3386597410b8Schristos	* cpu-mn10x00.c, elf32-mn10x00.c: New files.
3387597410b8Schristos	* Makefile.in (ALL_MACHINES): Add cpu-mn10x00.o.
3388597410b8Schristos	(BFD32_BACKENDS): Similarly for elf32-mn10x00.o.
3389597410b8Schristos	(elf32-mn10x00.o): Add dependencies.
3390597410b8Schristos	* archures.c (enum bfd_architecture): Add bfd_arch_mn10x00.
3391597410b8Schristos	(bfd_mn10x00_arch): Declare.
3392597410b8Schristos	(bfd_archures_list): Add bfd_mn10x00_arch.
3393597410b8Schristos	* config.bfd: Add mn10x00-*-*.
3394597410b8Schristos	* configure.in: Add bfd_elf32_mn10x00_vec.
3395597410b8Schristos	* elf.c (prep_headers): Handle bfd_arch_mn10x00.
3396597410b8Schristos	* targets.c (bfd_elf32_mn10x00_vec): Declare.
3397597410b8Schristos	(bfd_target_vector): Add bfd_elf32_mn10x00_vec.
3398597410b8Schristos	* bfd-in2.h, configure: Rebuilt.
3399597410b8Schristos
3400597410b8SchristosWed Oct  2 15:46:45 1996  Klaus Kaempf  <kkaempf@progis.de>
3401597410b8Schristos
3402597410b8Schristos	openVMS/Alpha: Provide filename and case_hack flags via
3403597410b8Schristos	symbol table from gas.
3404597410b8Schristos	Add case_hack code for symbol output from vax/vms.
3405597410b8Schristos	* evax-alpha.c (evax_initialize): Remove filename handling,
3406597410b8Schristos	filename is provided via symbol table.
3407597410b8Schristos	(evax_get_symtab): Use local symbol count when setting up table.
3408597410b8Schristos	* evax-egsd.c (_bfd_evax_slurp_egsd): Print correct name when
3409597410b8Schristos	debugging.
3410597410b8Schristos	(_bfd_evax_write_egsd): Skip file name symbol.
3411597410b8Schristos	* evax-emh.c (get_vms_time_string): Local function now.
3412597410b8Schristos	(_bfd_evax_write_emh): Extract source filename and case_hack flags
3413597410b8Schristos	from symbol table.
3414597410b8Schristos	(_bfd_evax_write_etir): Pass all symbol names through
3415597410b8Schristos	_bfd_evax_case_hack_symbol.
3416597410b8Schristos	* evax-misc.c (hash_string, _bfd_evax_case_hack_symbol): New
3417597410b8Schristos	functions.
3418597410b8Schristos	(_bfd_evax_basename): Removed.
3419597410b8Schristos	(_bfd_get_vms_time_string): Moved to evax-emh.c.
3420597410b8Schristos	* evax.h (evax_private_data_struct): Remove filename.
3421597410b8Schristos	(flag_hash_long_names, flag_show_after_trunc,
3422597410b8Schristos	flag_no_hash_mixed_case, vms_name_mapping): New flags for
3423597410b8Schristos	vms_case_hack.
3424597410b8Schristos
3425597410b8SchristosWed Oct  2 12:02:02 1996  Ian Lance Taylor  <ian@cygnus.com>
3426597410b8Schristos
3427597410b8Schristos	* freebsd.h (N_GET_MAGIC_NET): Don't use ntohl.
3428597410b8Schristos	(N_GETMID_NET, N_GETFLAG_NET): Likewise.
3429597410b8Schristos	(NO_SWAP_MAGIC): Don't define.
3430597410b8Schristos	(SWAP_MAGIC): Define.
3431597410b8Schristos
3432597410b8Schristos	* cofflink.c (_bfd_coff_link_input_bfd): Don't crash if there is
3433597410b8Schristos	no hash table entry for a global symbol.
3434597410b8Schristos
3435597410b8SchristosTue Oct  1 16:14:22 1996  Joel Sherrill  <joel@oarcorp.com>
3436597410b8Schristos
3437597410b8Schristos	* config.bfd (mips*-*-rtems*): New target, like mips*-*-elf*.
3438597410b8Schristos
3439597410b8SchristosTue Oct  1 12:31:39 1996  Ian Lance Taylor  <ian@cygnus.com>
3440597410b8Schristos
3441597410b8Schristos	* cofflink.c (coff_link_add_symbols): Don't override a meaningful
3442597410b8Schristos	symbol type with T_NULL.  Warn if symbol type changes.  Based on
3443597410b8Schristos	patch from Philippe De Muyter <phdm@info.ucl.ac.be>.
3444597410b8Schristos
3445597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Only put a symbol from
3446597410b8Schristos	a dynamic object in the dynamic symbol table if it is referenced
3447597410b8Schristos	or defined by a regular object.
3448597410b8Schristos
3449597410b8SchristosFri Sep 27 18:41:07 1996  Stu Grossman  (grossman@critters.cygnus.com)
3450597410b8Schristos
3451597410b8Schristos	* elf32-v850.c (bfd_elf32_v850_is_local_label):  New function to
3452597410b8Schristos	remove dwarf local labels.  Shrinks binaries by a factor of 3!
3453597410b8Schristos
3454597410b8SchristosMon Sep 23 13:33:00 1996  Ian Lance Taylor  <ian@cygnus.com>
3455597410b8Schristos
3456597410b8Schristos	* elf32-ppc.c (ppc_elf_add_symbol_hook): Create the .sbss section
3457597410b8Schristos	by hand, rather than by calling bfd_make_section.
3458597410b8Schristos
3459597410b8SchristosMon Sep 23 09:23:41 1996  Doug Evans  <dje@seba.cygnus.com>
3460597410b8Schristos
3461597410b8Schristos	* reloc.c: Rename m32r relocs.
3462597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuilt.
3463597410b8Schristos	* elf32-m32r.c: Update.
3464597410b8Schristos
3465597410b8SchristosFri Sep 20 11:43:43 1996  Ian Lance Taylor  <ian@cygnus.com>
3466597410b8Schristos
3467597410b8Schristos	* aoutx.h (aout_link_input_section_ext): When doing a relocateable
3468597410b8Schristos	link, adjust the symbol index of a base relative reloc.  Don't
3469597410b8Schristos	change the addend of a PC relative reloc if pcrel_offset is set.
3470597410b8Schristos	* sunos.c (bfd_sunos_size_dynamic_sections): Don't do anything for
3471597410b8Schristos	a relocateable link.
3472597410b8Schristos
3473597410b8Schristos	* reloc.c (bfd_perform_relocation): Apply the relocation even if
3474597410b8Schristos	it is zero, in case src_mask matters.
3475597410b8Schristos	(bfd_install_relocation): Likewise.
3476597410b8Schristos
3477597410b8SchristosThu Sep 19 11:03:06 1996  Ian Lance Taylor  <ian@cygnus.com>
3478597410b8Schristos
3479597410b8Schristos	* xcofflink.c (xcoff_link_add_symbols): Always initialize
3480597410b8Schristos	keep_syms.
3481597410b8Schristos 	(_bfd_xcoff_bfd_final_link): Don't set target_index
3482597410b8Schristos	to an uninitialized value.
3483597410b8Schristos
3484597410b8SchristosTue Sep 17 14:18:31 1996  Ian Lance Taylor  <ian@cygnus.com>
3485597410b8Schristos
3486597410b8Schristos	* coffcode.h (coff_slurp_line_table): Warn about illegal symbol
3487597410b8Schristos	indices, rather than crashing.
3488597410b8Schristos	(coff_slurp_reloc_table): Likewise.  Check whether the howto field
3489597410b8Schristos	is NULL.
3490597410b8Schristos	* coff-sh.c (sh_relocate_section): Check for an illegal symbol
3491597410b8Schristos	index.
3492597410b8Schristos
3493597410b8SchristosMon Sep 16 12:39:36 1996  Ian Lance Taylor  <ian@cygnus.com>
3494597410b8Schristos
3495597410b8Schristos	* coff-arm.c (aoutarm_std_reloc_howto): Change dst_mask for ARM26D
3496597410b8Schristos 	reloc to 0.
3497597410b8Schristos	(coff_arm_adjust_symndx): New static function.
3498597410b8Schristos	(coff_adjust_symndx): Define.
3499597410b8Schristos
3500597410b8Schristos	* srec.c (srec_scan): Accept multiple symbols on a single line.
3501597410b8Schristos	From Pascal Martin <pmartin@alsys.com>.
3502597410b8Schristos
3503597410b8Schristos	* README: New file.
3504597410b8Schristos
3505597410b8SchristosFri Sep 13 14:32:42 1996  Doug Evans  <dje@canuck.cygnus.com>
3506597410b8Schristos
3507597410b8Schristos	* aoutf1.h (MY_bfd_merge_private_bfd_data): Define.
3508597410b8Schristos	(sunos_merge_private_bfd_data): New function.
3509597410b8Schristos
3510597410b8SchristosFri Sep 13 15:50:57 1996  Ian Lance Taylor  <ian@cygnus.com>
3511597410b8Schristos
3512597410b8Schristos	* bfd.c (bfd_copy_private_bfd_data): Switch on output BFD rather
3513597410b8Schristos	than input BFD.
3514597410b8Schristos	(bfd_merge_private_bfd_data): Likewise.
3515597410b8Schristos	* section.c (bfd_copy_private_section_data): Likewise.
3516597410b8Schristos	* syms.c (bfd_copy_private_symbol_data): Likewise.
3517597410b8Schristos	* bfd-in2.h: Rebuild.
3518597410b8Schristos	* aout-target.h (MY_bfd_copy_private_section_data): Check that
3519597410b8Schristos	both BFD's are the right flavour.
3520597410b8Schristos	* ecoff.c (_bfd_ecoff_bfd_copy_private_bfd_data): Likewise.
3521597410b8Schristos	* elf.c (_bfd_elf_copy_private_symbol_data): Likewise.
3522597410b8Schristos	* elf32-mips.c (_bfd_mips_elf_copy_private_bfd_data): Likewise.
3523597410b8Schristos	(_bfd_mips_elf_merge_private_bfd_data): Likewise.
3524597410b8Schristos	* elf32-ppc.c (ppc_elf_copy_private_bfd_data): Likewise.
3525597410b8Schristos	(ppc_elf_merge_private_bfd_data): Likewise.
3526597410b8Schristos	* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
3527597410b8Schristos	* peicode.h (pe_bfd_copy_private_section_data): Likewise.
3528597410b8Schristos
3529597410b8Schristos	* elf32-hppa.c (elf_hppa_howto_table): Fill in some fields for
3530597410b8Schristos	R_PARISC_DIR32, so that _bfd_stab_section_find_nearest_line passes
3531597410b8Schristos	its sanity check.
3532597410b8Schristos
3533597410b8SchristosThu Sep 12 11:45:57 1996  Doug Evans  <dje@seba.cygnus.com>
3534597410b8Schristos
3535597410b8Schristos	* reloc.c: Add m32r relocs.
3536597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuilt.
3537597410b8Schristos	* cpu-m32r.c, elf32-m32r.c: New files.
3538597410b8Schristos
3539597410b8SchristosThu Sep 12 11:10:05 1996  Ian Lance Taylor  <ian@cygnus.com>
3540597410b8Schristos
3541597410b8Schristos	* ieee.c (ieee_vec): Set symbol_leading_char field to '_'.
3542597410b8Schristos
3543597410b8SchristosWed Sep 11 11:57:56 1996  Ian Lance Taylor  <ian@cygnus.com>
3544597410b8Schristos
3545597410b8Schristos	* tekhex.c (first_phase): Change type parameter from char to int.
3546597410b8Schristos	(out): Likewise.
3547597410b8Schristos	(pass_over): Change func to expect int, not char.
3548597410b8Schristos
3549597410b8Schristos	* elf.c (assign_file_positions_for_segments): Test SEC_ALLOC
3550597410b8Schristos	rather than SEC_LOAD when aligning the file offset for the first
3551597410b8Schristos	section in a segment.
3552597410b8Schristos
3553597410b8SchristosTue Sep 10 16:18:30 1996  Fred Fish  <fnf@cygnus.com>
3554597410b8Schristos
3555597410b8Schristos	* syms.c (coff_section_type): Make arg const.
3556597410b8Schristos	* irix-core.c (irix_core_core_file_p): Remove extraneous extra arg
3557597410b8Schristos	to make_bfd_asection().
3558597410b8Schristos	* elf-bfd.h (bfd_section_from_phdr): Add prototype.
3559597410b8Schristos	* elfcode.h (bfd_section_from_phdr): Remove prototype.
3560597410b8Schristos	(_bfd_elf_stringtab_init): Remove prototype.
3561597410b8Schristos
3562597410b8Schristos	* netbsd-core.c (swap_abort): Add prototype.
3563597410b8Schristos	* aix386-core.c (swap_abort): Ditto & make static
3564597410b8Schristos	* hpux-core.c (swap_abort): Ditto & make static.
3565597410b8Schristos	* irix-core.c (swap_abort): Ditto & make static.
3566597410b8Schristos	* ptrace-core.c (swap_abort): Ditto & make static.
3567597410b8Schristos	* trad-core.c (swap_abort): Ditto & make static.
3568597410b8Schristos	* coffswap.h (coff_swap_reloc_in): Ditto.
3569597410b8Schristos	(coff_swap_reloc_out): Ditto.
3570597410b8Schristos	(coff_swap_filehdr_in): Ditto.
3571597410b8Schristos	(coff_swap_filehdr_out): Ditto.
3572597410b8Schristos	(coff_swap_sym_in): Ditto.
3573597410b8Schristos	(coff_swap_sym_out): Ditto.
3574597410b8Schristos	(coff_swap_aux_in): Ditto.
3575597410b8Schristos	(coff_swap_aux_out): Ditto.
3576597410b8Schristos	(coff_swap_lineno_in): Ditto.
3577597410b8Schristos	(coff_swap_lineno_out): Ditto.
3578597410b8Schristos	(coff_swap_aouthdr_in): Ditto.
3579597410b8Schristos	(coff_swap_aouthdr_out): Ditto.
3580597410b8Schristos	(coff_swap_scnhdr_in): Ditto.
3581597410b8Schristos	(coff_swap_scnhdr_out): Ditto.
3582597410b8Schristos	* ihex.c (ihex_sizeof_headers): Ditto.
3583597410b8Schristos	* tekhex.c (getsym): Ditto.
3584597410b8Schristos	(find_chunk): Ditto & make static.
3585597410b8Schristos	(insert_byte): Ditto.
3586597410b8Schristos	(first_phase): Ditto.
3587597410b8Schristos	(pass_over): Ditto.
3588597410b8Schristos	(tekhex_get_symtab): Ditto & make static.
3589597410b8Schristos	(tekhex_get_symtab_upper_bound): Ditto & make static.
3590597410b8Schristos	(tekhex_mkobject): Ditto.
3591597410b8Schristos	(tekhex_object_p): Ditto.
3592597410b8Schristos	(move_section_contents): Ditto.
3593597410b8Schristos	(tekhex_get_section_contents): Ditto.
3594597410b8Schristos	(tekhex_set_arch_mach): Ditto & make static.
3595597410b8Schristos	(tekhex_set_section_contents): Ditto.
3596597410b8Schristos	(writevalue): Ditto.
3597597410b8Schristos	(writesym): Ditto.
3598597410b8Schristos	(out): Ditto.
3599597410b8Schristos	(tekhex_write_object_contents): Ditto.
3600597410b8Schristos	(tekhex_sizeof_headers): Ditto.
3601597410b8Schristos	(tekhex_make_empty_symbol): Ditto.
3602597410b8Schristos	(tekhex_get_symbol_info): Ditto.
3603597410b8Schristos	(tekhex_print_symbol): Ditto.
3604597410b8Schristos	* irix-core.c (make_bfd_asection): Ditto.
3605597410b8Schristos	(irix_core_core_file_p): Ditto.
3606597410b8Schristos	(irix_core_core_file_failing_command): Ditto.
3607597410b8Schristos	(irix_core_core_file_failing_signal): Ditto.
3608597410b8Schristos	(irix_core_core_file_matches_executable_p): Ditto.
3609597410b8Schristos	(irix_core_make_empty_symbol): Ditto.
3610597410b8Schristos	* coff-mips.c (mips_bfd_reloc_type_lookup): Ditto.
3611597410b8Schristos	* srec.c (srec_new_symbol): Ditto.
3612597410b8Schristos	(srec_get_section_contents): Ditto.
3613597410b8Schristos	(srec_set_arch_mach): Ditto.
3614597410b8Schristos	(srec_set_section_contents): Ditto.
3615597410b8Schristos	(internal_srec_write_object_contents): Ditto.
3616597410b8Schristos	(srec_write_object_contents): Ditto.
3617597410b8Schristos	(symbolsrec_write_object_contents): Ditto.
3618597410b8Schristos	(srec_sizeof_headers): Ditto.
3619597410b8Schristos	(srec_make_empty_symbol): Ditto.
3620597410b8Schristos	(srec_get_symtab_upper_bound): Ditto.
3621597410b8Schristos	(srec_get_symtab): Ditto.
3622597410b8Schristos	(srec_print_symbol): Ditto and make static.
3623597410b8Schristos	* elf.c (elf_read): Ditto
3624597410b8Schristos	(assign_section_numbers): Ditto.
3625597410b8Schristos	(elf_fake_sections): Ditto.
3626597410b8Schristos	(sym_is_global): Ditto.
3627597410b8Schristos	(elf_map_symbols): Ditto.
3628597410b8Schristos	(get_program_header_size): Ditto.
3629597410b8Schristos	* coffgen.c (make_a_section_from_file): Ditto.
3630597410b8Schristos	(coff_real_object_p): Ditto.
3631597410b8Schristos	(fixup_symbol_value): Ditto.
3632597410b8Schristos	(build_debug_section): Ditto.
3633597410b8Schristos	(copy_name): Ditto.
3634597410b8Schristos	* syms.c (coff_section_type): Ditto.
3635597410b8Schristos
3636597410b8SchristosMon Sep  9 22:36:01 1996  Jeffrey A Law  (law@cygnus.com)
3637597410b8Schristos
3638597410b8Schristos	* bfd-in2.h: Rebuilt after m32r changes.
3639597410b8Schristos
3640597410b8SchristosMon Sep  9 12:31:22 1996  Doug Evans  <dje@canuck.cygnus.com>
3641597410b8Schristos
3642597410b8Schristos	* config.bfd: Add m32r support.
3643597410b8Schristos	* configure.in: Likewise.
3644597410b8Schristos	* configure: Likewise.
3645597410b8Schristos	* Makefile.in: Likewise.
3646597410b8Schristos	* archures.c: Likewise.
3647597410b8Schristos	* elf.c: Likewise.
3648597410b8Schristos	* targets.c: Likewise.
3649597410b8Schristos	* config.bfd: Keep target list alphabetically sorted.
3650597410b8Schristos
3651597410b8SchristosMon Sep  9 11:48:41 1996  Jeffrey A Law  (law@cygnus.com)
3652597410b8Schristos
3653597410b8Schristos	* elf32-v850.c (bfd_elf32_v850_reloc, case R_V850_HI16): Don't forget
3654597410b8Schristos	to add in the constant part found in the instruction itself.
3655597410b8Schristos	(case R_V850_HI16_S): Likewise.
3656597410b8Schristos
3657597410b8SchristosFri Sep  6 17:04:39 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
3658597410b8Schristos
3659597410b8Schristos	* elf32-d10v.c (elf_d10v_howto_table): Modify the size of R_D10V_16
3660597410b8Schristos	and R_D10V_18 to be 1 (word).
3661597410b8Schristos
3662597410b8SchristosThu Sep  5 15:23:08 1996  Ian Lance Taylor  <ian@cygnus.com>
3663597410b8Schristos
3664597410b8Schristos	* stabs.c (_bfd_link_section_stabs): If the output_section field
3665597410b8Schristos	of either section is bfd_abs_section, then the linker is
3666597410b8Schristos	discarding the section and we should not optimize it.
3667597410b8Schristos
3668597410b8SchristosTue Sep  3 12:16:20 1996  Doug Evans  <dje@canuck.cygnus.com>
3669597410b8Schristos
3670597410b8Schristos	* Makefile.in (aout-sparcle.o): New target.
3671597410b8Schristos	* aoutf1.h (TARGET_IS_BIG_ENDIAN_P): Don't define if little endian.
3672597410b8Schristos	* config.bfd (sparclet-*-aout*): Add case.
3673597410b8Schristos	* configure.in (sparcle_aout_vec): Add case.
3674597410b8Schristos	* configure: Regenerated.
3675597410b8Schristos	* targets.c (sparcle_aout_vec): Declare.
3676597410b8Schristos	(bfd_target_vector): Add sparcle_aout_vec.
3677597410b8Schristos	* aout-sparcle.c: New file.
3678597410b8Schristos
3679597410b8SchristosTue Sep  3 00:57:02 1996  Jeffrey A Law  (law@cygnus.com)
3680597410b8Schristos
3681597410b8Schristos	* elf32-v850.c (bfd_elf32_v850_reloc): Fix handling of
3682597410b8Schristos	low order sign bit propogation for R_V850_HI16_S.
3683597410b8Schristos
3684597410b8Schristos	* elf32-v850.c (bfd_elf32_v850_reloc): New function for
3685597410b8Schristos	handling V850 specific relocs.
3686597410b8Schristos	(elf_v850_howto_table): Use the new function for some
3687597410b8Schristos	relocations.  Twiddle masks & shifts for some relocs.
3688597410b8Schristos	Set partial_inplace where needed.
3689597410b8Schristos
3690597410b8SchristosMon Sep  2 12:12:34 1996  Ian Lance Taylor  <ian@cygnus.com>
3691597410b8Schristos
3692597410b8Schristos	* cpu-mips.c: Add an explicit mips:3000 entry, and change the
3693597410b8Schristos	default architecture to a machine number of 0.
3694597410b8Schristos	* elf32-mips.c (_bfd_mips_elf_object_p): Set the machine number
3695597410b8Schristos	for E_MIPS_ARCH_1.
3696597410b8Schristos	(_bfd_mips_elf_merge_private_bfd_data): If the machine number of
3697597410b8Schristos	the output BFD is the default, set it from the first input BFD.
3698597410b8Schristos
3699597410b8SchristosSun Sep  1 18:38:01 1996  Jeffrey A Law  (law@cygnus.com)
3700597410b8Schristos
3701597410b8Schristos	* elf32-v850.c (elf_v850_howto_table): All the 16bit relocs
3702597410b8Schristos	insert at bitpos zero.  The HI16 relocs are shifted right
3703597410b8Schristos	by 16 bits.  Fix src_mask for all relocs.
3704597410b8Schristos	(TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define.  The V850 is
3705597410b8Schristos	little endian!
3706597410b8Schristos	(TARGET_BIG_SYM, TARGET_BIG_NAME): Remove.  The V850 is little
3707597410b8Schristos	endian!
3708597410b8Schristos
3709597410b8SchristosSun Sep  1 15:41:08 1996  Ian Lance Taylor  <ian@cygnus.com>
3710597410b8Schristos
3711597410b8Schristos	* rs6000-core.c (rs6000coff_core_file_matches_executable_p):
3712597410b8Schristos	Rewrite to use BFD file read routines and to avoid using a fixed
3713597410b8Schristos	length for the file name.
3714597410b8Schristos
3715597410b8SchristosSat Aug 31 10:22:25 1996  Jeffrey A Law  (law@cygnus.com)
3716597410b8Schristos
3717597410b8Schristos	* elf32-v850.c (enum reloc_type): Add R_V850_{32,16,8}.
3718597410b8Schristos	(elf_v850_howto_table): Add support for R_V850_{32,16,8}.
3719597410b8Schristos	(v850_reloc_map): Add translation from BFD_RELOC_{32,16,8}
3720597410b8Schristos	to R_V850_{32,16,8}.
3721597410b8Schristos
3722597410b8SchristosFri Aug 30 18:06:04 1996  J.T. Conklin  <jtc@hippo.cygnus.com>
3723597410b8Schristos
3724597410b8Schristos	* elf32-v850.c (reloc_type): Add R_V850_HI16_S.
3725597410b8Schristos	(elf_v850_howto_table): Add info for HI16_S reloc.
3726597410b8Schristos	(v850_reloc_map): Add HI_16_S reloc.
3727597410b8Schristos	* reloc.c: Define BFD_RELOC_V850_* relocs.
3728597410b8Schristos
3729597410b8SchristosFri Aug 30 11:49:19 1996  Ian Lance Taylor  <ian@cygnus.com>
3730597410b8Schristos
3731597410b8Schristos	Add SH ELF support.
3732597410b8Schristos	* elf32-sh.c: New file.
3733597410b8Schristos	* elf.c (prep_headers): Handle bfd_arch_sh.
3734597410b8Schristos	* elfcode.h (write_relocs): Handle absolute symbol.
3735597410b8Schristos	* elf-bfd.h (_bfd_elf32_link_read_relocs): Declare.
3736597410b8Schristos	(_bfd_elf64_link_read_relocs): Declare.
3737597410b8Schristos	* elflink.h (NAME(_bfd_elf,link_read_relocs)): Rename from
3738597410b8Schristos	elf_link_read_relocs.  Make globally visible.  Change all
3739597410b8Schristos	callers.
3740597410b8Schristos	(elf_link_input_bfd): Get external symbols from cache in
3741597410b8Schristos	symtab_hdr->contents.  Get contents from cache in
3742597410b8Schristos	elf_section_data.
3743597410b8Schristos	* elfxx-target.h (bfD_elfNN_bfd_relax_section): Only define if not
3744597410b8Schristos	already defined.
3745597410b8Schristos	* reloc.c: Define BFD_RELOC_SH_* relocs.
3746597410b8Schristos	* libbfd-in.h (_bfd_sh_align_load_span): Declare.
3747597410b8Schristos	* coff-sh.c (sh_insns_conflict): Fix a return value.
3748597410b8Schristos	(_bfd_sh_align_load_span): New globally visible function, broken
3749597410b8Schristos	out of sh_align_load.
3750597410b8Schristos	(sh_align_load): Call _bfd_sh_align_load_span.
3751597410b8Schristos	(sh_swap_insns): Change relocs parameter to PTR.
3752597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
3753597410b8Schristos	* targets.c (bfd_elf32_sh_vec): Declare.
3754597410b8Schristos	(bfd_elf32_shl_vec): Declare.
3755597410b8Schristos	* config.bfd (sh-*-elf*): New target.
3756597410b8Schristos	* configure.in (bfd_elf32_sh_vec): New target vector.
3757597410b8Schristos	(bfd_elf32_shl_vec): New target vector.
3758597410b8Schristos	* configure: Rebuild.
3759597410b8Schristos	* Makefile.in: Rebuild dependencies.
3760597410b8Schristos 	(BFD32_BACKENDS): Add elf32-sh.o.
3761597410b8Schristos	(BFD32_BACKENDS_CFILES): Add elf32-sh.c.
3762597410b8Schristos
3763597410b8Schristos	* elf.c (map_sections_to_segments): Check that LMA does not skip a
3764597410b8Schristos	page before checking D_PAGED.
3765597410b8Schristos
3766597410b8Schristos	* ihex.c (ihex_scan): Removed unnecessary extbase variable.
3767597410b8Schristos	(ihex_write_object_contents): Remove extbase; always use segbase
3768597410b8Schristos	instead.
3769597410b8Schristos
3770597410b8SchristosThu Aug 29 16:52:17 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3771597410b8Schristos
3772597410b8Schristos	* configure.in (i[345]86-*-*): Recognize i686 for pentium pro.
3773597410b8Schristos	* configure.host (i[345]86-*-*): Ditto.
3774597410b8Schristos	* config.bfd (i[345]86-*-*): Ditto.
3775597410b8Schristos	* configure: Regenerate.
3776597410b8Schristos
3777597410b8Schristos	* config.bfd (i[3456]86-*-dgux*): Recognize as a synonym for x86
3778597410b8Schristos	elf.
3779597410b8Schristos
3780597410b8SchristosTue Aug 27 09:18:18 1996  Jeffrey A Law  (law@cygnus.com)
3781597410b8Schristos
3782597410b8Schristos	* elf32-hppa.c (hppa_elf_gen_reloc_type): Add new argument.
3783597410b8Schristos	* elf32-hppa.h (hppa_elf_gen_reloc_type): Update prototype.
3784597410b8Schristos	* som.c (hppa_som_gen_reloc_type): Add new argument.  If
3785597410b8Schristos	we encounter an R_DATA_ONE_SYMBOL reloc against a symbol that
3786597410b8Schristos	will have an ST_CODE type, change the symbol's type to ST_DATA.
3787597410b8Schristos	* som.c (hppa_som_gen_reloc_type): Update prototype.
3788597410b8Schristos
3789597410b8SchristosTue Aug 27 00:12:22 1996  Ian Lance Taylor  <ian@cygnus.com>
3790597410b8Schristos
3791597410b8Schristos	* elf32-mips.c (mips_elf_check_relocs): Set dynobj if needed for
3792597410b8Schristos	R_MIPS_32 and R_MIPS_REL32.  Set sgot and g as soon as possible.
3793597410b8Schristos	(mips_elf_size_dynamic_sections): Don't require .got to exist.
3794597410b8Schristos	(mips_elf_finish_dynamic_sections): Likewise.
3795597410b8Schristos
3796597410b8SchristosThu Aug 22 10:54:38 1996  Ian Lance Taylor  <ian@cygnus.com>
3797597410b8Schristos
3798597410b8Schristos	* configure.host (HLDENV): New variable to set.  Set it for
3799597410b8Schristos	*-*-sysv4*, since those linkers may not support -R but they always
3800597410b8Schristos	support LD_RUN_PATH.
3801597410b8Schristos
3802597410b8Schristos	* libieee.h (NSECTIONS): Don't define.
3803597410b8Schristos	(ieee_data_struct): Change section_table to asection **.  Add
3804597410b8Schristos	section_table_size.
3805597410b8Schristos	* ieee.c (get_section_entry): If the table isn't big enough, make
3806597410b8Schristos	it bigger.
3807597410b8Schristos	(ieee_slurp_sections): Remove assertion about number of sections.
3808597410b8Schristos	(ieee_object_p): Adjust initialization of ieee to match changes to
3809597410b8Schristos	the structure.
3810597410b8Schristos
3811597410b8Schristos	* xcofflink.c (xcoff_mark): Don't copy relocs for undefined
3812597410b8Schristos	symbols merely because we are generating a shared library.
3813597410b8Schristos	(xcoff_build_ldsyms): Don't set up global linkage code for an
3814597410b8Schristos	undefined symbol merely because we are generating a shared
3815597410b8Schristos	library.
3816597410b8Schristos
3817597410b8SchristosTue Aug 20 15:06:05 1996  J.T. Conklin  <jtc@hippo.cygnus.com>
3818597410b8Schristos
3819597410b8Schristos	* Makefile.in (ALL_MACHINES): Add cpu-v850.o.
3820597410b8Schristos	(BFD32_BACKENDS) Add elf32-v850.o.
3821597410b8Schristos	* archures.c: Add bfd_v850_arch.
3822597410b8Schristos	* bfd-in2.h: Add bfd_v850_arch.
3823597410b8Schristos	* config.bfd (v850-*-*): New target.
3824597410b8Schristos	* configure: (bfd_elf32_v850_vec) New vector.
3825597410b8Schristos	* configure.in: (bfd_elf32_v850_vec) New vector.
3826597410b8Schristos	* cpu-v850.c: New file.
3827597410b8Schristos	* elf.c (prep_headers): Added case bfd_arch_v850.
3828597410b8Schristos	* elf32-v850.c: New file.
3829597410b8Schristos	* targets.c (bfd_elf32_v850_vec): New vector.
3830597410b8Schristos
3831597410b8SchristosFri Aug 16 16:25:35 1996  Ian Lance Taylor  <ian@cygnus.com>
3832597410b8Schristos
3833597410b8Schristos	* xcofflink.c (xcoff_link_add_dynamic_symbols): Create and define
3834597410b8Schristos 	a function code symbol for an XMC_XO symbol.
3835597410b8Schristos
3836597410b8SchristosThu Aug 15 12:33:29 1996  Stan Shebs  <shebs@andros.cygnus.com>
3837597410b8Schristos
3838597410b8Schristos	* mpw-config.in: Update editing of autoconf vars to reflect
3839597410b8Schristos	Jul 18 configure.in change.
3840597410b8Schristos	* mpw-make.sed: Update editing of include pathnames to be
3841597410b8Schristos	more general, add @DASH_C_FLAG@ to explicit compile rule edit.
3842597410b8Schristos
3843597410b8SchristosThu Aug 15 10:35:13 1996  Richard Henderson  <rth@tamu.edu>
3844597410b8Schristos
3845597410b8Schristos	* elf64-alpha.c (elf64_alpha_output_extsym): The section from
3846597410b8Schristos	which to offset to get the .plt entry address is ".plt".
3847597410b8Schristos
3848597410b8SchristosThu Aug 15 16:40:30 1996  James G. Smith  <jsmith@cygnus.co.uk>
3849597410b8Schristos
3850597410b8Schristos	* reloc.c: (BFD_RELOC_ARM_THUMB_ADD, BFD_RELOC_ARM_THUMB_IMM,
3851597410b8Schristos	BFD_RELOC_ARM_THUMB_SHIFT, BFD_RELOC_ARM_THUMB_OFFSET):
3852597410b8Schristos 	Added, for internal use by the ARM gas.
3853597410b8Schristos	* libbfd.h: Rebuilt
3854597410b8Schristos	* bfd-in2.h: Rebuilt
3855597410b8Schristos
3856597410b8SchristosWed Aug 14 17:02:09 1996  Richard Henderson  <rth@tamu.edu>
3857597410b8Schristos
3858597410b8Schristos	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Correct typo
3859597410b8Schristos	in section dynidx start.
3860597410b8Schristos
3861597410b8SchristosTue Aug 13 14:35:38 1996  Ian Lance Taylor  <ian@cygnus.com>
3862597410b8Schristos
3863597410b8Schristos	* elf.c (_bfd_elf_make_section_from_shdr): Treat sections whose
3864597410b8Schristos	name begins with .gnu.linkonce as SEC_LINK_ONCE.  This is an
3865597410b8Schristos	optimization for g++.
3866597410b8Schristos
3867597410b8SchristosTue Aug 13 17:04:40 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3868597410b8Schristos
3869597410b8Schristos	* elf32-ppc.c (ppc_elf_merge_private_bfd_data): If one module has
3870597410b8Schristos	the -mrelocatable-lib bit set and the other doesn't, clear the
3871597410b8Schristos	-mrelocatable-lib bit in the header.
3872597410b8Schristos
3873597410b8SchristosSat Aug 10 22:59:17 1996  Ian Lance Taylor  <ian@cygnus.com>
3874597410b8Schristos
3875597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Do not resolve a common
3876597410b8Schristos	symbol against a STT_FUNC symbol in a shared library.
3877597410b8Schristos
3878597410b8SchristosFri Aug  9 12:44:57 1996  Ian Lance Taylor  <ian@cygnus.com>
3879597410b8Schristos
3880597410b8Schristos	* xcofflink.c (xcoff_link_add_dynamic_symbols): If a descriptor
3881597410b8Schristos 	symbol is found, automatically define the corresponding function
3882597410b8Schristos 	code.
3883597410b8Schristos
3884597410b8Schristos	* cofflink.c (coff_link_add_symbols): Only set (*sym_hash)->numaux
3885597410b8Schristos	if sym.n_numaux is not zero.
3886597410b8Schristos	(_bfd_coff_link_input_bfd): Permit the symbol and the hash table
3887597410b8Schristos	entry to disagree about the number of aux entries if the symbol
3888597410b8Schristos	has zero.
3889597410b8Schristos
3890597410b8Schristos	* elf32-mips.c (mips_elf_check_relocs): Create the .rel.dyn
3891597410b8Schristos	section if it might be needed, not just if info->shared.
3892597410b8Schristos	(mips_elf_adjust_dynamic_symbol): Make room for a null element at
3893597410b8Schristos	the start of .rel.dyn if we are going to use it.
3894597410b8Schristos	(mips_elf_finish_dynamic_sections): Only clear the first element
3895597410b8Schristos	of .rel.dyn if the size is greater than zero.
3896597410b8Schristos
3897597410b8SchristosThu Aug  8 16:24:55 1996  Ian Lance Taylor  <ian@cygnus.com>
3898597410b8Schristos
3899597410b8Schristos	* xcofflink.c (xcoff_link_input_bfd): If we already called the
3900597410b8Schristos	undefined_symbol callback for a symbol, then don't issue any more
3901597410b8Schristos	warnings about loader relocs.
3902597410b8Schristos	(_bfd_ppc_xcoff_relocate_section): Don't do any further processing
3903597410b8Schristos	after calling the undefined_symbol callback.
3904597410b8Schristos
3905597410b8Schristos	* xcofflink.c (XCOFF_MULTIPLY_DEFINED): Define.
3906597410b8Schristos	(xcoff_link_add_symbols): Permit multiple definitions of a symbol
3907597410b8Schristos	as the AIX linker seems to do.
3908597410b8Schristos
3909597410b8SchristosThu Aug  8 12:21:56 1996  Klaus Kaempf  <kkaempf@progis.de>
3910597410b8Schristos
3911597410b8Schristos	* evax-alpha.c (evax_alpha_vec): Corrected flags, cleanup.
3912597410b8Schristos	(evax_initialize): Remove evax_reloc_table.
3913597410b8Schristos	(evax_close_and_cleanup): Ditto.
3914597410b8Schristos	(reloc_nil): Ditto.
3915597410b8Schristos	(alpha_howto_table): Remove ALPHA_R_SWREL32 and ALPHA_R_SWREL64
3916597410b8Schristos	entries.
3917597410b8Schristos	(evax_bfd_reloc_type_lookup): Ditto.
3918597410b8Schristos	* evax-egsd.c (_bfd_evax_slurp_egsd): Add a few casts; set
3919597410b8Schristos	cooked_size == raw_size.
3920597410b8Schristos	* evax-emh.c (_bfd_evax_register_filename): Remove.
3921597410b8Schristos	* evax-etir.c (etir_stc): Allow ETIR_S_C_STC_xx commands.
3922597410b8Schristos	* evax-misc.c (add_new_contents): Malloc section at full size.
3923597410b8Schristos	(_bfd_save_evax_section): Memcpy section contents directly.
3924597410b8Schristos	* evax.h (ALPHA_R_SWREL32, ALPHA_R_SWREL64): Remove.
3925597410b8Schristos	(evax_reloc_table): Remove.
3926597410b8Schristos
3927597410b8Schristos	* hosts/alphavms.h (O_ACCMODE): Define if needed.
3928597410b8Schristos
3929597410b8Schristos	* makefile.vms: Add better support for DEC C compilation
3930597410b8Schristos	Add evax.h dependencies
3931597410b8Schristos
3932597410b8Schristos	* reloc.c (bfd_get_reloc_size): Add case for 16 byte reloc.
3933597410b8Schristos	(BFD_RELOC_SWREL32,BFD_RELOC_SWREL64): Remove.
3934597410b8Schristos	(BFD_RELOC_ALPHA_BASEREG): Remove.
3935597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
3936597410b8Schristos
3937597410b8SchristosThu Aug  8 08:17:32 1996  Stu Grossman  (grossman@critters.cygnus.com)
3938597410b8Schristos
3939597410b8Schristos	* archive.c (bsd_write_armap):  Ifdef around calls to getuid and
3940597410b8Schristos	getgid if _WIN32 is defined.
3941597410b8Schristos	* opncls.c (bfd_fdopenr):  Remove unnecessary WINGDB ifdef.
3942597410b8Schristos
3943597410b8SchristosWed Aug  7 23:19:00 1996  Stu Grossman  (grossman@critters.cygnus.com)
3944597410b8Schristos
3945597410b8Schristos	* aoutx.h bfd-in.h bfd-in2.h opncls.c riscix.c som.c targets.c:
3946597410b8Schristos	Change NO_FLAGS to BFD_NO_FLAGS to avoid conflict with an HPUX
3947597410b8Schristos	include file.
3948597410b8Schristos	* libbfd.c:  Create dummy getpagesize() macro if HAVE_GETPAGESIZE
3949597410b8Schristos	isn't defined.
3950597410b8Schristos
3951597410b8SchristosWed Aug  7 14:11:44 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
3952597410b8Schristos
3953597410b8Schristos	* configure.in: Call BFD_NEEDED_DECLARATION on strstr and
3954597410b8Schristos	realloc.
3955597410b8Schristos	* acconfig.h (NEED_DECLARATION_STRSTR): New macro.
3956597410b8Schristos	(NEED_DECLARATION_REALLOC): New macro.
3957597410b8Schristos	* configure, config.in: Rebuild.
3958597410b8Schristos	* sysdep.h (strstr): Declare if NEED_DECLARATION_STRSTR.
3959597410b8Schristos	(realloc): Declare if NEED_DECLARATION_REALLOC.
3960597410b8Schristos
3961597410b8Schristos	* aclocal.m4 (BFD_NEED_DECLARATION): Include <string.h> or
3962597410b8Schristos	<strings.h> if they exist.
3963597410b8Schristos
3964597410b8Schristos	* ieee.c (ieee_set_section_contents): Cast bfd_alloc return.
3965597410b8Schristos
3966597410b8SchristosWed Aug  7 12:12:03 1996  Ian Lance Taylor  <ian@cygnus.com>
3967597410b8Schristos
3968597410b8Schristos	* cpu-i386.c (i8086_arch): Architecture info for the i8086.
3969597410b8Schristos
3970597410b8Schristos	Based on patches from Eric Valette <valette@crf.canon.fr>:
3971597410b8Schristos	* elf32-i386.c (enum reloc_type): Add FIRST_INVALID_RELOC,
3972597410b8Schristos	LAST_INVALID_RELOC, R_386_16, R_386_PC16, R_386_8, R_386_PC8.
3973597410b8Schristos	(elf_howto_table): Add entries for new relocs.
3974597410b8Schristos	(elf_i386_reloc_type_lookup): Handle new relocs.
3975597410b8Schristos	(elf_i386_info_to_howto): Just call abort.
3976597410b8Schristos	(elf_i386_info_to_howto_rel): Check that the reloc type is valid.
3977597410b8Schristos	(elf_i386_relocate_section): Likewise.
3978597410b8Schristos
3979597410b8SchristosTue Aug  6 12:54:56 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
3980597410b8Schristos
3981597410b8Schristos	* elf32-d10v.c (elf_d10v_howto_table): Added R_D10V_32.
3982597410b8Schristos
3983597410b8SchristosMon Aug  5 13:42:41 1996  Ian Lance Taylor  <ian@cygnus.com>
3984597410b8Schristos
3985597410b8Schristos	* elf.c (_bfd_elf_make_section_from_shdr): For a loadable section,
3986597410b8Schristos	only get the LMA from the phdr if they are in the same part of the
3987597410b8Schristos	file.
3988597410b8Schristos
3989597410b8Schristos	* elf.c (map_sections_to_segments): Rewrite tests for starting a
3990597410b8Schristos	new segment to make them more comprehensible.  If the relationship
3991597410b8Schristos	between the LMA and the VMA changed, start a new segment.  Don't
3992597410b8Schristos	check dynsec when deciding whether to start a new segment for a
3993597410b8Schristos	writeable section; -N will now handle this.
3994597410b8Schristos
3995597410b8SchristosThu Aug  1 22:43:08 1996  Jeffrey A Law  (law@cygnus.com)
3996597410b8Schristos
3997597410b8Schristos	* libhppa.h: Remove "esel" changes.  Not the right approach.
3998597410b8Schristos	* som.c: Corresponding changes.
3999597410b8Schristos	(som_bfd_derive_misc_symbol_info): Use ST_DATA for symbols
4000597410b8Schristos	which don't have a SOM symbol type associated with them.
4001597410b8Schristos	Reverses a 1994 change.
4002597410b8Schristos
4003597410b8SchristosWed Jul 31 15:50:55 1996  Ian Lance Taylor  <ian@cygnus.com>
4004597410b8Schristos
4005597410b8Schristos	Make ld -N more reasonable for ELF:
4006597410b8Schristos	* elf.c (map_sections_to_segments): If D_PAGED is not set, set
4007597410b8Schristos	phdr_in_section to false, and always use a single load segment.
4008597410b8Schristos	(elf_sort_sections): Sort sections by LMA after VMA.
4009597410b8Schristos	(assign_file_positions_for_segments): If D_PAGED is not set, don't
4010597410b8Schristos	align to maxpagesize.
4011597410b8Schristos	(assign_file_positions_except_relocs): Likewise.
4012597410b8Schristos	* elfcode.h (elf_object_p): If a section is loaded but not page
4013597410b8Schristos	aligned, clear D_PAGED.
4014597410b8Schristos
4015597410b8SchristosWed Jul 31 15:00:12 1996  James G. Smith  <jsmith@cygnus.co.uk>
4016597410b8Schristos
4017597410b8Schristos	* reloc.c: (BFD_RELOC_ARM_OFFSETIMM8, BFD_RELOC_ARM_HWLITERAL):
4018597410b8Schristos 	Added, for internal use by the ARM gas.
4019597410b8Schristos	* libbfd.h: Rebuilt
4020597410b8Schristos	* bfd-in2.h: Rebuilt
4021597410b8Schristos
4022597410b8SchristosTue Jul 30 14:14:57 1996  Jeffrey A Law  (law@cygnus.com)
4023597410b8Schristos
4024597410b8Schristos	* libhppa.h (R_HPPA_ESEL): New field selector.
4025597410b8Schristos	(e_esel): Similarly.
4026597410b8Schristos	* som.c (hppa_som_gen_reloc_type): If we encounter an e_esel,
4027597410b8Schristos	then generate R_COMP2 (PUSH_SYM), R_DATA_EXPR fixup stream.
4028597410b8Schristos	(som_write_fixups): Handle R_DATA_EXPR just like R_CODE_EXPR.
4029597410b8Schristos
4030597410b8SchristosTue Jul 30 13:31:27 1996  Ian Lance Taylor  <ian@cygnus.com>
4031597410b8Schristos
4032597410b8Schristos	* xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Do the regular
4033597410b8Schristos	archive search before looking for stripped dynamic objects.
4034597410b8Schristos
4035597410b8SchristosFri Jul 26 17:51:39 1996  Ian Lance Taylor  <ian@cygnus.com>
4036597410b8Schristos
4037597410b8Schristos	* xcofflink.c (xcoff_build_ldsyms): Make exporting an undefined
4038597410b8Schristos	symbol a warning rather than an error.
4039597410b8Schristos
4040597410b8SchristosWed Jul 24 12:02:53 1996  Ian Lance Taylor  <ian@cygnus.com>
4041597410b8Schristos
4042597410b8Schristos	* elf.c (assign_file_positions_for_segments): Track the virtual
4043597410b8Schristos	memory position separately from the file position, and use it to
4044597410b8Schristos	compute the alignment adjustment.
4045597410b8Schristos
4046597410b8SchristosTue Jul 23 10:43:31 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4047597410b8Schristos
4048597410b8Schristos	* elf32-d10v.c (elf_d10v_howto_table): Changed all relocs to "long"
4049597410b8Schristos 	and fixed mask on R_D10V_10_PCREL_L.
4050597410b8Schristos
4051597410b8SchristosMon Jul 22 15:30:30 1996  Ian Lance Taylor  <ian@cygnus.com>
4052597410b8Schristos
4053597410b8Schristos	* elf64-mips.c: Include "aout/ar.h".
4054597410b8Schristos	(mips_elf64_slurp_armap): New static function.
4055597410b8Schristos	(mips_elf64_write_armap): New static function.
4056597410b8Schristos	(bfd_elf64_archive_*): Define.
4057597410b8Schristos	* elfxx-target.h (bfd_elfNN_archive_p): Define if not defined.
4058597410b8Schristos	Use instead of bfd_generic_archive_p.
4059597410b8Schristos	(bfd_elfNN_write_archive_contents): Define if not defined.  Use
4060597410b8Schristos	instead of _bfd_write_archive_contents.
4061597410b8Schristos	(bfd_elfNN_mkdarchive): Define if not defined.  Use instead of
4062597410b8Schristos	_bfd_generic_mkarchive.
4063597410b8Schristos	(TARGET_BIG_SYM): If bfd_elfNN_archive_functions is defined, use
4064597410b8Schristos	bfd_elfNN_archive in BFD_JUMP_TABLE_ARCHIVE rather than
4065597410b8Schristos	_bfd_archive_coff.
4066597410b8Schristos	(TARGET_LITTLE_SYM): Likewise.
4067597410b8Schristos	* archive.c (bfd_slurp_armap): Check for and reject an archive map
4068597410b8Schristos	name of /SYM64/.
4069597410b8Schristos	* Makefile.in: Rebuild dependencies.
4070597410b8Schristos
4071597410b8Schristos	* elf32-mips.c (_bfd_mips_elf_final_write_processing): Handle
4072597410b8Schristos	SHT_MIPS_LIBLIST, SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and
4073597410b8Schristos	SHT_MIPS_EVENTS sections.
4074597410b8Schristos	(_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_IFACE,
4075597410b8Schristos	SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and SHT_MIPS_EVENTS
4076597410b8Schristos	sections.
4077597410b8Schristos	(_bfd_mips_elf_fake_sections): Likewise.
4078597410b8Schristos
4079597410b8Schristos	* libecoff.h (ecoff_data_type): Add rdata_in_text field.
4080597410b8Schristos	* ecoff.c (ecoff_compute_section_file_positions): Copy
4081597410b8Schristos	rdata_in_text from backend info to tdata.  Clear it if any data
4082597410b8Schristos	section comes before .rdata.
4083597410b8Schristos	(_bfd_ecoff_write_object_contents): Use rdata_in_text field in
4084597410b8Schristos	tdata rather than backend info.
4085597410b8Schristos
4086597410b8SchristosFri Jul 19 18:15:51 1996  Ian Lance Taylor  <ian@cygnus.com>
4087597410b8Schristos
4088597410b8Schristos	* configure.in: Fix test for whether a compiler has a 64 bit
4089597410b8Schristos	type.  From Jim Wilson <wilson@cygnus.com>.
4090597410b8Schristos
4091597410b8SchristosThu Jul 18 15:39:10 1996  Ian Lance Taylor  <ian@cygnus.com>
4092597410b8Schristos
4093597410b8Schristos	* configure.host (mips-sgi-irix6*): New host.
4094597410b8Schristos
4095597410b8Schristos	* configure.in: Set and substitute VERSION, BFD_HOST_64BIT_LONG
4096597410b8Schristos	(replacing HOST_64BITLONG), BFD_HOST_64_BIT_DEFINED,
4097597410b8Schristos	BFD_HOST_64_BIT, and BFD_HOST_U_64_BIT.  Add bfd-in2.h:bfd-in2.h
4098597410b8Schristos	to AC_OUTPUT call.
4099597410b8Schristos	* configure: Rebuild.
4100597410b8Schristos	* bfd-in.h (BFD_ARCH_SIZE): Define as @wordsize@, not @WORDSIZE@.
4101597410b8Schristos	(BFD_HOST_64_BIT): Define conditionally.
4102597410b8Schristos	(BFD_HOST_U_64_BIT): Define when BFD_HOST_64_BIT is defined.
4103597410b8Schristos	(bfd_vma): Typedef as BFD_HOST_U_64_BIT.
4104597410b8Schristos	(symvalue, bfd_size_type): Likewise.
4105597410b8Schristos	* bfd-in2.h: Rebuild.
4106597410b8Schristos	* Makefile.in (do_clean): Remove bfd-tmp.h.
4107597410b8Schristos	(do_distclean): Remove bfd-in3.h.
4108597410b8Schristos	(stmp-bfd.h): Just do copy-if-change bfd-in3.h bfd.h.
4109597410b8Schristos	(bfd-in3.h): New target.
4110597410b8Schristos
4111597410b8Schristos	* config.bfd (sparc-*-sysv4*): Don't build sunos_big_vec.  From
4112597410b8Schristos	Andrew Gierth <ANDREWG@microlise.co.uk>.
4113597410b8Schristos
4114597410b8Schristos	* configure.host: Set INSTALL_SHLIB.
4115597410b8Schristos	* configure.in: Call AC_SUBST (INSTALL_SHLIB).
4116597410b8Schristos	* configure: Rebuild.
4117597410b8Schristos	* Makefile.in (install): Use @INSTALL_SHLIB@.
4118597410b8Schristos
4119597410b8Schristos	* config.bfd (mips*-*-irix6*): New target.
4120597410b8Schristos	* configure.host: Handle Irix 6 shared library like Irix 5.
4121597410b8Schristos
4122597410b8Schristos	* xcofflink.c (xcoff_link_add_symbols): Don't check an XMC_TD
4123597410b8Schristos	symbol for a magic name.
4124597410b8Schristos	(xcoff_link_input_bfd): Don't change the reloc symbol for an
4125597410b8Schristos	XMC_TD symbol.
4126597410b8Schristos	(_bfd_ppc_xcoff_relocate_section): Don't get the TOC offset for an
4127597410b8Schristos	XMC_TD symbol.
4128597410b8Schristos
4129597410b8SchristosThu Jul 18 11:36:31 1996  Stan Shebs  <shebs@andros.cygnus.com>
4130597410b8Schristos
4131597410b8Schristos	* mpw-config.in: Add ELF support to mips config, create the
4132597410b8Schristos	elf32-target.h file in the object dir.
4133597410b8Schristos	* mpw-make.sed: Edit elfXX-target.h refs at beginnings of lines.
4134597410b8Schristos
4135597410b8SchristosWed Jul 17 18:02:32 1996  Kim Knuttila  <krk@cygnus.com>
4136597410b8Schristos
4137597410b8Schristos	* coff-ppc.c: Redid debug scheme - numerous fprintf's gone.
4138597410b8Schristos	Also removed most abort calls, in favor of using bfd reporting.
4139597410b8Schristos
4140597410b8SchristosWed Jul 17 14:51:52 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4141597410b8Schristos
4142597410b8Schristos	* Makefile.in (ALL_MACHINES): Add cpu-d10v.o.
4143597410b8Schristos	(BFD32_BACKENDS) Add elf32-d10v.o.
4144597410b8Schristos	* archures.c: Add bfd_d10v_arch.
4145597410b8Schristos	* bfd-in2.h: Add bfd_d10v_arch.
4146597410b8Schristos	* config.bfd (d10v-*-*): New target.
4147597410b8Schristos	* configure: (bfd_elf32_d10v_vec) New vector.
4148597410b8Schristos	* configure.in: (bfd_elf32_d10v_vec) New vector.
4149597410b8Schristos	* cpu-d10v.c: New file.
4150597410b8Schristos	* elf.c (prep_headers): Added case bfd_arch_d10v.
4151597410b8Schristos	* elf32-d10v.c: New file.
4152597410b8Schristos	* libbfd.h: Rebuild.
4153597410b8Schristos	* reloc.c (BFD_RELOC_D10V_10_PCREL_R, BFD_RELOC_D10V_10_PCREL_L,
4154597410b8Schristos 	BFD_RELOC_D10V_18, BFD_RELOC_D10V_18_PCREL): Define.
4155597410b8Schristos	* targets.c (bfd_elf32_d10v_vec): New vector.
4156597410b8Schristos
4157597410b8SchristosWed Jul 17 10:58:55 1996  Kim Knuttila  <krk@cygnus.com>
4158597410b8Schristos
4159597410b8Schristos	* coff-ppc.c (coff_ppc_relocate_section): Removed bogus fprintf
4160597410b8Schristos
4161597410b8SchristosTue Jul 16 23:49:02 1996  Stu Grossman  (grossman@critters.cygnus.com)
4162597410b8Schristos
4163597410b8Schristos	* archures.c bfd-in2.h:  Add bfd_mach_i386_i386 and
4164597410b8Schristos	bfd_mach_i386_i8086 machine types.
4165597410b8Schristos
4166597410b8SchristosWed Jul 10 12:42:56 1996  Ian Lance Taylor  <ian@cygnus.com>
4167597410b8Schristos
4168597410b8Schristos	* ecoff.c (_bfd_ecoff_new_section_hook): Set SEC_CODE for _INIT
4169597410b8Schristos	and _FINI sections.
4170597410b8Schristos
4171597410b8SchristosWed Jul 10 11:18:21 1996  Richard Henderson  <rth@tamu.edu>
4172597410b8Schristos
4173597410b8Schristos	* coffcode.h (coff_set_section_contents): A/UX does not require
4174597410b8Schristos	special handling of the _LIB section.
4175597410b8Schristos
4176597410b8SchristosTue Jul  9 15:52:20 1996  Jeffrey A Law  (law@cygnus.com)
4177597410b8Schristos
4178597410b8Schristos	* coff-h8300.c (h8300_reloc16_extra_cases): Use the correct
4179597410b8Schristos	value for R_RELBYTE.
4180597410b8Schristos
4181597410b8Schristos	* reloc16.c (bfd_coff_reloc16_relax_section): Only "shrinks"
4182597410b8Schristos	array if one was allocated.
4183597410b8Schristos
4184597410b8SchristosTue Jul  9 12:21:54 1996  Ian Lance Taylor  <ian@cygnus.com>
4185597410b8Schristos
4186597410b8Schristos	From Kazumoto Kojima <kkojima@kk.info.kanagawa-u.ac.jp>:
4187597410b8Schristos	* elf32-mips.c (struct mips_elf_link_hash_table): Add new fields
4188597410b8Schristos	use_rld_obj_head and rld_value.
4189597410b8Schristos	(mips_elf_link_hash_table_create): Initialize new fields.
4190597410b8Schristos	(mips_elf_add_symbol_hook): Mark __rld_obj_head symbol as
4191597410b8Schristos	dynamic.
4192597410b8Schristos	(mips_elf_create_dynamic_sections): Create .rld_map section.  If
4193597410b8Schristos	__rld_obj_head symbol not seen, create an __rld_map symbol.
4194597410b8Schristos	(mips_elf_size_dynamic_sections): Make space in .rld_map section.
4195597410b8Schristos	Create a DT_MIPS_RLD_MAP entry rather than a DT_DEBUG entry.
4196597410b8Schristos	(mips_elf_finish_dynamic_symbol): Save value of __rld_map or
4197597410b8Schristos	__rld_obj_head symbol.
4198597410b8Schristos	(mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP.
4199597410b8Schristos
4200597410b8SchristosMon Jul  8 16:18:03 1996  Ian Lance Taylor  <ian@cygnus.com>
4201597410b8Schristos
4202597410b8Schristos	* elf32-mips.c (mips_reloc_map): Remove BFD_RELOC_32_PCREL entry.
4203597410b8Schristos
4204597410b8Schristos	* elf32-ppc.c (ppc_elf_howto_raw): For R_PPC_ADDR16_HA, use
4205597410b8Schristos	ppc_elf_addr16_ha_reloc.
4206597410b8Schristos	(ppc_elf_addr16_ha_reloc): New static function.
4207597410b8Schristos
4208597410b8Schristos	* coff-mips.c (struct mips_hi): Define.
4209597410b8Schristos	(mips_refhi_list): New static variable.
4210597410b8Schristos 	(mips_refhi_addr, mips_refhi_addend): Remove.
4211597410b8Schristos	(mips_refhi_reloc): Maintain a list of unmatched REFHI relocs.
4212597410b8Schristos	(mips_reflo_reloc): Process mips_refhi_list.
4213597410b8Schristos	(mips_relhi_list): New static variable.
4214597410b8Schristos	(mips_relhi_addr, mips_relhi_addend): Remove.
4215597410b8Schristos	(mips_relhi_reloc): Maintain a list of unmatched RELHI relocs.
4216597410b8Schristos	(mips_rello_reloc): Process mips_relhi_list.
4217597410b8Schristos	(mips_relocate_section): Permit an arbitrary number of REFHI or
4218597410b8Schristos	RELHI relocs before the associated REFLO or RELLO reloc.
4219597410b8Schristos
4220597410b8SchristosFri Jul  5 19:27:49 1996  Ian Lance Taylor  <ian@cygnus.com>
4221597410b8Schristos
4222597410b8Schristos	* aout-target.h (MY(callback)): Set reloc_count fields.
4223597410b8Schristos
4224597410b8SchristosThu Jul  4 12:00:37 1996  Ian Lance Taylor  <ian@cygnus.com>
4225597410b8Schristos
4226597410b8Schristos	* sunos.c (sunos_add_dynamic_symbols): Don't create dynamic
4227597410b8Schristos	sections unless this is a SunOS link.
4228597410b8Schristos
4229597410b8Schristos	* VERSION: Set to 2.7.1.
4230597410b8Schristos
4231597410b8Schristos	* Released binutils 2.7.
4232597410b8Schristos
4233597410b8SchristosWed Jul  3 14:59:47 1996  Ian Lance Taylor  <ian@cygnus.com>
4234597410b8Schristos
4235597410b8Schristos	* i386aout.c: Include "aout/aout64.h".
4236597410b8Schristos 	(i386aout_write_object_contents): New static function.
4237597410b8Schristos	(MY_write_object_contents): Define.
4238597410b8Schristos
4239597410b8Schristos	* netbsd.h (MY(write_object_contents)): Make sure that
4240597410b8Schristos	adjust_sizes_and_vmas is called before fiddling with the magic
4241597410b8Schristos	number.
4242597410b8Schristos
4243597410b8SchristosTue Jul  2 23:30:39 1996  Ian Lance Taylor  <ian@cygnus.com>
4244597410b8Schristos
4245597410b8Schristos	* stabs.c (_bfd_link_section_stabs): Fix casts of psinfo.
4246597410b8Schristos
4247597410b8SchristosSun Jun 30 13:34:33 1996  Ian Lance Taylor  <ian@cygnus.com>
4248597410b8Schristos
4249597410b8Schristos	* libbfd-in.h (itos, stoi): Don't define.
4250597410b8Schristos	* libbfd.h: Rebuild.
4251597410b8Schristos	* i386lynx.c (KEEPIT): Define as udata.i.
4252597410b8Schristos	(NAME(lynx,swap_std_reloc_out)): Don't use stoi.
4253597410b8Schristos	(NAME(lynx,swap_ext_reloc_out)): Likewise.
4254597410b8Schristos	* riscix.c (riscix_swap_std_reloc_out): Use udata.i rather than
4255597410b8Schristos	flags.  Don't use stoi.
4256597410b8Schristos
4257597410b8Schristos	* elf32-mips.c (ELF_MAGPAGESIZE): Change definition to 0x1000.
4258597410b8Schristos
4259597410b8Schristos	* elf.c (map_sections_to_segments): Don't start a new segment for
4260597410b8Schristos 	a writable section if it's on the same page as the previous
4261597410b8Schristos 	segment.  Reset the writable variable for a readonly section.
4262597410b8Schristos
4263597410b8SchristosSat Jun 29 16:18:51 1996  Kim Knuttila  <krk@cygnus.com>
4264597410b8Schristos
4265597410b8Schristos	* peicode.h (coff_swap_aouthdr_in): Missing initializations of
4266597410b8Schristos	first_thunk_address, thunk_size, and import_table_size.
4267597410b8Schristos	* peicode.h: Improved some diagnostics regarding edata sections.
4268597410b8Schristos
4269597410b8Schristos	* coff-ppc.c (coff_ppc_relocate_section): Earlier error check
4270597410b8Schristos	on IMGLUE relocs.
4271597410b8Schristos	(coff_ppc_relocate_section): Improved diagnostic for large TOCDEFN's.
4272597410b8Schristos	(TARGET_LITTLE_SYM): Added missing D_PAGED.
4273597410b8Schristos
4274597410b8SchristosFri Jun 28 13:48:45 1996  Ian Lance Taylor  <ian@cygnus.com>
4275597410b8Schristos
4276597410b8Schristos	* xcofflink.c (xcoff_link_check_ar_symbols): An undefined symbol
4277597410b8Schristos	with XCOFF_DEF_DYNAMIC set is really defined.
4278597410b8Schristos	(xcoff_link_check_dynamic_ar_symbols): Likewise.
4279597410b8Schristos	(xcoff_link_add_symbols): Only create special sections if using an
4280597410b8Schristos	XCOFF hash table.
4281597410b8Schristos
4282597410b8Schristos	* reloc.c (bfd_perform_relocation): Handle xcoff-powermac like
4283597410b8Schristos	aixcoff-rs6000.
4284597410b8Schristos	(bfd_install_relocation): Likewise.
4285597410b8Schristos
4286597410b8SchristosFri Jun 28 11:17:00 1996  Richard Henderson  <rth@tamu.edu>
4287597410b8Schristos
4288597410b8Schristos	* elf64-alpha.c (struct alpha_elf_link_hash_entry): Add flags
4289597410b8Schristos	field.
4290597410b8Schristos	(ALPHA_ELF_LINK_HASH_LU_ADDR): Define.
4291597410b8Schristos	(ALPHA_ELF_LINK_HASH_LU_MEM): Define.
4292597410b8Schristos	(ALPHA_ELF_LINK_HASH_LU_FUNC): Define.
4293597410b8Schristos	(elf64_alpha_link_hash_newfunc): Initialize flags field.
4294597410b8Schristos	(elf64_alpha_check_relocs): Record types of LITUSE entries that
4295597410b8Schristos	are found for LITERAL relocs.
4296597410b8Schristos	(elf64_alpha_adjust_dynamic_symbol): If a symbol has its address
4297597410b8Schristos	taken, we cannot generate a .plt entry for the symbol.
4298597410b8Schristos
4299597410b8SchristosThu Jun 27 11:24:29 1996  Ian Lance Taylor  <ian@cygnus.com>
4300597410b8Schristos
4301597410b8Schristos	* configure.in: Add AC_ISC_POSIX, and check for setitimer and
4302597410b8Schristos	sysconf functions (for gprof).
4303597410b8Schristos	* configure, config.in: Rebuild.
4304597410b8Schristos
4305597410b8SchristosWed Jun 26 16:29:02 1996  Ian Lance Taylor  <ian@cygnus.com>
4306597410b8Schristos
4307597410b8Schristos	* ecoff.c (_bfd_ecoff_archive_p): Check the first object file in
4308597410b8Schristos	an archive if it has a map.  If the object file has the wrong
4309597410b8Schristos	xvec, reject it.
4310597410b8Schristos
4311597410b8Schristos	* coff-alpha.c (alpha_adjust_reloc_in): Set the addend for a
4312597410b8Schristos	BRADDR, SREL16, SREL32, or SREL64 reloc against an external
4313597410b8Schristos	symbol.
4314597410b8Schristos	(alpha_relocate_section): Likewise.
4315597410b8Schristos
4316597410b8Schristos	* coffswap.h (coff_swap_reloc_out): Use RELSZ, not sizeof.
4317597410b8Schristos	(coff_swap_filehdr_out): Use FILHSZ, not sizeof.
4318597410b8Schristos	(coff_swap_sym_out): Use SYMESZ, not sizeof.
4319597410b8Schristos	(coff_swap_aux_out): Use AUXESZ, not sizeof.
4320597410b8Schristos	(coff_swap_lineno_out): Use LINESZ, not sizeof.
4321597410b8Schristos	(coff_swap_aouthdr_out): Use AOUTSZ, not sizeof.
4322597410b8Schristos	(coff_swap_scnhdr_out): Use SCNHSZ, not sizeof.
4323597410b8Schristos	* peicode.h: Corresponding changes.
4324597410b8Schristos
4325597410b8SchristosTue Jun 25 15:28:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4326597410b8Schristos
4327597410b8Schristos	* elflink.h (elf_create_pointer_linker_section): Comment out code
4328597410b8Schristos	dealing with making GOT pointers negative of the GOT symbol for
4329597410b8Schristos	now.
4330597410b8Schristos
4331597410b8SchristosTue Jun 25 11:41:24 1996  Richard Henderson  <rth@tamu.edu>
4332597410b8Schristos
4333597410b8Schristos	* elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
4334597410b8Schristos	increment the .rela.plt size until after we're done creating the
4335597410b8Schristos	.plt entry.
4336597410b8Schristos	(elf64_alpha_finish_dynamic_symbol): Change .plt entry to load the
4337597410b8Schristos	.rela.plt offset directly rather than calculating it.
4338597410b8Schristos
4339597410b8SchristosMon Jun 24 17:15:10 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
4340597410b8Schristos
4341597410b8Schristos        * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir):
4342597410b8Schristos	Use autoconf-set values.
4343597410b8Schristos        * doc/Makefile.in (bindir, libdir, datadir, mandir, infodir,
4344597410b8Schristos	includedir, INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set
4345597410b8Schristos	values.
4346597410b8Schristos        (docdir): Deleted.
4347597410b8Schristos        * configure.in (AC_PREREQ): autoconf v2.5 or higher.
4348597410b8Schristos        * configure: Rebuilt.
4349597410b8Schristos
4350597410b8SchristosMon Jun 24 22:50:35 1996  Jeffrey A Law  (law@cygnus.com)
4351597410b8Schristos
4352597410b8Schristos	* som.c (som_write_fixups): Fix typo in R_END_TRY for exception
4353597410b8Schristos	handling code > 1k away.
4354597410b8Schristos
4355597410b8SchristosMon Jun 24 18:41:06 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4356597410b8Schristos
4357597410b8Schristos	* elflink.h (elf_create_pointer_linker_section): If DEBUG is
4358597410b8Schristos	defined, output whenever the symbol is updated.
4359597410b8Schristos
4360597410b8SchristosMon Jun 24 17:58:12 1996  Jouke Numan  <jnuman@bazis.nl>
4361597410b8Schristos
4362597410b8Schristos	* elf.c (elf_fake_sections): Don't set sh_addr of a non SEC_ALLOC
4363597410b8Schristos	section to 0 if user_set_vma is set.
4364597410b8Schristos	* elflink.h (elf_bfd_final_link): Likewise.
4365597410b8Schristos
4366597410b8SchristosSun Jun 23 20:42:51 1996  Doug Evans  <dje@canuck.cygnus.com>
4367597410b8Schristos
4368597410b8Schristos	Partially undo patch of Jun 20.
4369597410b8Schristos	* coffcode.h (coff_set_alignment_hook): Use COFF_IMAGE_WITH_PE.
4370597410b8Schristos	(coff_compute_section_file_positions): Likewise.
4371597410b8Schristos	(coff_write_object_contents): Likewise.  Re-add deleted code, but
4372597410b8Schristos	use #ifdef COFF_WITH_PE, not COFF_OBJ_WITH_PE.
4373597410b8Schristos	* peicode.h (pe_bfd_copy_private_bfd_data): Re-add #ifdef.
4374597410b8Schristos
4375597410b8SchristosFri Jun 21 17:38:15 1996  Joel Sherrill  <joel@merlin.gcs.redstone.army.mil>
4376597410b8Schristos
4377597410b8Schristos	* config.bfd: Add support for *-*-rtems* configurations.
4378597410b8Schristos
4379597410b8SchristosFri Jun 21 15:19:59 1996  Ian Lance Taylor  <ian@cygnus.com>
4380597410b8Schristos
4381597410b8Schristos	* elf.c (prep_headers): Add bfd_arch_alpha case.
4382597410b8Schristos
4383597410b8SchristosFri Jun 21 12:35:27 1996  Richard Henderson  <rth@tamu.edu>
4384597410b8Schristos
4385597410b8Schristos	* elf64-alpha.c: New file.
4386597410b8Schristos	* config.bfd (alpha-*-linuxecoff*): New target.
4387597410b8Schristos	(alpha-*-linux*, alpha-*-elf*): New targets.
4388597410b8Schristos	* configure.in (bfd_elf64_alpha_vec): New vector.
4389597410b8Schristos	* configure: Rebuild.
4390597410b8Schristos	* targets.c (bfd_elf64_alpha_vec): Declare.
4391597410b8Schristos	(bfd_target_vector): Add bfd_elf64_alpha_vec if BFD64.
4392597410b8Schristos	* reloc.c (BFD_RELOC_ALPHA_GPDISP): Define.
4393597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
4394597410b8Schristos	* Makefile.in: Rebuild dependencies.
4395597410b8Schristos 	(BFD64_BACKENDS): Add elf64-alpha.o.
4396597410b8Schristos	(BFD64_BACKENDS_CFILES): Add elf64-alpha.c.
4397597410b8Schristos
4398597410b8SchristosThu Jun 20 18:14:25 1996  Ian Lance Taylor  <ian@cygnus.com>
4399597410b8Schristos
4400597410b8Schristos	* ecoff.c (ecoff_armap_hash): If hlog is 0, just return 0, rather
4401597410b8Schristos	than relying on a right shift of 32.
4402597410b8Schristos
4403597410b8SchristosThu Jun 20 11:00:57 1996  Doug Evans  <dje@canuck.cygnus.com>
4404597410b8Schristos
4405597410b8Schristos	* coffcode.h (coff_set_alignment_hook): Change COFF_IMAGE_WITH_PE
4406597410b8Schristos	ifdef to COFF_WITH_PE.
4407597410b8Schristos	(coff_compute_section_file_positions): Likewise.
4408597410b8Schristos	(coff_write_object_contents): Likewise.  Delete COFF_OBJ_WITH_PE.
4409597410b8Schristos	* pe-{arm,i386,ppc}.c (COFF_OBJ_WITH_PE): Delete.
4410597410b8Schristos	* peicode.h (pe_bfd_copy_private_bfd_data): Delete ifdef
4411597410b8Schristos	COFF_IMAGE_WITH_PE, always include.
4412597410b8Schristos
4413597410b8Schristos	* peicode.h (coff_swap_scnhdr_out): ".drectve" doesn't have trailing 0.
4414597410b8Schristos
4415597410b8SchristosWed Jun 19 11:37:52 1996  Ian Lance Taylor  <ian@cygnus.com>
4416597410b8Schristos
4417597410b8Schristos	* elf.c (map_sections_to_segments): Fix up the test for -Ttext to
4418597410b8Schristos	approximate the correct answer if SIZEOF_HEADERS was not used.
4419597410b8Schristos
4420597410b8Schristos	* binary.c (binary_set_section_contents): Set section file
4421597410b8Schristos	position based on LMA rather than VMA.
4422597410b8Schristos
4423597410b8SchristosWed Jun 19 11:19:25 1996  Manfred Hollstein KS/EIC5 60/3/142 #40283  <manfred@lts.sel.alcatel.de>
4424597410b8Schristos
4425597410b8Schristos	* linker.c (_bfd_generic_link_output_symbols): Don't output any
4426597410b8Schristos	symbols if info->strip == strip_all.
4427597410b8Schristos
4428597410b8SchristosTue Jun 18 15:17:36 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
4429597410b8Schristos
4430597410b8Schristos	* coff-h8300.c: Remove #if 0 code.
4431597410b8Schristos	(compatable): Don't allow mixing/matching of different architectures.
4432597410b8Schristos
4433597410b8Schristos	* archures.c (bfd_mach_h8300s): Add.
4434597410b8Schristos	* bfd-in2.h: Rebuilt.
4435597410b8Schristos	* coff-h8300.c (funcvec_hash_newfunc): Handle H8/S too.
4436597410b8Schristos	(BADMAG): Likewise.
4437597410b8Schristos	(h8300_reloc16_estimate): Likewise.
4438597410b8Schristos	(h8300_reloc16_extra_cases): Likewise.
4439597410b8Schristos	(h8300_bfd_link_add_symbols): Likewise.
4440597410b8Schristos	* coffcode.h (coff_set_arch_mach_hook): Likewise.
4441597410b8Schristos	(coff_set_flags): Likewise.
4442597410b8Schristos	* cpu-h8300.c (h8300_scan): Likewise.
4443597410b8Schristos	Add H8/S to bfd_h8300_arch list.
4444597410b8Schristos
4445597410b8SchristosTue Jun 18 14:42:58 1996  Klaus Kaempf  <kkaempf@progis.de>
4446597410b8Schristos
4447597410b8Schristos	Added support for Alpha OpenVMS:
4448597410b8Schristos	* evax.h, evax-alpha.c, evax-egsd.c, evax-emh.c: New files.
4449597410b8Schristos	* evax-etir.c, evax-misc.c, hosts/alphavms.h: New files.
4450597410b8Schristos	* config.h-vms, makefile.vms: New files.
4451597410b8Schristos	* config.bfd (alpha-*-*vms*): New target.
4452597410b8Schristos	* configure.in (evax_alpha_vec): New target vector.
4453597410b8Schristos	* configure: Rebuild.
4454597410b8Schristos	* reloc.c (BFD_RELOC_SWREL32, BFD_RELOC_SWREL64): Define.
4455597410b8Schristos	(BFD_RELOC_ALPHA_LINKAGE, BFD_RELOC_ALPHA_BASEREG): Define.
4456597410b8Schristos	* targets.c (bfd_target_evax_flavour): Define.
4457597410b8Schristos	(evax_alpha_vec): Declare.
4458597410b8Schristos	(bfd_target_vector): Add ecoffalpha_little_vec and evax_alpha_vec
4459597410b8Schristos	if BFD64 is defined.
4460597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
4461597410b8Schristos	* Makefile.in: Rebuild dependencies.
4462597410b8Schristos	(BFD64_BACKENDS): Add evax-alpha.o, evax-egsd.o, evax-etir.o,
4463597410b8Schristos	evax-emh.o, and evax-misc.o.
4464597410b8Schristos	(BFD64_BACKENDS_CFILES): Add evax-alpha.c, evax-egsd.c,
4465597410b8Schristos	evax-etir.c, evax-emh.c, and evax-misc.c.
4466597410b8Schristos	(HFILES): Add evax.h.
4467597410b8Schristos
4468597410b8SchristosTue Jun 18 13:54:18 1996  Ian Lance Taylor  <ian@cygnus.com>
4469597410b8Schristos
4470597410b8Schristos	* coff-h8300.c (h8300_reloc16_extra_cases): Make name a const
4471597410b8Schristos	pointer.
4472597410b8Schristos	(h8300_bfd_link_add_symbols): Likewise.
4473597410b8Schristos
4474597410b8SchristosMon Jun 17 10:06:50 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
4475597410b8Schristos
4476597410b8Schristos	* som.h (R_HPPA_BEGIN_TRY, R_HPPA_END_TRY): Define.
4477597410b8Schristos	* som.c (som_write_fixups): Handle R_BEGIN_TRY and R_END_TRY.
4478597410b8Schristos
4479597410b8SchristosMon Jun 17 12:49:11 1996  Ian Lance Taylor  <ian@cygnus.com>
4480597410b8Schristos
4481597410b8Schristos	* elf32-mips.c (mips_elf_relocate_section): Don't create a reloc
4482597410b8Schristos	for R_MIPS_REL32 and R_MIPS_32 relocs if no dynamic sections were
4483597410b8Schristos	created.
4484597410b8Schristos	(mips_elf_check_relocs): Only create .rel.dyn for R_MIPS_REL32 and
4485597410b8Schristos	R_MIPS_32 relocs if creating a shared library.
4486597410b8Schristos
4487597410b8SchristosThu Jun 13 20:14:51 1996  Doug Evans  <dje@canuck.cygnus.com>
4488597410b8Schristos
4489597410b8Schristos	* peicode.h (add_data_entry): Use pei_section_data rather than
4490597410b8Schristos	_cooked_size.  Corresponds to May 13 change in coffcode.h.
4491597410b8Schristos
4492597410b8SchristosThu Jun 13 10:23:40 1996  Ian Lance Taylor  <ian@cygnus.com>
4493597410b8Schristos
4494597410b8Schristos	* cofflink.c (_bfd_coff_final_link): Handle long section names.
4495597410b8Schristos	* coffcode.h (coff_write_object_contents): If there are long
4496597410b8Schristos	section names, always set the f_symptr field, even if there are no
4497597410b8Schristos	symbols.
4498597410b8Schristos	* peicode.h (coff_swap_filehdr_in): Don't clear the f_symptr field
4499597410b8Schristos	if there are no symbols.
4500597410b8Schristos
4501597410b8Schristos	* coffgen.c (make_a_section_from_file): Check return value of
4502597410b8Schristos	_bfd_coff_read_string_table.
4503597410b8Schristos	(coff_real_object_p): Check return value of
4504597410b8Schristos	make_a_section_from_file.
4505597410b8Schristos	(_bfd_coff_read_string_table): Check that there are some symbols
4506597410b8Schristos	before trying to read the string table size.
4507597410b8Schristos
4508597410b8SchristosWed Jun 12 11:16:37 1996  Ian Lance Taylor  <ian@cygnus.com>
4509597410b8Schristos
4510597410b8Schristos	* xcofflink.c (xcoff_link_add_symbols): When considering whether
4511597410b8Schristos	to replace a symbol in a dynamic object with a symbol from another
4512597410b8Schristos	dynamic object, do the replacement if the existing symbol is
4513597410b8Schristos	global linkage code.
4514597410b8Schristos
4515597410b8Schristos	* xcofflink.c (_bfd_ppc_xcoff_relocate_section): Check explicitly
4516597410b8Schristos	for _ptrgl, and treat it as global linkage code.
4517597410b8Schristos
4518597410b8Schristos	* aoutx.h (NAME(aout,find_nearest_line)): Notice if we find a
4519597410b8Schristos	filename or N_SO symbol past the offset, and use it to indicate
4520597410b8Schristos	that there is no line number or function when appropriate.
4521597410b8Schristos
4522597410b8SchristosTue Jun 11 15:24:48 1996  Ian Lance Taylor  <ian@cygnus.com>
4523597410b8Schristos
4524597410b8Schristos	* xcofflink.c (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR for a
4525597410b8Schristos	common symbol defined by the linker.  Don't export function code
4526597410b8Schristos	even if export_defineds is set.
4527597410b8Schristos
4528597410b8SchristosMon Jun 10 11:57:27 1996  Jeffrey A Law  (law@cygnus.com)
4529597410b8Schristos
4530597410b8Schristos	* coff-h8300.c (howto_table): Add new entries for R_BCC_INV
4531597410b8Schristos	and R_JMP_DEL.
4532597410b8Schristos	(rtype2howto): Handle R_BCC_INV and R_JMP_DEL.
4533597410b8Schristos	(h8300_symbol_address_p): New function.
4534597410b8Schristos	(h8300_reloc16_estimate): Eliminate jumps made unnecessary by
4535597410b8Schristos	relaxing.
4536597410b8Schristos
4537597410b8SchristosSun Jun  9 16:30:20 1996  Jeffrey A Law  (law@cygnus.com)
4538597410b8Schristos
4539597410b8Schristos	* coff-h8300.c (h8300_reloc16_estimate): Fix many minor spacing
4540597410b8Schristos	problems.
4541597410b8Schristos	(h8300_reloc16_estimate, cases R_JMP1, R_JMP2): Adjust "dot"
4542597410b8Schristos	correctly for the two variants.  Allow relaxing if the target
4543597410b8Schristos	is 128 bytes away since after relaxation it'll be 126 bytes away.
4544597410b8Schristos	(h8300_reloc16_estimate, case R_PCRWORD): Correctly adjust
4545597410b8Schristos	"dot" and "value".  Allow relaxing if the target is 128 bytes
4546597410b8Schristos	away since after relaxation it'll be 126 bytes away.
4547597410b8Schristos	* reloc16.c (bfd_coff_reloc16_relax_section): Keep relaxing
4548597410b8Schristos	the given section until nothing changes.
4549597410b8Schristos
4550597410b8SchristosThu Jun  6 15:24:45 1996  Richard Henderson  <rth@tamu.edu>
4551597410b8Schristos
4552597410b8Schristos	* ecoff.c (_bfd_ecoff_new_section_hook): Remove the _PDATA
4553597410b8Schristos 	alignment hack--we can get the lnnoptr info another way without
4554597410b8Schristos 	suddenly increasing the alignment requirements.  Set the flags for
4555597410b8Schristos	the _PDATA section.
4556597410b8Schristos	(ecoff_compute_section_file_positions): Do so.
4557597410b8Schristos
4558597410b8SchristosThu Jun  6 11:24:37 1996  Ian Lance Taylor  <ian@cygnus.com>
4559597410b8Schristos
4560597410b8Schristos	* ieee.c (ieee_write_object_contents): Put a timestamp in the file
4561597410b8Schristos	to keep the HP emulator database happy.
4562597410b8Schristos
4563597410b8Schristos	* config.bfd: Recognize powerpc-*-linux* and powerpcle-*-linux*.
4564597410b8Schristos	From Kevin Buettner <kev@primenet.com>.
4565597410b8Schristos
4566597410b8SchristosWed Jun  5 15:16:04 1996  Ian Lance Taylor  <ian@cygnus.com>
4567597410b8Schristos
4568597410b8Schristos	* aoutx.h (translate_to_native_sym_flags): Don't try to print the
4569597410b8Schristos	name of a NULL section.
4570597410b8Schristos
4571597410b8SchristosTue Jun  4 18:53:58 1996  Ian Lance Taylor  <ian@cygnus.com>
4572597410b8Schristos
4573597410b8Schristos	* linker.c (_bfd_generic_link_add_one_symbol): If notice_all is
4574597410b8Schristos	set, always call the notice callback.
4575597410b8Schristos
4576597410b8Schristos	* VERSION: Increment for bfdlink.h change.
4577597410b8Schristos
4578597410b8SchristosMon Jun  3 11:01:53 1996  Ian Lance Taylor  <ian@cygnus.com>
4579597410b8Schristos
4580597410b8Schristos	* coff-sh.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Set to 4.
4581597410b8Schristos	(sh_relax_delete_bytes): Correct handling of differently sized
4582597410b8Schristos	trailing alignment reloc.
4583597410b8Schristos
4584597410b8Schristos	* bfd-in.h: Use #error if BFD_HOST_64_BIT can not be defined.
4585597410b8Schristos	* bfd-in2.h: Rebuild.
4586597410b8Schristos	* configure.in: Warn if there is no known 64 bit type.
4587597410b8Schristos	* configure: Rebuild.
4588597410b8Schristos
4589597410b8Schristos	* Makefile.in: Rebuild dependencies.
4590597410b8Schristos 	(BFD32_BACKENDS): Add ppcboot.o.
4591597410b8Schristos	(BFD32_BACKENDS_CFILES): Add ppcboot.c.
4592597410b8Schristos
4593597410b8Schristos	* elf32-mips.c (mips_elf_size_dynamic_sections): Initialize c.
4594597410b8Schristos	From Per Fogelstrom <per.fogelstrom@mailbox200.swipnet.se>.
4595597410b8Schristos
4596597410b8SchristosSat Jun  1 21:49:58 1996  Ian Lance Taylor  <ian@cygnus.com>
4597597410b8Schristos
4598597410b8Schristos	* elf64-mips.c (bfd_mips_elf64_swap_reginfo_in)
4599597410b8Schristos	(bfd_mips_elf64_swap_reginfo_out): Move from here...
4600597410b8Schristos	* elf32-mips.c (bfd_mips_elf64_swap_reginfo_in)
4601597410b8Schristos	(bfd_mips_elf64_swap_reginfo_out): ...to here.
4602597410b8Schristos
4603597410b8SchristosFri May 31 13:51:28 1996  Ian Lance Taylor  <ian@cygnus.com>
4604597410b8Schristos
4605597410b8Schristos	* elf64-mips.c: Improve reloc special_functions and handling of
4606597410b8Schristos	SHT_MIPS_OPTIONS section.
4607597410b8Schristos	* elf32-mips.c (_bfd_mips_elf_hi16_reloc): Rename from
4608597410b8Schristos	mips_elf_hi16_reloc and make globally visible.
4609597410b8Schristos	(_bfd_mips_elf_lo16_reloc): Rename from mips_elf_lo16_reloc and
4610597410b8Schristos	make globally visible.
4611597410b8Schristos	(_bfd_mips_elf_got16_reloc): Rename from mips_elf_got16_reloc and
4612597410b8Schristos	make globally visible.
4613597410b8Schristos	(_bfd_mips_elf_gprel16_reloc): Rename from mips_elf_gprel16_reloc
4614597410b8Schristos	and make globally visible.
4615597410b8Schristos	(gprel16_with_gp): Check howto->src_mask before using value in
4616597410b8Schristos	insn.
4617597410b8Schristos	(_bfd_mips_elf_gprel32_reloc): Rename from mips_elf_gprel32_reloc
4618597410b8Schristos	and make globally visible.
4619597410b8Schristos	(gprel32_with_gp): Check howto->src_mask before fetching value.
4620597410b8Schristos	(bfd_mips_elf_swap_options_in): New function.
4621597410b8Schristos	(bfd_mips_elf_swap_options_out): New function.
4622597410b8Schristos	(_bfd_mips_elf_set_private_flags): Rename from
4623597410b8Schristos	mips_elf_set_private_flags and make globally visible.
4624597410b8Schristos	(_bfd_mips_elf_copy_private_bfd_data): Rename from
4625597410b8Schristos	mips_elf_copy_private_bfd_data and make globally visible.
4626597410b8Schristos	(_bfd_mips_elf_merge_private_bfd_data): Rename from
4627597410b8Schristos	mips_elf_merge_private_bfd_data and make globally visible.
4628597410b8Schristos	(_bfd_mips_elf_section_from_shdr): Accept .MIPS.options as a name
4629597410b8Schristos	for a SHT_MIPS_OPTIONS section.
4630597410b8Schristos	(mips_elf32_section_from_shdr): Handle SHT_MIPS_OPTIONS section.
4631597410b8Schristos	(_bfd_mips_elf_fake_sections): Consider .MIPS.options to be the
4632597410b8Schristos	name of a SHT_MIPS_OPTIONS section.
4633597410b8Schristos	(_bfd_mips_elf_set_section_contents): New function.
4634597410b8Schristos	(mips_elf32_section_processing): Set the GP value in a
4635597410b8Schristos	SHT_MIPS_OPTIONS section.
4636597410b8Schristos	(_bfd_mips_elf_find_nearest_line): Rename from
4637597410b8Schristos	mips_elf_find_nearest_line and make globally visible.
4638597410b8Schristos	(bfd_elf32_set_section_contents): Define.
4639597410b8Schristos	* elf-bfd.h (_bfd_mips_elf_hi16_reloc): Declare.
4640597410b8Schristos	(_bfd_mips_elf_lo16_reloc): Declare.
4641597410b8Schristos	(_bfd_mips_elf_gprel16_reloc): Declare.
4642597410b8Schristos	(_bfd_mips_elf_got16_reloc): Declare.
4643597410b8Schristos	(_bfd_mips_elf_gprel32_reloc): Declare.
4644597410b8Schristos	(_bfd_mips_elf_set_private_flags): Declare.
4645597410b8Schristos	(_bfd_mips_elf_copy_private_bfd_data): Declare.
4646597410b8Schristos	(_bfd_mips_elf_merge_private_bfd_data): Declare.
4647597410b8Schristos	(_bfd_mips_elf_find_nearest_line): Declare.
4648597410b8Schristos	(_bfd_mips_elf_set_section_contents): Declare.
4649597410b8Schristos
4650597410b8Schristos	* elf32-hppa.c (elf32_hppa_info_to_howto): Rename from
4651597410b8Schristos	elf_info_to_howto.
4652597410b8Schristos	(elf_info_to_howto): Define.
4653597410b8Schristos	* elf32-sparc.c (elf32_sparc_info_to_howto): Rename from
4654597410b8Schristos	elf_info_to_howto.
4655597410b8Schristos	(elf_info_to_howto): Define.
4656597410b8Schristos	* elf64-sparc.c (sparc64_elf_info_to_howto): Rename from
4657597410b8Schristos	elf_info_to_howto.
4658597410b8Schristos	(elf_info_to_howto): Define.
4659597410b8Schristos
4660597410b8Schristos	* coff-w65.c (h8300_reloc16_estimate): Rename R_MOVB[12] to
4661597410b8Schristos	R_MOV16B[12], to match change in coff/internal.h.
4662597410b8Schristos
4663597410b8SchristosThu May 30 12:38:49 1996  Ian Lance Taylor  <ian@cygnus.com>
4664597410b8Schristos
4665597410b8Schristos	* elf64-mips.c: Extensive additions to provide better support for
4666597410b8Schristos	writing files and for gas.
4667597410b8Schristos	* elf32-mips.c (_bfd_mips_elf_object_p): New function, broken out
4668597410b8Schristos	of mips_elf_object_p.
4669597410b8Schristos	(mips_elf32_object_p): Rename from mips_elf_object_p; call
4670597410b8Schristos	_bfd_mips_elf_object_p.
4671597410b8Schristos	(_bfd_mips_elf_final_write_processing): Rename from
4672597410b8Schristos	mips_elf_final_write_processing and make globally visible.
4673597410b8Schristos	(_bfd_mips_elf_fake_sections): Rename from
4674597410b8Schristos	mips_elf_fake_sections and make globally visible.
4675597410b8Schristos	(_bfd_mips_elf_section_from_bfd_section): Rename from
4676597410b8Schristos	mips_elf_section_from_bfd_section and make globally visible.
4677597410b8Schristos	(_bfd_mips_elf_section_processing): New function, broken out of
4678597410b8Schristos	mips_elf_section_processing.
4679597410b8Schristos	(mips_elf32_section_processing): Rename from
4680597410b8Schristos	mips_elf_section_processing; call
4681597410b8Schristos	_bfd_mips_elf_section_processing.
4682597410b8Schristos	(_bfd_mips_elf_symbol_processing): Rename from
4683597410b8Schristos	mips_elf_symbol_processing and make globally visible.
4684597410b8Schristos	(_bfd_mips_elf_read_ecoff_info): Rename from
4685597410b8Schristos	mips_elf_read_ecoff_info and make globally visible.
4686597410b8Schristos	(mips_elf32_ecoff_debug_swap): Rename from
4687597410b8Schristos	mips_elf_ecoff_debug_swap.
4688597410b8Schristos	* elf.c (_bfd_elf_symbol_from_bfd_symbol): Use asymbol rather than
4689597410b8Schristos	struct symbol_cache_entry.
4690597410b8Schristos	(_bfd_elf_validate_reloc): New function, moved in from
4691597410b8Schristos	elfcode.h:validate_reloc.
4692597410b8Schristos	* elfcode.h (validate_reloc): Remove; moved into elf.c and renamed
4693597410b8Schristos	to _bfd_elf_validate_reloc.  Change all callers.
4694597410b8Schristos	* elf-bfd.h (bfd_section_from_shdr): Declare.
4695597410b8Schristos	(_bfd_elf_symbol_from_bfd_symbol): Declare.
4696597410b8Schristos	(_bfd_elf_validate_reloc): Declare.
4697597410b8Schristos	(_bfd_mips_elf_object_p): Declare.
4698597410b8Schristos	(_bfd_mips_elf_fake_sections): Declare.
4699597410b8Schristos	(_bfd_mips_elf_section_from_bfd_section): Declare.
4700597410b8Schristos	(_bfd_mips_elf_section_processing): Declare.
4701597410b8Schristos	(_bfd_mips_elf_symbol_processing): Declare.
4702597410b8Schristos	(_bfd_mips_elf_read_ecoff_info): Declare.
4703597410b8Schristos	(_bfd_mips_elf_final_write_processing): Declare.
4704597410b8Schristos	* elfxx-target.h (bfd_elfNN_get_reloc_upper_bound): Don't define
4705597410b8Schristos	if already defined.
4706597410b8Schristos
4707597410b8Schristos	* elf32-mips.c (mips_elf_object_p): Handle E_MIPS_ARCH_4.
4708597410b8Schristos	(mips_elf_final_write_processing): Likewise.
4709597410b8Schristos
4710597410b8SchristosWed May 29 16:15:29 1996  Ian Lance Taylor  <ian@cygnus.com>
4711597410b8Schristos
4712597410b8Schristos	64-bit MIPS ELF ABI objdump support:
4713597410b8Schristos	* elf64-mips.c: New file.
4714597410b8Schristos	* Makefile.in: Rebuild dependencies.
4715597410b8Schristos 	(BFD64_BACKENDS): Add elf64-mips.o.
4716597410b8Schristos	(BFD64_BACKENDS_CFILES): Add elf64-mips.c.
4717597410b8Schristos	* config.bfd (mips*el-*-elf*) Add bfd_elf64_bigmips_vec and
4718597410b8Schristos	bfd_elf64_littlemips_vec to targ_selvecs.
4719597410b8Schristos	(mips*-*-elf*): Likewise.
4720597410b8Schristos	* configure.in: Add bfd_elf64_bigmips_vec and
4721597410b8Schristos	bfd_elf64_littlemips_vec to vector switch.
4722597410b8Schristos	* configure: Rebuild.
4723597410b8Schristos	* elf32-mips.c (_bfd_mips_elf_section_from_shdr): New function,
4724597410b8Schristos	broken out of mips_elf_section_from_shdr.
4725597410b8Schristos	(mips_elf32_section_from_shdr): Rename from
4726597410b8Schristos	mips_elf_section_from_shdr.  Call new function.
4727597410b8Schristos	(elf_backend_section_from_shdr): Update name of renamed function.
4728597410b8Schristos	* elf-bfd.h (struct elf_size_info): Change second parameter of
4729597410b8Schristos	write_out_phdrs to be const.  Likewise for second parameter of
4730597410b8Schristos	swap_symbol_out.
4731597410b8Schristos	(struct bfd_elf_section_data): Add rel_hdr2 field.
4732597410b8Schristos	(bfd_elf32_swap_symbol_in): Change second parameter to be const.
4733597410b8Schristos	(bfd_elf32_swap_symbol_out): Likewise.
4734597410b8Schristos	(bfd_elf32_swap_reloc_in): Likewise.
4735597410b8Schristos	(bfd_elf32_swap_reloc_out): Likewise.
4736597410b8Schristos	(bfd_elf32_swap_reloca_in): Likewise.
4737597410b8Schristos	(bfd_elf32_swap_reloca_out): Likewise.
4738597410b8Schristos	(bfd_elf32_swap_phdr_in): Likewise.
4739597410b8Schristos	(bfd_elf32_swap_phdr_out): Likewise.
4740597410b8Schristos	(bfd_elf32_swap_dyn_in): Likewise.
4741597410b8Schristos	(bfd_elf32_swap_dyn_out): Likewise.
4742597410b8Schristos	(bfd_elf32_slurp_symbol_table): Declare.
4743597410b8Schristos	(bfd_elf32_write_shdrs_and_ehdr): Declare.
4744597410b8Schristos	(bfd_elf32_write_out_phdrs): Declare.
4745597410b8Schristos	(bfd_elf64_swap_symbol_in): Change second parameter to be const.
4746597410b8Schristos	(bfd_elf64_swap_symbol_out): Likewise.
4747597410b8Schristos	(bfd_elf64_swap_reloc_in): Likewise.
4748597410b8Schristos	(bfd_elf64_swap_reloc_out): Likewise.
4749597410b8Schristos	(bfd_elf64_swap_reloca_in): Likewise.
4750597410b8Schristos	(bfd_elf64_swap_reloca_out): Likewise.
4751597410b8Schristos	(bfd_elf64_swap_phdr_in): Likewise.
4752597410b8Schristos	(bfd_elf64_swap_phdr_out): Likewise.
4753597410b8Schristos	(bfd_elf64_swap_dyn_in): Likewise.
4754597410b8Schristos	(bfd_elf64_swap_dyn_out): Likewise.
4755597410b8Schristos	(bfd_elf64_slurp_symbol_table): Declare.
4756597410b8Schristos	(bfd_elf64_write_shdrs_and_ehdr): Declare.
4757597410b8Schristos	(bfd_elf64_write_out_phdrs): Declare.
4758597410b8Schristos	(_bfd_mips_elf_section_from_shdr): Declare.
4759597410b8Schristos	* elf.c (bfd_section_from_shdr): Remove assertion requiring
4760597410b8Schristos	SHT_REL/SHT_RELA to match use_rela_p.  If there is already a reloc
4761597410b8Schristos	section for the section, add the new one to rel_hdr2.  Increment
4762597410b8Schristos	reloc_count rather than setting it.
4763597410b8Schristos	* elfcode.h (elf_slurp_symbol_table): Define name as macro.
4764597410b8Schristos	Remove static declaration.
4765597410b8Schristos	(elf_write_shdrs_and_ehdr): Define name as macro.
4766597410b8Schristos	(elf_write_out_phdrs): Likewise.
4767597410b8Schristos	(elf_swap_ehdr_in, elf_swap_ehdr_out): Declare.
4768597410b8Schristos	(elf_swap_shdr_in, elf_swap_shdr_out): Declare.
4769597410b8Schristos	(elf_swap_symbol_in): Change second parameter to be const.
4770597410b8Schristos	(elf_swap_symbol_out): Likewise.
4771597410b8Schristos	(elf_swap_ehdr_in, elf_swap_ehdr_out): Likewise.
4772597410b8Schristos	(elf_swap_shdr_in, elf_swap_shdr_out): Likewise.
4773597410b8Schristos	(elf_swap_phdr_in, elf_swap_phdr_out): Likewise.
4774597410b8Schristos	(elf_swap_reloc_in, elf_swap_reloc_out): Likewise.
4775597410b8Schristos	(elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
4776597410b8Schristos	(elf_write_out_phdrs): Rename from write_out_phdrs.  Change second
4777597410b8Schristos	parameter to be const.  Make non-static.
4778597410b8Schristos	(elf_write_shdrs_and_ehdr): Rename from write_shdrs_and_ehdr.
4779597410b8Schristos	Make non-static.
4780597410b8Schristos	(elf_slurp_symbol_table): Make non-static.
4781597410b8Schristos	(NAME(_bfd_elf,size_info)): Update names of renamed functions.
4782597410b8Schristos	* elfxx-target.h (elf_info_to_howto): Define if not defined.
4783597410b8Schristos	(elf_backend_size_info): Likewise.
4784597410b8Schristos	(elfNN_bed): Use elf_backend_size_info.
4785597410b8Schristos	* targets.c (bfd_elf64_bigmips_vec): Declare.
4786597410b8Schristos	(bfd_elf64_littlemips_vec): Declare.
4787597410b8Schristos	(bfd_target_vector): Add bfd_elf64_bigmips_vec and
4788597410b8Schristos	bfd_elf64_littlemips_vec if BFD64 is defined.
4789597410b8Schristos
4790597410b8Schristos	* libbfd.c (bfd_get_file_window): Add cast to fprintf argument.
4791597410b8Schristos
4792597410b8SchristosTue May 28 11:42:08 1996  Ian Lance Taylor  <ian@cygnus.com>
4793597410b8Schristos
4794597410b8Schristos	* coff-sh.c (sh_relax_delete_bytes): Insert nop instructions, not
4795597410b8Schristos	zeroes, in alignment holes.
4796597410b8Schristos
4797597410b8Schristos	* configure: Rebuild with autoconf 2.10.
4798597410b8Schristos
4799597410b8Schristos	* aoutx.h (NAME(aout,find_nearest_line)): Make room for the
4800597410b8Schristos	potential leading underscore in the allocated buffer.
4801597410b8Schristos
4802597410b8SchristosFri May 24 14:28:38 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4803597410b8Schristos
4804597410b8Schristos	* elf32-ppc.c (ppc_elf_add_symbol_hook): Do not put small common
4805597410b8Schristos	symbols into .sbss if this is a relocatable link.
4806597410b8Schristos
4807597410b8SchristosThu May 23 12:26:24 1996  Ian Lance Taylor  <ian@cygnus.com>
4808597410b8Schristos
4809597410b8Schristos	* xcofflink.c (_bfd_ppc_xcoff_relocate_section): Warn about
4810597410b8Schristos	undefined symbols when creating a shared library.
4811597410b8Schristos
4812597410b8SchristosFri May 17 13:54:15 1996  Ian Lance Taylor  <ian@cygnus.com>
4813597410b8Schristos
4814597410b8Schristos	* coff-sh.c: Add a bunch of new code and static const arrays to
4815597410b8Schristos	support aligning loads and stores on four byte memory boundaries.
4816597410b8Schristos	Also:
4817597410b8Schristos	(sh_coff_howtos): Add entries for R_SH_CODE, R_SH_DATA and
4818597410b8Schristos	R_SH_LABEL.
4819597410b8Schristos	(sh_relax_section): Look for R_SH_CODE relocs.  If we find one,
4820597410b8Schristos	call sh_align_loads.
4821597410b8Schristos	(sh_relax_delete_bytes): Don't mark R_SH_CODE or R_SH_DATA relocs
4822597410b8Schristos	as unused.
4823597410b8Schristos
4824597410b8SchristosThu May 16 16:34:13 1996  Ian Lance Taylor  <ian@cygnus.com>
4825597410b8Schristos
4826597410b8Schristos	* cache.c (bfd_open_file): Unlink the file before opening it for
4827597410b8Schristos	write.  From Marty Leisner <leisner@sdsp.mc.xerox.com>.
4828597410b8Schristos
4829597410b8Schristos	* opncls.c (bfd_fdopenr): Set opened_once.
4830597410b8Schristos
4831597410b8SchristosTue May 14 12:35:32 1996  Ian Lance Taylor  <ian@cygnus.com>
4832597410b8Schristos
4833597410b8Schristos	* som.c (som_slurp_reloc_table): Clear external_relocs cache after
4834597410b8Schristos	freeing it.
4835597410b8Schristos
4836597410b8Schristos	* libbfd.c: Remove #ifdef FILE_OFFSET_IS_CHAR_INDEX, and compile
4837597410b8Schristos	the code unconditionally.
4838597410b8Schristos
4839597410b8SchristosMon May 13 19:51:37 1996  Ian Lance Taylor  <ian@cygnus.com>
4840597410b8Schristos
4841597410b8Schristos	* libcoff-in.h (struct pei_section_tdata): Define structure.
4842597410b8Schristos	(pei_section_data): Define macro.
4843597410b8Schristos	* libcoff.h: Rebuild.
4844597410b8Schristos	* coffcode.h (coff_set_alignment_hook): If COFF_IMAGE_WITH_PE,
4845597410b8Schristos	store s_paddr field in pei_section_data.
4846597410b8Schristos	(coff_compute_section_file_positions): Use pei_section_data rather
4847597410b8Schristos	than _cooked_size, and don't overwrite an existing value.
4848597410b8Schristos	(coff_write_object_contents): If COFF_OBJ_WITH_PE, set s_paddr to
4849597410b8Schristos	0.  If COFF_IMAGE_WITH_PE, set s_paddr to pei_section_data.
4850597410b8Schristos	* peicode.h (coff_bfd_copy_private_section_data): Define if
4851597410b8Schristos	COFF_IMAGE_WITH_PE.
4852597410b8Schristos 	(pe_bfd_copy_private_section_data): New static function if
4853597410b8Schristos	COFF_IMAGE_WITH_PE.
4854597410b8Schristos
4855597410b8SchristosWed May  8 16:10:38 1996  Ian Lance Taylor  <ian@cygnus.com>
4856597410b8Schristos
4857597410b8Schristos	* srec.c (srec_set_arch_mach): Write as a function rather than a
4858597410b8Schristos	macro definition.
4859597410b8Schristos
4860597410b8Schristos	* xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): If an archive has
4861597410b8Schristos	no map, just check each member in turn to see whether it is
4862597410b8Schristos	required.
4863597410b8Schristos
4864597410b8SchristosWed May  8 09:17:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4865597410b8Schristos
4866597410b8Schristos	* ppcboot.c (ppcboot_object_p): Check for type 0x41 in partition
4867597410b8Schristos	table.  Call BFD_ASSERT to validate header size, instead of
4868597410b8Schristos	calling fatal.
4869597410b8Schristos	(ppcboot_bfd_print_private_bfd_data): Put quotes around partition
4870597410b8Schristos	name.
4871597410b8Schristos
4872597410b8SchristosTue May  7 16:10:19 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4873597410b8Schristos
4874597410b8Schristos	* ppcboot.c: New target for looking at PPCbug boot records.
4875597410b8Schristos
4876597410b8Schristos	* config{ure.in,.bfd}: Add support for ppcboot target.
4877597410b8Schristos	* targets.c: Ditto.
4878597410b8Schristos	* configure: Regenerate.
4879597410b8Schristos
4880597410b8SchristosTue May  7 11:15:19 1996  Jeffrey A Law  (law@cygnus.com)
4881597410b8Schristos
4882597410b8Schristos	* coff-h8300.c (howto_table): Update names to match recent
4883597410b8Schristos	changes to include/coff/internal.h.  Fix minor errors in the
4884597410b8Schristos	existing relocs.  Add R_MOVL1 and R_MOVL2.
4885597410b8Schristos	(rtype2howto): Similarly.
4886597410b8Schristos	(h8300_reloc16_estimate): Rewrite to simplify, fix bugs in the
4887597410b8Schristos	existing relaxing code  and peform more relaxing.
4888597410b8Schristos	(h8300_reloc16_extra_cases): Likewise.
4889597410b8Schristos
4890597410b8SchristosMon May  6 18:24:09 1996  Jeffrey A Law  (law@cygnus.com)
4891597410b8Schristos
4892597410b8Schristos	* reloc16.c (bfd_coff_reloc16_get_value): Handle common
4893597410b8Schristos	symbols correctly.
4894597410b8Schristos
4895597410b8SchristosSat May  4 05:08:45 1996  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
4896597410b8Schristos
4897597410b8Schristos	* elfcode.h (elf_object_p):  Reject generic ELF target if
4898597410b8Schristos	e_machine matches an alternate machine code in a specific backend.
4899597410b8Schristos
4900597410b8Schristos	* netbsd-core.c (netbsd_core_vec):  Remove initializer for
4901597410b8Schristos	obsolete align_power_min field.
4902597410b8Schristos
4903597410b8SchristosFri May  3 13:07:35 1996  Jeffrey A Law  (law@cygnus.com)
4904597410b8Schristos
4905597410b8Schristos	* coff-h8300.c (reloc_howto_type): Add howto entry for
4906597410b8Schristos	R_PCRWORD_B.
4907597410b8Schristos	(rtype2howto): Handle R_PCRWORD_B.
4908597410b8Schristos	(h8300_reloc16_extra_cases): Handle R_PCRWORD_B.
4909597410b8Schristos	(h8300_reloc_16_estimate): Likewise.  Try to turn a 16bit
4910597410b8Schristos	pc-relative branch (R_PCRWORD) into an 8bit pc-relative
4911597410b8Schristos	branch (R_PCWORD_B).
4912597410b8Schristos
4913597410b8SchristosFri May  3 10:47:41 1996  Ian Lance Taylor  <ian@cygnus.com>
4914597410b8Schristos
4915597410b8Schristos	* aoutx.h (translate_from_native_sym_flags): Set the section for
4916597410b8Schristos	BSF_CONSTRUCTOR symbols.
4917597410b8Schristos
4918597410b8Schristos	* cofflink.c (_bfd_coff_link_input_bfd): Correct setting of
4919597410b8Schristos	last_bf_index.
4920597410b8Schristos
4921597410b8SchristosWed May  1 18:39:32 1996  Doug Evans  <dje@canuck.cygnus.com>
4922597410b8Schristos
4923597410b8Schristos	* coffcode.h (coff_write_object_contents): In comdat section lookup,
4924597410b8Schristos	stop looking when section is found.
4925597410b8Schristos
4926597410b8SchristosWed May  1 14:17:57 1996  Ian Lance Taylor  <ian@cygnus.com>
4927597410b8Schristos
4928597410b8Schristos	* coffcode.h (STRING_SIZE_SIZE): Define.
4929597410b8Schristos	(styp_to_sec_flags): Handle long symbol names when looking for the
4930597410b8Schristos	section symbol.
4931597410b8Schristos	(bfd_coff_backend_data): Add _bfd_coff_long_section_names field.
4932597410b8Schristos	(bfd_coff_long_section_names): Define.
4933597410b8Schristos	(coff_write_object_contents): Handle long section names.
4934597410b8Schristos	(bfd_coff_std_swap_table): Initialize new field.
4935597410b8Schristos	* libcoff.h: Rebuild.
4936597410b8Schristos	* coffgen.c (make_a_section_from_file): Handle long section
4937597410b8Schristos	names.
4938597410b8Schristos	(coff_write_symbols): Handle long section names.
4939597410b8Schristos	* coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
4940597410b8Schristos	* coff-mips.c (mips_ecoff_backend_data): Likewise.
4941597410b8Schristos	* pe-arm.c (COFF_LONG_SECTION_NAMES): Define.
4942597410b8Schristos	* pei-arm.c (COFF_LONG_SECTION_NAMES): Define.
4943597410b8Schristos	* pe-i386.c (COFF_LONG_SECTION_NAMES): Define.
4944597410b8Schristos	* pei-i386.c (COFF_LONG_SECTION_NAMES): Define.
4945597410b8Schristos	* pe-ppc.c (COFF_LONG_SECTION_NAMES): Define.
4946597410b8Schristos	* pei-ppc.c (COFF_LONG_SECTION_NAMES): Define.
4947597410b8Schristos
4948597410b8Schristos	* bout.c (b_out_callback): Set lma of sections.
4949597410b8Schristos	(b_out_bfd_get_relocated_section_contents): Rename in_abfd
4950597410b8Schristos	parameter to output_bfd.  Used input_bfd instead of output_bfd in
4951597410b8Schristos	several places.
4952597410b8Schristos
4953597410b8SchristosTue Apr 30 17:56:39 1996  Ian Lance Taylor  <ian@cygnus.com>
4954597410b8Schristos
4955597410b8Schristos	* aoutx.h (translate_from_native_sym_flags): Don't create
4956597410b8Schristos	SEC_CONSTRUCTOR sections.
4957597410b8Schristos	* ecoff.c (ecoff_set_symbol_info): Likewise.
4958597410b8Schristos
4959597410b8Schristos	* elf32-mips.c (mips_elf_copy_private_bfd_data): Copy elf_gp.
4960597410b8Schristos	From Don Bowman <bowman@waterloo.hp.com>.
4961597410b8Schristos
4962597410b8SchristosTue Apr 30 17:06:32 1996  Doug Evans  <dje@canuck.cygnus.com>
4963597410b8Schristos
4964597410b8Schristos	* coff-arm.c (armcoff_little_vec): If COFF_WITH_PE is defined, add
4965597410b8Schristos	SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
4966597410b8Schristos
4967597410b8SchristosMon Apr 29 13:15:17 1996  Ian Lance Taylor  <ian@cygnus.com>
4968597410b8Schristos
4969597410b8Schristos	* elf32-mips.c (struct mips_elf_link_hash_entry): Add
4970597410b8Schristos	mips_32_relocs field.
4971597410b8Schristos	(mips_elf_link_hash_newfunc): Initialize mips_32_relocs field.
4972597410b8Schristos	(mips_elf_relocate_section): Copy R_MIPS_REL32 and R_MIPS_32
4973597410b8Schristos	relocs against a global symbol which is not defined in a regular
4974597410b8Schristos	file.
4975597410b8Schristos	(mips_elf_check_relocs): For a R_MIPS_REL32 or R_MIPS_32 reloc
4976597410b8Schristos	against a global symbol, increment mips_32_relocs.
4977597410b8Schristos	(mips_elf_adjust_dynamic_symbol): If mips_32_relocs is set, and
4978597410b8Schristos	the symbol is not defined in a regular file, make room in the
4979597410b8Schristos	.rel.dyn section.
4980597410b8Schristos
4981597410b8SchristosFri Apr 26 18:00:37 1996  Ian Lance Taylor  <ian@cygnus.com>
4982597410b8Schristos
4983597410b8Schristos	* ecoff.c (ecoff_compute_section_file_positions): Track the real
4984597410b8Schristos	file position and the virtual file position separately.  Set
4985597410b8Schristos	filepos information bsaed on the real file position.
4986597410b8Schristos	(_bfd_ecoff_set_section_contents): Handle .lib sections like the
4987597410b8Schristos	Jan 23 change to coffcode.h.
4988597410b8Schristos
4989597410b8Schristos	* som.c (som_slurp_symbol_table): Set the symbol count to the
4990597410b8Schristos	number of BFD symbols created.
4991597410b8Schristos
4992597410b8SchristosFri Apr 26 12:34:29 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4993597410b8Schristos
4994597410b8Schristos	* elf32-ppc.c (ppc_elf_check_relocs): Forward relocations to the
4995597410b8Schristos	output file if linking shared objects.  Loop to check all relocs,
4996597410b8Schristos	rather than returning false on first error.
4997597410b8Schristos
4998597410b8SchristosThu Apr 25 13:25:12 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4999597410b8Schristos
5000597410b8Schristos	* elf32-ppc.c (ppc_elf_create_linker_section): Add PLT case.
5001597410b8Schristos	(ppc_elf_additional_program_headers): If .interp section, bump #
5002597410b8Schristos	of program headers by 1.
5003597410b8Schristos	(ppc_elf_adjust_dynamic_symbol): Flesh out support.
5004597410b8Schristos	(ppc_elf_size_dynamic_sections): Add support for .plt section.
5005597410b8Schristos	(ppc_elf_check_relocs): Print out filename in debug code.  Enable
5006597410b8Schristos	PLT support.
5007597410b8Schristos	(ppc_elf_finish_dynamic_symbol): Add support for PLT's, beef up
5008597410b8Schristos	debug output.
5009597410b8Schristos	(ppc_elf_relocate_section): If the output section isn't defined,
5010597410b8Schristos	don't abort, just give an error message.
5011597410b8Schristos
5012597410b8Schristos	* elflink.c (_bfd_elf_create_dynamic_sections): If the section
5013597410b8Schristos	being created is .sdata or .sdata2, don't make the symbol dynamic.
5014597410b8Schristos
5015597410b8SchristosWed Apr 24 14:04:07 1996  Ian Lance Taylor  <ian@cygnus.com>
5016597410b8Schristos
5017597410b8Schristos	* xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through the
5018597410b8Schristos	members of an archive for dynamic objects with no symbols, and
5019597410b8Schristos	pass them directly to check_archive_element.
5020597410b8Schristos	(xcoff_link_check_ar_symbols): Pass dynamic objects to
5021597410b8Schristos	xcoff_link_check_dynamic_ar_symbols.
5022597410b8Schristos	(xcoff_link_check_dynamic_ar_symbols): New static function.
5023597410b8Schristos
5024597410b8Schristos	* coff-rs6000.c (rs6000coff_vec): Change BFD_JUMP_TABLE_DYNAMIC
5025597410b8Schristos	from _bfd_nodynamic to _bfd_xcoff.
5026597410b8Schristos	* libcoff-in.h (_bfd_xcoff_get_dynamic_symtab_upper_bound):
5027597410b8Schristos	Declare.
5028597410b8Schristos	(_bfd_xcoff_canonicalize_dynamic_symtab): Declare.
5029597410b8Schristos	(_bfd_xcoff_get_dynamic_reloc_upper_bound): Declare.
5030597410b8Schristos	(_bfd_xcoff_canonicalize_dynamic_reloc): Declare.
5031597410b8Schristos	* libcoff.h: Rebuild.
5032597410b8Schristos	* xcofflink.c (xcoff_swap_ldrel_in): New static function.
5033597410b8Schristos	(xcoff_get_section_contents): New static function.
5034597410b8Schristos	(_bfd_xcoff_get_dynamic_symtab_upper_bound): New function.
5035597410b8Schristos	(_bfd_xcoff_canonicalize_dynamic_symtab): New function.
5036597410b8Schristos	(_bfd_xcoff_get_dynamic_reloc_upper_bound): New function.
5037597410b8Schristos	(xcoff_dynamic_reloc): New static variable.
5038597410b8Schristos	(_bfd_xcoff_canonicalize_dynamic_reloc): New function.
5039597410b8Schristos	(xcoff_link_add_dynamic_symbols): Use xcoff_get_section_contents.
5040597410b8Schristos
5041597410b8SchristosTue Apr 23 12:48:42 1996  Ian Lance Taylor  <ian@cygnus.com>
5042597410b8Schristos
5043597410b8Schristos	* coff-sparc.c (bfd_coff_generic_reloc): Return bfd_reloc_ok even
5044597410b8Schristos	if reloc_entry->addend is not 0.
5045597410b8Schristos	(CALC_ADDEND): Just set the addend to reloc.r_offset.
5046597410b8Schristos
5047597410b8SchristosMon Apr 22 18:29:01 1996  Doug Evans  <dje@canuck.cygnus.com>
5048597410b8Schristos
5049597410b8Schristos	* elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix spelling of
5050597410b8Schristos	R_SPARC_GLOB_JMP.
5051597410b8Schristos	* elf64-sparc.c (sparc64_elf_howto_table): Likewise.
5052597410b8Schristos	Add entries for R_SPARC_[56].
5053597410b8Schristos	(sparc_reloc_map): Add entries for R_SPARC_[56].
5054597410b8Schristos
5055597410b8SchristosMon Apr 22 15:07:24 1996  Ian Lance Taylor  <ian@cygnus.com>
5056597410b8Schristos
5057597410b8Schristos	Optimize linking of stabs in sections as used in ELF and COFF.
5058597410b8Schristos	* stabs.c: New file.
5059597410b8Schristos	* libbfd-in.h (_bfd_link_section_stabs): Declare.
5060597410b8Schristos	(_bfd_write_section_stabs): Declare.
5061597410b8Schristos	(_bfd_write_stab_strings): Declare.
5062597410b8Schristos	* libbfd.h: Rebuild.
5063597410b8Schristos	* libcoff-in.h (struct coff_section_tdata): Add stab_info field.
5064597410b8Schristos	(struct coff_link_hash_table): Add stab_info field.
5065597410b8Schristos	* libcoff.h: Rebuild.
5066597410b8Schristos	* cofflink.c (_bfd_coff_link_hash_table_init): Initialize
5067597410b8Schristos	stab_info field.
5068597410b8Schristos	(coff_link_add_symbols): Call _bfd_link_section_stabs if
5069597410b8Schristos	appropriate.
5070597410b8Schristos	(_bfd_coff_final_link): Write out stab strings hash table.
5071597410b8Schristos	(_bfd_coff_link_input_bfd): Handle optimized stabs sections.
5072597410b8Schristos	* coff-ppc.c (ppc_bfd_coff_final_link): Write out stab strings
5073597410b8Schristos	hash table.
5074597410b8Schristos	* elf-bfd.h (struct elf_link_hash_table): Add stab_info field.
5075597410b8Schristos	(struct bfd_elf_section_data): Add stab_info field.
5076597410b8Schristos	* elf.c (_bfd_elf_link_hash_table_init): Initialize stab_info
5077597410b8Schristos	field.
5078597410b8Schristos	* elflink.h (elf_link_add_object_symbols): If appropriate, call
5079597410b8Schristos	_bfd_link_section_stabs.
5080597410b8Schristos	(elf_bfd_final_link): Write out stab strings hash table.
5081597410b8Schristos	(elf_link_input_bfd): Handle optimized stabs sections.
5082597410b8Schristos	* reloc.c (_bfd_final_link_relocate): Check address against
5083597410b8Schristos	_raw_size rather than _cooked_size.
5084597410b8Schristos	* Makefile.in: Rebuild dependencies.
5085597410b8Schristos	(BFD_LIBS): Add stabs.o
5086597410b8Schristos	(BFD_LIBS_CFILES): Add stabs.c.
5087597410b8Schristos
5088597410b8Schristos	* VERSION: Increment for bfdlink.h change.
5089597410b8Schristos
5090597410b8Schristos	* coffgen.c (coff_renumber_symbols): Correct handling of
5091597410b8Schristos	BSF_NOT_AT_END common symbols.
5092597410b8Schristos
5093597410b8SchristosFri Apr 19 19:21:56 1996  Ian Lance Taylor  <ian@cygnus.com>
5094597410b8Schristos
5095597410b8Schristos	* coff-ppc.c (record_toc): Add cast to avoid warning.
5096597410b8Schristos	(ppc_allocate_toc_section): Likewise.
5097597410b8Schristos	(coff_ppc_relocate_section): Remove ANSI C string concatenation.
5098597410b8Schristos	(ppc_coff_reloc_type_lookup): Remove unreached code.
5099597410b8Schristos	* coffcode.h (coff_write_object_contents): Don't take the address
5100597410b8Schristos	of an array.
5101597410b8Schristos	* peicode.h (pe_print_idata): Add casts to avoid warning.
5102597410b8Schristos	(pe_print_edata): Likewise.
5103597410b8Schristos	(pe_print_reloc): Remove ANSI C string concatenation.
5104597410b8Schristos
5105597410b8SchristosThu Apr 18 18:51:18 1996  Ian Lance Taylor  <ian@cygnus.com>
5106597410b8Schristos
5107597410b8Schristos	* libcoff-in.h (struct coff_final_link_info): Add last_bf_index
5108597410b8Schristos	and last_bf fields.
5109597410b8Schristos	* libcoff.h: Rebuild.
5110597410b8Schristos	* coffswap.h (coff_swap_aux_in): Swap endndx field for C_FCN
5111597410b8Schristos	symbols.
5112597410b8Schristos	(coff_swap_aux_out): Likewise.
5113597410b8Schristos	* peicode.h (coff_swap_aux_in): Likewise.
5114597410b8Schristos	(coff_swap_aux_out): Likewise.
5115597410b8Schristos	* coffgen.c (coff_pointerize_aux): Check endndx field for C_FCN
5116597410b8Schristos	symbols.
5117597410b8Schristos	* cofflink.c (_bfd_coff_final_link): Initialize last_bf_index
5118597410b8Schristos	field.
5119597410b8Schristos	(_bfd_coff_link_input_bfd): Check endndx field for C_FCN symbols.
5120597410b8Schristos	Fix up .bf endndx link fields.
5121597410b8Schristos	* coff-ppc.c (ppc_bfd_coff_final_link): Initialize last_bf_index
5122597410b8Schristos	field.
5123597410b8Schristos	* xcofflink.c (xcoff_link_input_bfd): Check endndx field for C_FCN
5124597410b8Schristos	symbols.
5125597410b8Schristos
5126597410b8SchristosWed Apr 17 12:08:24 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5127597410b8Schristos
5128597410b8Schristos	* pe{,i}-ppc.c (PPC_PE): Define instead of PPC, so that compiling
5129597410b8Schristos	on Solaris PowerPC systems doesn't get confused.
5130597410b8Schristos
5131597410b8Schristos	* coffcode.h (coff_write_object_contents): Use #ifdef PPC_PE, not
5132597410b8Schristos	#ifdef PPC.
5133597410b8Schristos
5134597410b8Schristos	* elfcore.h (bfd_prstatus, bfd_fpregset): Add thread argument.
5135597410b8Schristos	(elf_corefile_note): If HAVE_SYS_PROCFS_H is not defined, don't
5136597410b8Schristos	update did_reg and did_reg2.
5137597410b8Schristos
5138597410b8SchristosWed Apr 17 13:07:37 1996  Ian Lance Taylor  <ian@cygnus.com>
5139597410b8Schristos
5140597410b8Schristos	* xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow.
5141597410b8Schristos
5142597410b8Schristos	* linker.c (_bfd_generic_link_add_one_symbol): When calling the
5143597410b8Schristos	callback routines, pass h->root.string rather than name, in case
5144597410b8Schristos	copy is true and name is transient.
5145597410b8Schristos
5146597410b8SchristosTue Apr 16 16:36:38 1996  Stu Grossman  (grossman@lisa.cygnus.com)
5147597410b8Schristos
5148597410b8Schristos	* elfcore.h:  Add support for core files with multiple threads.
5149597410b8Schristos	(Primarily for Solaris.)
5150597410b8Schristos
5151597410b8SchristosTue Apr 16 13:44:08 1996  Ian Lance Taylor  <ian@cygnus.com>
5152597410b8Schristos
5153597410b8Schristos	* aoutx.h (NAME(aout,squirt_out_relocs)): Don't do anything if
5154597410b8Schristos	section->orelocation is NULL.
5155597410b8Schristos
5156597410b8Schristos	* coffgen.c (bfd_coff_get_syment): New function.
5157597410b8Schristos	(bfd_coff_get_auxent): New function.
5158597410b8Schristos	* bfd-in.h (bfd_coff_get_syment): Declare.
5159597410b8Schristos	(bfd_coff_get_auxent): Declare.
5160597410b8Schristos	* bfd-in2.h: Rebuild.
5161597410b8Schristos
5162597410b8SchristosMon Apr 15 19:06:59 1996  Ian Lance Taylor  <ian@cygnus.com>
5163597410b8Schristos
5164597410b8Schristos	* elf32-mips.c (struct mips_hi16): Define.
5165597410b8Schristos	(mips_hi16_addr, mips_hi16_addend): Remove.
5166597410b8Schristos	(mips_hi16_list): New static variable.
5167597410b8Schristos	(mips_elf_hi16_reloc): Maintain a list of unmatched HI16 relocs.
5168597410b8Schristos	(mips_elf_lo16_reloc): Process mips_hi16_list.
5169597410b8Schristos	(mips_elf_relocate_section): Permit an arbitrary number of HI16
5170597410b8Schristos	relocs before the associated LO16 reloc.
5171597410b8Schristos
5172597410b8SchristosWed Apr 10 00:23:53 1996  Ian Lance Taylor  <ian@cygnus.com>
5173597410b8Schristos
5174597410b8Schristos	* versados.c (versados_scan): Check bfd_alloc return value.
5175597410b8Schristos	(versados_object_p): Check all bfd_read return values.  Require
5176597410b8Schristos	that lang field be less than 10, to avoid confusion with Intel Hex
5177597410b8Schristos	files.
5178597410b8Schristos
5179597410b8Schristos	* libaout.h (WRITE_HEADERS): Write out the relocs even if there
5180597410b8Schristos	aren't any symbols.
5181597410b8Schristos	* aoutx.h (NAME(aout,swap_std_reloc_out)): Set r_index to N_ABS,
5182597410b8Schristos	not 0, for an absolute symbol.
5183597410b8Schristos	(NAME(aout,swap_ext_reloc_out)): Likewise.
5184597410b8Schristos
5185597410b8Schristos	* ihex.c (ihex_scan): Accept a length of 4 for record type 5.
5186597410b8Schristos	(ihex_write_object_contents): For a large start address, output
5187597410b8Schristos	the full 32 bit address in record type 5.
5188597410b8Schristos
5189597410b8Schristos	* ieee.c (ieee_write_byte): Change second parameter from bfd_byte
5190597410b8Schristos	to int to avoid promotion problems in prototype.
5191597410b8Schristos
5192597410b8SchristosTue Apr  9 11:44:21 1996  Ian Lance Taylor  <ian@cygnus.com>
5193597410b8Schristos
5194597410b8Schristos	* configure.host: Use ${srcdir} when looking for picfrag.
5195597410b8Schristos
5196597410b8Schristos	* configure.host: Switch on ${libdir}, not $(libdir).  From
5197597410b8Schristos	alan@spri.levels.unisa.edu.au (Alan Modra).
5198597410b8Schristos
5199597410b8Schristos	* aoutx.h (aout_link_add_symbols): Always call add_dynamic_symbols
5200597410b8Schristos	entry point, not just for DYNAMIC objects.
5201597410b8Schristos	* sunos.c (sunos_add_dynamic_symbols): Always call
5202597410b8Schristos	sunos_create_dynamic_sections.  If called with a non DYNAMIC
5203597410b8Schristos	object, don't do anything else.
5204597410b8Schristos	(sunos_add_one_symbol): Don't call sunos_create_dynamic_sections.
5205597410b8Schristos
5206597410b8SchristosMon Apr  8 12:09:36 1996  Ian Lance Taylor  <ian@cygnus.com>
5207597410b8Schristos
5208597410b8Schristos	* configure.in: Permit --enable-shared to specify a list of
5209597410b8Schristos	directories.
5210597410b8Schristos	* configure: Rebuild.
5211597410b8Schristos
5212597410b8Schristos	* configure.host: Set HLDFLAGS and SHLIB_CFLAGS for *-dec-osf*
5213597410b8Schristos	host when configuring with --enable-shard.
5214597410b8Schristos
5215597410b8SchristosFri Apr  5 12:24:13 1996  Ian Lance Taylor  <ian@cygnus.com>
5216597410b8Schristos
5217597410b8Schristos	* config.bfd: Add i[345]86-*-freebsdelf* target; from John Polstra
5218597410b8Schristos	<jdp@polstra.com>.
5219597410b8Schristos
5220597410b8Schristos	* linker.c (link_action): For WARN_ROW/warn, use MWARN, not CYCLE,
5221597410b8Schristos	to avoid crashing in bfd_hash_replace.
5222597410b8Schristos
5223597410b8Schristos	* sysdep.h: Use #ifdef, not #if.
5224597410b8Schristos
5225597410b8SchristosThu Apr  4 23:32:23 1996  Ian Lance Taylor  <ian@cygnus.com>
5226597410b8Schristos
5227597410b8Schristos	* config.in: Rebuild.
5228597410b8Schristos
5229597410b8SchristosThu Apr  4 18:49:09 1996  Fred Fish  <fnf@cygnus.com>
5230597410b8Schristos
5231597410b8Schristos	* configure.in (mips-sony-bsd*): Fix typo in AC_DEFINE.
5232597410b8Schristos	(AC_CHECK_HEADERS): Check for sys/time.h
5233597410b8Schristos	(AC_HEADER_TIME): Add macro.
5234597410b8Schristos	* configure: Rebuild.
5235597410b8Schristos	* sysdep.h: Use TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H
5236597410b8Schristos	to control what combination of <time> and <sys/time.h>
5237597410b8Schristos	get included.
5238597410b8Schristos
5239597410b8SchristosTue Apr  2 13:11:53 1996  Doug Evans  <dje@canuck.cygnus.com>
5240597410b8Schristos
5241597410b8Schristos	* aoutf1.h (sunos_32_set_arch_mach): Handle M_SPARCLET.
5242597410b8Schristos	(aout_32_sunos4_write_object_contents): Likewise.
5243597410b8Schristos	* aoutx.h (NAME(aout,machine_type)): Handle
5244597410b8Schristos	bfd_mach_sparc_{sparclet,sparclite}.
5245597410b8Schristos	* archures.c (bfd_mach_sparc_{sparclet,sparclite}): Define.
5246597410b8Schristos	(bfd_mach_sparc_v9_p): Update.
5247597410b8Schristos	* cpu-sparc.c (arch_info_struct): Add entries for sparclet,sparclite.
5248597410b8Schristos	* libaout.h (enum machine_type): Add M_SPARCLET.
5249597410b8Schristos	* sunos.c (MACHTYPE_OK): Define.
5250597410b8Schristos	* bfd-in2.h: Regenerated.
5251597410b8Schristos
5252597410b8SchristosTue Apr  2 00:33:18 1996  Ian Lance Taylor  <ian@cygnus.com>
5253597410b8Schristos
5254597410b8Schristos	* elf-bfd.h (struct elf_link_hash_table): Add hgot field.
5255597410b8Schristos	* elf.c (_bfd_elf_link_hash_table_init): Initialize hgot field.
5256597410b8Schristos	* elflink.c (_bfd_elf_create_got_section): Store the
5257597410b8Schristos	_GLOBAL_OFFSET_TABLE_ hash table entry in the hgot field.
5258597410b8Schristos	* elf32-sparc.c (elf32_sparc_check_relocs): If the size of the
5259597410b8Schristos	global offset table goes over 0x1000, set the value of
5260597410b8Schristos	_GLOBAL_OFFSET_TABLE_ to 0x1000 into the section.
5261597410b8Schristos	(elf32_sparc_relocate_section): Subtract the offset of
5262597410b8Schristos	_GLOBAL_OFFSET_TABLE_ when handling GOT relocations.
5263597410b8Schristos
5264597410b8Schristos	* elfcode.h: Don't include <string.h>.
5265597410b8Schristos
5266597410b8SchristosMon Apr  1 10:39:24 1996  Jeffrey A Law  (law@cygnus.com)
5267597410b8Schristos
5268597410b8Schristos	* linker.c (_bfd_generic_link_hash_newfunc): Renamed from
5269597410b8Schristos	generic_link_hash_newfunc.  All references changed.
5270597410b8Schristos	* genlink.h (_bfd_generic_link_hash_newfunc): Declaration
5271597410b8Schristos	moved here from libbfd-in.h.
5272597410b8Schristos	* libbfd-in.h: Corresponding changes.
5273597410b8Schristos	* libbfd.h: Regenerated.
5274597410b8Schristos
5275597410b8SchristosMon Apr  1 12:35:36 1996  Ian Lance Taylor  <ian@cygnus.com>
5276597410b8Schristos
5277597410b8Schristos	* aoutx.h (aout_link_input_section_std): When reporting an
5278597410b8Schristos	overflow error, use the name of the symbol in the hash table if
5279597410b8Schristos	available.
5280597410b8Schristos	(aout_link_input_section_ext): Likewise.
5281597410b8Schristos
5282597410b8Schristos	* elflink.h (elf_adjust_dynamic_symbol): If a common symbol got
5283597410b8Schristos	defined in a regular file, set ELF_LINK_HASH_DEF_REGULAR.
5284597410b8Schristos
5285597410b8SchristosSun Mar 31 01:58:41 1996  steve chamberlain  <sac@slash.cygnus.com>
5286597410b8Schristos
5287597410b8Schristos	* peicode.h (coff_swap_aouthdr_out): Delete test for .junk.
5288597410b8Schristos	* coffcode.h (coff_compute_section_file_positions): Likewise.
5289597410b8Schristos	(coff_write_object_contents): Likewise.
5290597410b8Schristos
5291597410b8SchristosFri Mar 29 12:44:36 1996  Ian Lance Taylor  <ian@cygnus.com>
5292597410b8Schristos
5293597410b8Schristos	* section.c (SEC_LINK_ONCE): Define.
5294597410b8Schristos	(SEC_LINK_DUPLICATES): Define.
5295597410b8Schristos	(SEC_LINK_DUPLICATES_DISCARD): Define.
5296597410b8Schristos	(SEC_LINK_DUPLICATES_ONE_ONLY): Define.
5297597410b8Schristos	(SEC_LINK_DUPLICATES_SAME_SIZE): Define.
5298597410b8Schristos	(SEC_LINK_DUPLICATES_SAME_CONTENTS): Define.
5299597410b8Schristos	* bfd-in2.h: Rebuild.
5300597410b8Schristos	* coffcode.h (sec_to_styp_flags): If COFF_WITH_PE, turn
5301597410b8Schristos	SEC_LINK_ONCE into IMAGE_SCN_LNK_COMDAT.
5302597410b8Schristos	(styp_to_sec_flags): If COFF_WITH_PE, turn IMAGE_SCN_LNK_REMOVE
5303597410b8Schristos	into SEC_EXCLUDE.  If IMAGE_SCN_LNK_COMDAT is set, set
5304597410b8Schristos	SEC_LINK_ONCE, and look through the symbol table for the setting
5305597410b8Schristos	for SEC_LINK_DUPLICATES.
5306597410b8Schristos	(coff_write_object_contents): If COFF_WITH_PE, if SEC_LINK_ONCE is
5307597410b8Schristos	set for a section, find the section symbol in the symbol table,
5308597410b8Schristos	and set the aux entry based on SEC_LINK_DUPLICATES.
5309597410b8Schristos	* coffgen.c (coff_print_symbol): Add a space before "checksum".
5310597410b8Schristos	* coff-arm.c (armcoff_big_vec): If COFF_WITH_PE is defined, add
5311597410b8Schristos	SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
5312597410b8Schristos	* coff-i386.c (i386coff_vec): Likewise.
5313597410b8Schristos	* coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
5314597410b8Schristos
5315597410b8Schristos	* VERSION: Bump to 2.6.1.
5316597410b8Schristos	* Makefile.in (stamp-h): Depend upon VERSION.
5317597410b8Schristos
5318597410b8SchristosThu Mar 28 23:48:49 1996  Jeffrey A Law  (law@cygnus.com)
5319597410b8Schristos
5320597410b8Schristos	* libbfd-in.h (generic_link_hash_newfunc): Add declaration.
5321597410b8Schristos	* libbfd.h: Rebuilt.
5322597410b8Schristos	* linker.c (generic_link_hash_newfunc): No longer static.
5323597410b8Schristos	* coffcode.h (coff_bfd_link_hash_create): Allow specific targets
5324597410b8Schristos	to override.
5325597410b8Schristos	* coff-h8300.c: Add two derived hash tables and their associated
5326597410b8Schristos	funtions and #defines for use by the h8300 linker.
5327597410b8Schristos	(h8300_reloc16_extra_cases, case R_MEM_INDIRECT): Create entries in
5328597410b8Schristos	the function vector as needed.  Place the address of the function
5329597410b8Schristos	vector entry in the location specified by the R_MEM_INDIRECT reloc.
5330597410b8Schristos	Rewrite the vectors section contents as necessary.
5331597410b8Schristos	(h8300_bfd_link_add_symbols): New function for the h8300 linker.
5332597410b8Schristos	(coff_bfd_link_add_symbols): Define to use h8300 specific version.
5333597410b8Schristos	(coff_bfd_link_hash_table_create): Likewise.
5334597410b8Schristos
5335597410b8SchristosThu Mar 28 17:44:08 1996  Ian Lance Taylor  <ian@cygnus.com>
5336597410b8Schristos
5337597410b8Schristos	* libhppa.h: If gcc 2.7 or higher, declare all the functions with
5338597410b8Schristos	__attribute__ ((__unused__)) so that -Wall doesn't warn about
5339597410b8Schristos	them.
5340597410b8Schristos	(hppa_rebuild_insn): Pass pointer to correct type to
5341597410b8Schristos	low_sign_unext and dis_assemble_21.
5342597410b8Schristos
5343597410b8SchristosThu Mar 28 11:00:36 1996  Doug Evans  <dje@canuck.cygnus.com>
5344597410b8Schristos
5345597410b8Schristos	* config.bfd (sparc64-{sysv4*,solaris2*}): Delete.
5346597410b8Schristos	Stick with sparc-*-{sysv4*,solaris2*}.
5347597410b8Schristos
5348597410b8SchristosWed Mar 27 10:43:34 1996  Ian Lance Taylor  <ian@cygnus.com>
5349597410b8Schristos
5350597410b8Schristos	* peicode.h (coff_swap_aux_in): Swap in extra PE x_scn fields.
5351597410b8Schristos	(coff_swap_aux_out): Swap out extra PE x_scn fields.
5352597410b8Schristos	* coffswap.h (coff_swap_aux_in): Zero out extra PE x_scn fields.
5353597410b8Schristos	* coffgen.c (coff_print_symbol): If any of the extra PE x_scn
5354597410b8Schristos	fields is non-zero, print them.
5355597410b8Schristos
5356597410b8Schristos	* coff-ppc.c (ppc_record_toc_entry): Put inside COFF_IMAGE_WITH_PE
5357597410b8Schristos	ifdef.  Remove unused variables.
5358597410b8Schristos	(ppc_record_data_in_toc_entry): Ifdef out.  Removed unused
5359597410b8Schristos	variables.
5360597410b8Schristos	(ppc_mark_symbol_as_glue): Put inside COFF_IMAGE_WITH_PE ifdef.
5361597410b8Schristos	(get_symbol_value): Ifdef out.
5362597410b8Schristos	(pe_ppc_reloc): Ifdef out.  Remove unused variables.
5363597410b8Schristos	(coff_ppc_relocate_section): Remove unused variables.  Make
5364597410b8Schristos	fprintf strings and argument types correspond.  Put before_addr in
5365597410b8Schristos	DEBUG_RELOC ifdef.
5366597410b8Schristos	(dump_toc): Make fprintf strings and argument types correspond.
5367597410b8Schristos	(ppc_process_before_allocation): Remove unused variables.  Always
5368597410b8Schristos	return a value.
5369597410b8Schristos	(ppc_reflo_reloc): Ifdef out.
5370597410b8Schristos	(ppc_addr32nb_reloc): Ifdef out.
5371597410b8Schristos	(ppc_coff_rtype2howto): Make fprintf strings and argument types
5372597410b8Schristos	correspond.
5373597410b8Schristos	(coff_ppc_rtype_to_howto): Likewise.
5374597410b8Schristos	(ppc_coff_swap_sym_in_hook): Remove unused variables.
5375597410b8Schristos
5376597410b8Schristos	* peicode.h (pe_print_idata): Move otherwise unused variables into
5377597410b8Schristos	the #ifdef where they are used.  Always return a value.
5378597410b8Schristos	(pe_print_edata): Make fprintf strings and argument types
5379597410b8Schristos	correspond.  Always return a value.
5380597410b8Schristos	(pe_print_pdata): Removed unused variable addr_value.  Always
5381597410b8Schristos	return a value.
5382597410b8Schristos	(pe_print_reloc): Remove unused variable onaline.  Make fprintf
5383597410b8Schristos	strings and argument types correspond.  Always return a value.
5384597410b8Schristos
5385597410b8Schristos	* elf32-ppc.c (ppc_elf_fake_sections): Return true.
5386597410b8Schristos	(ppc_elf_finish_dynamic_symbol): Move definition of unused
5387597410b8Schristos	variable rela inside #if 0 section where it is used.
5388597410b8Schristos
5389597410b8Schristos	* ns32k.h: New file.
5390597410b8Schristos	* cpu-ns32k.h: Include ns32k.h.  Rename externally visible
5391597410b8Schristos	functions to start with _bfd_.
5392597410b8Schristos	* aout-ns32k.c: Include ns32k.h.  Change references to renamed
5393597410b8Schristos	functions in cpu-ns32k.h.
5394597410b8Schristos	* Makefile.in: Rebuild dependencies.
5395597410b8Schristos	(HFILES): Add ns32k.h.
5396597410b8Schristos
5397597410b8Schristos	* section.c (struct sec): Add linker_mark field.  Change
5398597410b8Schristos	user_set_vma and reloc_done to be single bit fields.
5399597410b8Schristos	(STD_SECTION): Update accordingly.
5400597410b8Schristos	* bfd-in2.h: Rebuild.
5401597410b8Schristos	* aoutx.h (NAME(aout,final_link)): Mark sections included in the
5402597410b8Schristos	link.
5403597410b8Schristos	(aout_link_input_bfd): Don't link unmarked sections.
5404597410b8Schristos	* cofflink.c (_bfd_coff_final_link): Mark sections included in the
5405597410b8Schristos	link.
5406597410b8Schristos	(_bfd_coff_link_input_bfd): Don't link unmarked sections.
5407597410b8Schristos	* coff-ppc.c (ppc_bfd_coff_final_link): Mark sections included in
5408597410b8Schristos	the link.
5409597410b8Schristos	* elflink.h (elf_bfd_final_link): Mark sections included in the
5410597410b8Schristos	link.
5411597410b8Schristos	(elf_link_input_bfd): Don't link unmarked sections.
5412597410b8Schristos	* xcofflink.c (_bfd_xcoff_bfd_final_link): Mark sections included
5413597410b8Schristos	in the link.
5414597410b8Schristos	(xcoff_link_input_bfd): Don't link unmarked sections.
5415597410b8Schristos
5416597410b8Schristos	* coffswap.h (coff_swap_scnhdr_out): Include section name in
5417597410b8Schristos	overflow error messages.
5418597410b8Schristos
5419597410b8SchristosTue Mar 26 15:46:18 1996  Ian Lance Taylor  <ian@cygnus.com>
5420597410b8Schristos
5421597410b8Schristos	* bfd.c (_bfd_default_error_handler): If _bfd_error_program_name
5422597410b8Schristos	is not set, print "BFD: " before the error message.
5423597410b8Schristos
5424597410b8Schristos	* configure.in: Use AC_CHECK_TOOL to find ar and ranlib.  From
5425597410b8Schristos	Miles Bader <miles@gnu.ai.mit.edu>.
5426597410b8Schristos	* configure: Rebuild.
5427597410b8Schristos
5428597410b8SchristosFri Mar 22 12:17:00 1996  Ian Lance Taylor  <ian@cygnus.com>
5429597410b8Schristos
5430597410b8Schristos	* xcofflink.c (xcoff_link_input_bfd): Fix scan for C_BINCL/C_EINCL
5431597410b8Schristos	symbols.
5432597410b8Schristos
5433597410b8Schristos	* config.bfd: Add ieee_vec to targ_selvecs for i960 targets and
5434597410b8Schristos	m68k-aout, m68k-coff, and m68k-elf targets.
5435597410b8Schristos
5436597410b8SchristosFri Mar 22 11:33:44 1996  Martin Anantharaman  <martin@goofy.imech.uni-duisburg.de>
5437597410b8Schristos
5438597410b8Schristos	* ieee.c: Changed #ifdef KEEPMINUSPCININST to #if KEEPMINUSPCININST.
5439597410b8Schristos	(ieee_generic_stat_arch_elt): Restructured to prevent
5440597410b8Schristos	ieee_object_p from being called repeatedly.
5441597410b8Schristos
5442597410b8SchristosThu Mar 21 11:00:47 1996  steve chamberlain  <sac@slash.cygnus.com>
5443597410b8Schristos
5444597410b8Schristos	* coffcode.h (coff_write_object_contents):  Allocate
5445597410b8Schristos	buffers large enough for any FILEHDR or AOUTHDR.
5446597410b8Schristos
5447597410b8SchristosThu Mar 21 16:28:17 1996  David Mosberger-Tang  <davidm@azstarnet.com>
5448597410b8Schristos
5449597410b8Schristos	* ecofflink.c (lookup_line): New static function, renamed and
5450597410b8Schristos	slighly changed from old _bfd_ecoff_locate_line.
5451597410b8Schristos	(_bfd_ecoff_locate_line): Cache line number information.  Use
5452597410b8Schristos	lookup_line for actual lookup.
5453597410b8Schristos
5454597410b8SchristosThu Mar 21 14:59:11 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5455597410b8Schristos
5456597410b8Schristos	* peicode.h (pe_print_pdata): Warn if the .pdata section is not a
5457597410b8Schristos	multiple of 20 bytes.
5458597410b8Schristos
5459597410b8SchristosThu Mar 21 13:54:40 1996  Ian Lance Taylor  <ian@cygnus.com>
5460597410b8Schristos
5461597410b8Schristos	* ecoff.c (_bfd_ecoff_find_nearest_line): Use bfd_zalloc to
5462597410b8Schristos	allocate ecoff_find_line, and don't initialize by hand.
5463597410b8Schristos	* elf32-mips.c (mips_elf_find_nearest_line): Use bfd_zalloc for
5464597410b8Schristos	mips_elf_find_line, and don't call memset.
5465597410b8Schristos
5466597410b8Schristos	* coffcode.h (coff_compute_section_file_positions): If not
5467597410b8Schristos	producing a final executable, don't consider sofar when aligning
5468597410b8Schristos	the section to the correct size.
5469597410b8Schristos
5470597410b8SchristosWed Mar 20 16:53:12 1996  Ian Lance Taylor  <ian@cygnus.com>
5471597410b8Schristos
5472597410b8Schristos	* coffcode.h (coff_add_missing_symbols): Ifdef out.
5473597410b8Schristos	(coff_write_object_contents): Don't call coff_add_missing_symbols.
5474597410b8Schristos	* coffgen.c (coff_section_symbol): Ifdef out.
5475597410b8Schristos
5476597410b8SchristosMon Mar 18 12:54:41 1996  Ian Lance Taylor  <ian@cygnus.com>
5477597410b8Schristos
5478597410b8Schristos	* elf32-mips.c (mips_elf_gprel32_reloc): Initialize gp if
5479597410b8Schristos	output_bfd is not NULL.
5480597410b8Schristos
5481597410b8SchristosThu Mar 14 17:12:06 1996  Doug Evans  <dje@charmed.cygnus.com>
5482597410b8Schristos
5483597410b8Schristos	* coffgen.c (coff_get_normalized_symtab): Call bfd_zalloc instead
5484597410b8Schristos	of bfd_alloc (fixes fix_line not being initialized).
5485597410b8Schristos	Delete zeroing of fix_{value,tag,end,scnlen} fields.
5486597410b8Schristos
5487597410b8SchristosThu Mar 14 16:06:06 1996  Jeffrey A Law  (law@cygnus.com)
5488597410b8Schristos
5489597410b8Schristos	* coffcode.h: Allow specific backends to override the
5490597410b8Schristos	bfd_link_add_symbols routine.
5491597410b8Schristos
5492597410b8Schristos	* coff-h8300.c: Include genlink.h.
5493597410b8Schristos	(howto_table): Add R_MEM_INDIRECT.
5494597410b8Schristos	(rtype2howto): Support R_MEM_INDIRECT.
5495597410b8Schristos	(h8300_reloc16_extra_cases): Handle R_MEM_INDIRECT like R_RELBYTE
5496597410b8Schristos	for now.
5497597410b8Schristos
5498597410b8SchristosTue Mar 12 12:41:17 1996  David Mosberger-Tang  <davidm@koala.azstarnet.com>
5499597410b8Schristos
5500597410b8Schristos	* coff-alpha.c (alpha_relocate_section): Use
5501597410b8Schristos	info->callbacks_warning, rather than _bfd_error_handler, for
5502597410b8Schristos	"multiple gp" warning.
5503597410b8Schristos
5504597410b8SchristosTue Mar 12 12:10:55 1996  Ian Lance Taylor  <ian@cygnus.com>
5505597410b8Schristos
5506597410b8Schristos	* linker.c (bfd_wrapped_link_hash_lookup): New function.
5507597410b8Schristos	(_bfd_generic_link_add_one_symbol): Remove BFD_ASSERT on hash
5508597410b8Schristos	table string.  Use bfd_wrapped_link_hash_lookup.
5509597410b8Schristos	(_bfd_generic_link_write_global_symbol): Remove BFD_ASSERT on hash
5510597410b8Schristos	table string.
5511597410b8Schristos	* aoutx.h (aout_link_write_symbols): Use the name from the hash
5512597410b8Schristos	table, if any, when writing out symbols.
5513597410b8Schristos	(aout_link_input_section_std): Use the name from the hash table,
5514597410b8Schristos	if any, when reporting undefined symbols.
5515597410b8Schristos	(aout_link_input_section_ext): Likewise.
5516597410b8Schristos	(aout_link_reloc_link_order): Use bfd_wrapped_link_hash_lookup.
5517597410b8Schristos	* bout.c (get_value): Likewise.
5518597410b8Schristos	* cofflink.c (_bfd_coff_reloc_link_order): Likewise.
5519597410b8Schristos	* ecoff.c (ecoff_reloc_link_order): Likewise.
5520597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Likewise.
5521597410b8Schristos	(elf_reloc_link_order): Likewise.
5522597410b8Schristos	* linker.c (_bfd_generic_link_output_symbols): Likewise.
5523597410b8Schristos	(_bfd_generic_reloc_link_order): Likewise.
5524597410b8Schristos	(default_indirect_link_order): Likewise.
5525597410b8Schristos	* reloc16.c (bfd_coff_reloc16_get_value): Likewise.
5526597410b8Schristos	* sunos.c (sunos_add_one_symbol): Likewise.
5527597410b8Schristos	* xcofflink.c (xcoff_link_add_symbols): Likewise.
5528597410b8Schristos	(bfd_xcoff_link_count_reloc): Likewise.
5529597410b8Schristos	(xcoff_reloc_link_order): Likewise.
5530597410b8Schristos
5531597410b8Schristos	* ecoffswap.h (ecoff_swap_fdr_in): If ECOFF_64, turn 0xffffffff
5532597410b8Schristos	into -1 for intern->rss.
5533597410b8Schristos
5534597410b8Schristos	* configure: Rebuild with autoconf 2.8.
5535597410b8Schristos
5536597410b8SchristosMon Mar 11 12:28:31 1996  Ian Lance Taylor  <ian@cygnus.com>
5537597410b8Schristos
5538597410b8Schristos	* stab-syms.c (__define_stab_duplicate): Define.
5539597410b8Schristos	(bfd_get_stab_name): Rename from aout_stab_name.  Rewrite to use a
5540597410b8Schristos	switch.
5541597410b8Schristos	* bfd-in.h (bfd_get_stab_name): Declare.
5542597410b8Schristos	* bfd-in2.h: Rebuild.
5543597410b8Schristos	* Makefile.in: Rebuild dependencies.
5544597410b8Schristos	(BFD_LIBS): Add stab-syms.o.
5545597410b8Schristos	(BFD_LIBS_CFILES): Add stab-syms.c.
5546597410b8Schristos	(BFD32_BACKENDS): Remove stab-syms.o.
5547597410b8Schristos	(BFD32_BACKENDS_CFILES): Remove stab-syms.c.
5548597410b8Schristos	* configure.in: Don't list stab-syms.o in bfd_backends.
5549597410b8Schristos	* configure: Rebuild.
5550597410b8Schristos	* libaout.h (aout_stab_name): Don't declare.
5551597410b8Schristos	* aoutx.h (NAME(aout,get_symbol_info)): Call bfd_get_stab_name,
5552597410b8Schristos	not aout_stab_name.
5553597410b8Schristos
5554597410b8SchristosFri Mar  8 11:26:20 1996  Ian Lance Taylor  <ian@cygnus.com>
5555597410b8Schristos
5556597410b8Schristos	* elf.c (assign_file_positions_for_segments): Adjust file offset
5557597410b8Schristos	for section alignment even if SEC_LOAD is not set.
5558597410b8Schristos
5559597410b8SchristosTue Mar  5 12:02:23 1996  Ian Lance Taylor  <ian@cygnus.com>
5560597410b8Schristos
5561597410b8Schristos	* configure.in: Don't set SHLIB or SHLINK to an empty string,
5562597410b8Schristos	since they appear as targets in Makefile.in.
5563597410b8Schristos	* configure: Rebuild.
5564597410b8Schristos
5565597410b8Schristos	* sunos.c (sunos_scan_ext_relocs): If not making a shared library,
5566597410b8Schristos	don't fiddle with a symbol which is not defined anywhere.
5567597410b8Schristos
5568597410b8SchristosMon Mar  4 12:49:16 1996  Ian Lance Taylor  <ian@cygnus.com>
5569597410b8Schristos
5570597410b8Schristos	* xcofflink.c (xcoff_mark): Treat undefined imported symbols as
5571597410b8Schristos	though they are defined in a shared library.
5572597410b8Schristos	(xcoff_build_ldsyms): Likewise.
5573597410b8Schristos
5574597410b8Schristos	* coffgen.c (coff_find_nearest_line): Don't look at the line
5575597410b8Schristos	numbers for the section if section->lineno is NULL.
5576597410b8Schristos
5577597410b8Schristos	* elf.c (_bfd_elf_symbol_from_bfd_symbol): Print a useful error
5578597410b8Schristos	message rather than calling BFD_ASSERT.
5579597410b8Schristos	* elfcode.h (write_relocs): Check return value of
5580597410b8Schristos	_bfd_elf_symbol_from_bfd_symbol.
5581597410b8Schristos
5582597410b8SchristosFri Mar  1 09:42:59 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5583597410b8Schristos
5584597410b8Schristos	* elf32-ppc.c (ppc_elf_add_symbol_hook): Don't set SEC_LOAD flag
5585597410b8Schristos	for .sbss section.
5586597410b8Schristos
5587597410b8SchristosWed Feb 28 11:25:47 1996  Jeffrey A Law  (law@cygnus.com)
5588597410b8Schristos
5589597410b8Schristos	* libhppa.h (hppa_reloc_field_selector_type): Add R_HPPA_NLSEL
5590597410b8Schristos	and R_HPPA_NLRSEL.
5591597410b8Schristos	(e_nsel, e_nlsel, e_nlrsel): Undefine.  Add to
5592597410b8Schristos	hppa_reloc_field_selector_type_alt.
5593597410b8Schristos	(hppa_field_adjust): Handle e_nlsel, e_nlrsel.  Fix e_nsel handling.
5594597410b8Schristos	* som.c (hppa_som_gen_reloc_type): Handle N', NL' NLR' field
5595597410b8Schristos	selectors.
5596597410b8Schristos	(som_write_fixups): Finish handling of R_N0SEL and R_N1SEL.
5597597410b8Schristos
5598597410b8SchristosWed Feb 28 11:00:24 1996  Ian Lance Taylor  <ian@cygnus.com>
5599597410b8Schristos
5600597410b8Schristos	* elf.c (assign_file_positions_for_segments): Adjust the segment
5601597410b8Schristos	memory size for the alignment of a SEC_ALLOC section, not just a
5602597410b8Schristos	SEC_LOAD section.
5603597410b8Schristos
5604597410b8SchristosTue Feb 27 14:17:31 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5605597410b8Schristos
5606597410b8Schristos	* m68klinux.c: New file.
5607597410b8Schristos	* hosts/m68klinux.h: New file.
5608597410b8Schristos	* config.bfd (m68*-*-linuxaout*, m68*-*-linux*): New targets.
5609597410b8Schristos	* configure.in (m68*-*-linux*): New native host.
5610597410b8Schristos	(m68klinux_vec): New vector.
5611597410b8Schristos	* configure: Rebuild.
5612597410b8Schristos	* targets.c (m68klinux_vec): Declare.
5613597410b8Schristos	* i386linux.c (bfd_i386linux_size_dynamic_sections): Renamed from
5614597410b8Schristos	bfd_linux_size_dynmic_sections to avoid clash with m68klinux.c.
5615597410b8Schristos	* bfd-in.h (bfd_i386linux_size_dynamic_sections): Rename
5616597410b8Schristos	declaration from bfd_linux_size_dynamic_sections.
5617597410b8Schristos	(bfd_m68klinux_size_dynamic_sections): Declare.
5618597410b8Schristos	* bfd-in2.h: Rebuild.
5619597410b8Schristos	* Makefile.in: Rebuild dependencies.
5620597410b8Schristos	(BFD32_BACKENDS): Add m68klinux.o.
5621597410b8Schristos	(BFD32_BACKENDS_CFILES): Add m68klinux.c.
5622597410b8Schristos
5623597410b8SchristosTue Feb 27 11:31:34 1996  Jeffrey A Law  (law@cygnus.com)
5624597410b8Schristos
5625597410b8Schristos	* libhppa.h (pa_arch): Add pa20.
5626597410b8Schristos	(hppa_reloc_field_selector_type): Add R_HPPA_NSEL.
5627597410b8Schristos	(e_nsel): Undefine.  Add to hppa_reloc_field_selector_type_alt.
5628597410b8Schristos	(hppa_field_adjust): Handle e_nsel.
5629597410b8Schristos	* som.c: Provide default definitions for many new relocs found only
5630597410b8Schristos	in hpux10 include files.
5631597410b8Schristos	(som_fixup_formats): Add several new relocs from hpux10.
5632597410b8Schristos	(som_hppa_howto_table): Add hpux10 relocs.
5633597410b8Schristos	(som_write_fixups): Handle R_N0SEL and R_N1SEL hpux10 relocs.
5634597410b8Schristos
5635597410b8SchristosMon Feb 26 12:52:48 1996  Stan Shebs  <shebs@andros.cygnus.com>
5636597410b8Schristos
5637597410b8Schristos	* mpw-make.sed: Edit out recent shared library support, and
5638597410b8Schristos	rules to rebuild .h files using doc/chew.
5639597410b8Schristos
5640597410b8SchristosMon Feb 26 14:48:39 1996  David Mosberger-Tang  <davidm@AZStarNet.com>
5641597410b8Schristos
5642597410b8Schristos	* ecoff.c (ecoff_compute_section_file_positions): Adjust the file
5643597410b8Schristos	size even of sections with no contents.
5644597410b8Schristos
5645597410b8SchristosMon Feb 26 14:01:13 1996  Ian Lance Taylor  <ian@cygnus.com>
5646597410b8Schristos
5647597410b8Schristos	* cofflink.c (_bfd_coff_link_input_bfd): When merging, skip names
5648597410b8Schristos	starting with '$' the way we skip names starting with '.'.  When
5649597410b8Schristos	updating x_endndx, don't be fooled by an index which has been
5650597410b8Schristos	merged.
5651597410b8Schristos
5652597410b8Schristos	* cofflink.c (_bfd_coff_link_input_bfd): Don't try to optimize a
5653597410b8Schristos	struct/union/enum type with no elements.
5654597410b8Schristos
5655597410b8SchristosSat Feb 24 11:38:58 1996  Ian Lance Taylor  <ian@cygnus.com>
5656597410b8Schristos
5657597410b8Schristos	* bfd.c (bfd_errmsg): Handle a NULL return from strerror.
5658597410b8Schristos
5659597410b8Schristos	* archive.c (bfd_generic_archive_p): If the first file in the
5660597410b8Schristos	archive can not be recognized as an object, don't assume that this
5661597410b8Schristos	is the wrong format.
5662597410b8Schristos
5663597410b8Schristos	* elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
5664597410b8Schristos	format is not bfd_object.
5665597410b8Schristos	(bfd_elf_get_dt_soname): Likewise.
5666597410b8Schristos
5667597410b8SchristosWed Feb 21 13:58:04 1996  Ian Lance Taylor  <ian@cygnus.com>
5668597410b8Schristos
5669597410b8Schristos	* coff-sh.c (sh_relax_delete_bytes): Correct range of R_SH_USES
5670597410b8Schristos	reloc.
5671597410b8Schristos
5672597410b8SchristosTue Feb 20 16:22:44 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
5673597410b8Schristos
5674597410b8Schristos	* bfd.c (tdata): Add netbsd_core_data.
5675597410b8Schristos	* bfd-in2.h: Regenerated.
5676597410b8Schristos
5677597410b8SchristosTue Feb 20 16:50:02 1996  Ian Lance Taylor  <ian@cygnus.com>
5678597410b8Schristos
5679597410b8Schristos	* sunos.c (SUNOS_CONSTRUCTOR): Define.
5680597410b8Schristos	(sunos_add_one_symbol): Don't let a symbol from a dynamic object
5681597410b8Schristos	override a constructor symbol.  Set SUNOS_CONSTRUCTOR when
5682597410b8Schristos	appropriate.
5683597410b8Schristos
5684597410b8Schristos	* bout.c (b_out_squirt_out_relocs): Use udata.i rather than flags
5685597410b8Schristos	to get the symbol index, matching 14 Jul 95 change.
5686597410b8Schristos
5687597410b8SchristosTue Feb 20 08:26:27 1996  Fred Fish  <fnf@phydeaux.cygnus.com>
5688597410b8Schristos
5689597410b8Schristos	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
5690597410b8Schristos	Remove duplicate definition of gp.
5691597410b8Schristos
5692597410b8SchristosMon Feb 19 12:37:41 1996  Ian Lance Taylor  <ian@cygnus.com>
5693597410b8Schristos
5694597410b8Schristos	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Don't
5695597410b8Schristos	assume that we can set the GP value and then get the same value,
5696597410b8Schristos	since it won't be true if the output file is neither ELF nor
5697597410b8Schristos	ECOFF.
5698597410b8Schristos	* coff-mips.c (mips_adjust_reloc_in): Don't bother to use
5699597410b8Schristos	_bfd_get_gp_value here.
5700597410b8Schristos	(mips_gprel_reloc): Don't assume we can set and get the GP value.
5701597410b8Schristos	* elf32-mips.c (mips_elf_hi16_reloc): Get gp value from
5702597410b8Schristos	mips_elf_final_gp.
5703597410b8Schristos	(mips_elf_lo16_reloc): Likewise.
5704597410b8Schristos	(mips_elf_final_gp): Add pgp parameter.  Set it to the GP value.
5705597410b8Schristos	Don't require that the BFD be ELF.
5706597410b8Schristos	(mips_elf_gprel16_reloc): Get gp value from mips_elf_final_gp.
5707597410b8Schristos	(mips_elf_gprel32_reloc): Likewise.
5708597410b8Schristos	(mips_elf_relocate_section): Don't assume we can set and get the
5709597410b8Schristos	GP value.
5710597410b8Schristos	(mips_elf_finish_dynamic_symbol): Don't bother to use
5711597410b8Schristos	_bfd_get_gp_value here.
5712597410b8Schristos
5713597410b8Schristos	* elf32-mips.c (mips_elf_create_procedure_table): Initialize sv.
5714597410b8Schristos	Don't change epdr between malloc and free.  Be careful not to free
5715597410b8Schristos	NULL pointers.  Zero out the first RPDR.
5716597410b8Schristos
5717597410b8Schristos	* configure.host: On Linux, only pass -rpath option if $(libdir)
5718597410b8Schristos	is neither /lib nor /usr/lib.  From Alan Modra
5719597410b8Schristos	<alan@mullet.Levels.UniSA.Edu.Au>.
5720597410b8Schristos
5721597410b8Schristos	* elf-bfd.h (struct elf_obj_tdata): Rename dt_needed_name to
5722597410b8Schristos	dt_name.
5723597410b8Schristos	(elf_dt_name): Rename from elf_dt_needed_name.
5724597410b8Schristos	* elf.c (bfd_elf_set_dt_needed_name): Use elf_dt_name, not
5725597410b8Schristos	elf_dt_needed_name.
5726597410b8Schristos	(bfd_elf_get_dt_soname): New function.
5727597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Use elf_dt_name, not
5728597410b8Schristos	elf_dt_needed_name.  Save the SONAME back in elf_dt_name.
5729597410b8Schristos	* bfd-in.h (bfd_elf_get_dt_soname): Declare.
5730597410b8Schristos	* bfd-in2.h: Rebuild.
5731597410b8Schristos
5732597410b8SchristosMon Feb 19 02:50:23 1996  Doug Evans  <dje@charmed.cygnus.com>
5733597410b8Schristos
5734597410b8Schristos	* elf32-sparc.c (elf32_sparc_reloc_type_lookup): Renamed from
5735597410b8Schristos	_bfd_sparc_elf_reloc_type_lookup.
5736597410b8Schristos	(bfd_elf32_bfd_reloc_type_lookup): Update.
5737597410b8Schristos	* elf64-sparc.c (SPARC64_OLD_RELOCS): Define.
5738597410b8Schristos	(sparc64_elf_howto_table): Define.
5739597410b8Schristos	(sparc_reloc_map): Define.
5740597410b8Schristos	(sparc64_elf_reloc_type_lookup): New function.
5741597410b8Schristos	(sparc_elf_wdisp16_reloc): New function.
5742597410b8Schristos	(elf_info_to_howto): Use sparc64_elf_howto_table.
5743597410b8Schristos	(sparc64_elf_relocate_section): Likewise.
5744597410b8Schristos	(bfd_elf64_bfd_reloc_type_lookup): Update.
5745597410b8Schristos
5746597410b8SchristosSun Feb 18 15:02:25 1996  Ian Lance Taylor  <ian@cygnus.com>
5747597410b8Schristos
5748597410b8Schristos	* configure.host: Check for 'do not mix' from native linker before
5749597410b8Schristos	trying to use -rpath.
5750597410b8Schristos
5751597410b8SchristosFri Feb 16 12:46:18 1996  Ian Lance Taylor  <ian@cygnus.com>
5752597410b8Schristos
5753597410b8Schristos	* bfd.c (_bfd_get_gp_value): New function.
5754597410b8Schristos	(_bfd_set_gp_value): New function.
5755597410b8Schristos	* libbfd-in.h (_bfd_get_gp_value): Declare.
5756597410b8Schristos	(_bfd_set_gp_value): Declare.
5757597410b8Schristos	* libbfd.h: Rebuild.
5758597410b8Schristos	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use
5759597410b8Schristos	_bfd_get_gp_value and _bfd_set_gp_value rather than referring
5760597410b8Schristos	directly to the fields in the tdata information.
5761597410b8Schristos	(alpha_relocate_section): Likewise.
5762597410b8Schristos	* coff-mips.c (mips_adjust_reloc_in): Likewise.
5763597410b8Schristos	(mips_gprel_reloc): Likewise.
5764597410b8Schristos	(mips_relocate_section): Likewise.
5765597410b8Schristos	* elf32-mips.c (mips_elf_hi16_reloc): Likewise.
5766597410b8Schristos	(mips_elf_lo16_reloc): Likewise.
5767597410b8Schristos	(mips_elf_final_gp): Likewise.
5768597410b8Schristos	(mips_elf_gprel16_reloc): Likewise.
5769597410b8Schristos	(mips_elf_gprel32_reloc): Likewise.
5770597410b8Schristos	(mips_elf_relocate_section): Likewise.
5771597410b8Schristos	(mips_elf_finish_dynamic_symbol): Likewise.
5772597410b8Schristos
5773597410b8Schristos	* bout.c (b_out_set_arch_mach): Recognize bfd_mach_i960_jx.
5774597410b8Schristos
5775597410b8SchristosThu Feb 15 11:29:13 1996  Ian Lance Taylor  <ian@cygnus.com>
5776597410b8Schristos
5777597410b8Schristos	* configure.in: Call AC_PROG_CC before configure.host.
5778597410b8Schristos	* configure: Rebuild.
5779597410b8Schristos	* configure.host: Don't set information which autoconf should
5780597410b8Schristos	figure out, namely CC, CFLAGS, LDFLAGS, AR, and RANLIB.
5781597410b8Schristos
5782597410b8Schristos	* configure.host: Remove go32 and win32 host information, since it
5783597410b8Schristos	should no longer be needed.
5784597410b8Schristos
5785597410b8Schristos	* elf.c (map_sections_to_segments): If we have a .dynamic section,
5786597410b8Schristos	then start a new segment rather than put a writable section in a
5787597410b8Schristos	readonly segment.
5788597410b8Schristos
5789597410b8Schristos	* configure.host: Set RPATH_ENVVAR.
5790597410b8Schristos
5791597410b8Schristos	* Makefile.in: Rebuild dependencies.
5792597410b8Schristos
5793597410b8Schristos	* elflink.c (_bfd_elf_create_linker_section): Remove unused
5794597410b8Schristos	zero_section variable.
5795597410b8Schristos
5796597410b8SchristosThu Feb 15 10:39:17 1996  H.J. Lu  <hjl@zoom.com>
5797597410b8Schristos
5798597410b8Schristos	* Makefile.in ($(srcdir)/bfd-in2.h): Rename target from bfd-in2.h.
5799597410b8Schristos	($(srcdir)/libbfd.h): Rename from libbfd.h.
5800597410b8Schristos	($(srcdir)/libcoff.h): Rename from libcoff.h.
5801597410b8Schristos
5802597410b8SchristosWed Feb 14 16:29:07 1996  Martin Anantharaman  <martin@mail.imech.uni-duisburg.de>
5803597410b8Schristos
5804597410b8Schristos	* ieee.c (ieee_write_expression): Only use an R variable for a
5805597410b8Schristos	local symbol.  Don't output a zero offset.  Handle a zero address.
5806597410b8Schristos	(SRC_MASK, PCREL_OFFSET): Define based on KEEPMINUSPCININST.
5807597410b8Schristos	(rel32_howto, rel16_howto, rel8_howto): Use SRC_MASK and
5808597410b8Schristos	PCREL_OFFSET.
5809597410b8Schristos	(parse_expression): Don't try to handle multiple occurrences of a
5810597410b8Schristos	P variable.  Handle I variables differently from X variables.  Fix
5811597410b8Schristos	the order of minus expressions.
5812597410b8Schristos	(ieee_slurp_external_symbols): Generate an I variable for an NN
5813597410b8Schristos	record.  Fix handling of ATI and ATX records.
5814597410b8Schristos	(ieee_slurp_sections): Only set minimal section attributes.
5815597410b8Schristos	Adjust them later, based on the section contents.
5816597410b8Schristos	(ieee_object_p): Read in the file until just after the ME record.
5817597410b8Schristos	Call ieee_slurp_section_data to set the section flags.
5818597410b8Schristos	(do_one): Add iterations parameter.  Only repeat the first load
5819597410b8Schristos	item.  Set the section and file reloc flags.
5820597410b8Schristos	(ieee_slurp_section_data): Set section flags.  Pass iterations to
5821597410b8Schristos	do_one.
5822597410b8Schristos	(ieee_canonicalize_reloc): Handle I variables.
5823597410b8Schristos	(do_with_relocs): Only emit relocation size when necessary.
5824597410b8Schristos	Increase MAXRUN to 127.  Change ov to be assigned, and take
5825597410b8Schristos	src_mask and pcrel_offset into account.
5826597410b8Schristos	(ieee_write_data_part): Skip sections that are not loaded.
5827597410b8Schristos	(ieee_write_external_part): Don't output optional last entry of WX
5828597410b8Schristos	records.
5829597410b8Schristos	(ieee_write_me_part): Make setting of me_record neater.
5830597410b8Schristos	(ieee_generic_stat_arch_elt): Get the size of an archive element.
5831597410b8Schristos
5832597410b8Schristos	* syms.c (stt): Add entries for zerovars, vars, and code.
5833597410b8Schristos
5834597410b8Schristos	* elfcode.h (validate_reloc): New static function.
5835597410b8Schristos	(write_relocs): Call validate_reloc for non ELF relocs.
5836597410b8Schristos
5837597410b8Schristos	* elfxx-target.h (elf_symbol_leading_char): Define if not defined.
5838597410b8Schristos	(TARGET_BIG_SYM): Use elf_symbol_leading_char.
5839597410b8Schristos	(TARGET_LITTLE_SYM): Likewise.
5840597410b8Schristos
5841597410b8Schristos	* config.bfd (m68*-*-psos*): New target.
5842597410b8Schristos
5843597410b8SchristosTue Feb 13 15:56:22 1996  Bryan Ford  <baford@snake.cs.utah.edu>
5844597410b8Schristos
5845597410b8Schristos	* i386msdos.c: Remove some #if 0 code.
5846597410b8Schristos	(msdos_write_object_contents): Don't include empty sections in the
5847597410b8Schristos	size computation, regardless of their address.
5848597410b8Schristos
5849597410b8SchristosTue Feb 13 15:36:37 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5850597410b8Schristos
5851597410b8Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Don't segfault if dynboj
5852597410b8Schristos	is NULL, ie, the -r switch is used.
5853597410b8Schristos
5854597410b8SchristosTue Feb 13 14:35:15 1996  Ian Lance Taylor  <ian@cygnus.com>
5855597410b8Schristos
5856597410b8Schristos	* reloc.c (BFD_RELOC_MIPS_GOT_HI16): Define.
5857597410b8Schristos	(BFD_RELOC_MIPS_GOT_LO16): Define.
5858597410b8Schristos	(BFD_RELOC_MIPS_CALL_HI16, BFD_RELOC_MIPS_CALL_LO16): Define.
5859597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
5860597410b8Schristos	* elf32-mips.c (mips_reloc_map): Map new relocs.
5861597410b8Schristos
5862597410b8Schristos	* configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared.
5863597410b8Schristos
5864597410b8Schristos	* Makefile.in ($(SHLINK)): Check ts against $(SHLIB), not
5865597410b8Schristos	$(SHLINK).
5866597410b8Schristos
5867597410b8Schristos	* ieee.c (get_symbol): Set the section to bfd_abs_section.
5868597410b8Schristos	(do_with_relocs): If EXEC_P is set and there are no relocs, use a
5869597410b8Schristos	simple number for the section address, rather than an expression.
5870597410b8Schristos	Limit the number of bytes between relocs to MAXRUN.
5871597410b8Schristos	(ieee_write_me_part): Set me_record to the file offset after the
5872597410b8Schristos	start address.
5873597410b8Schristos	(ieee_write_processor): New static function.
5874597410b8Schristos	(ieee_write_object_contents): Use ieee_write_processor.
5875597410b8Schristos
5876597410b8SchristosFri Feb  9 10:53:00 1996  Ian Lance Taylor  <ian@cygnus.com>
5877597410b8Schristos
5878597410b8Schristos	* configure.host: Use ${CC-gcc} when testing for -rpath on SunOS.
5879597410b8Schristos
5880597410b8Schristos	* coff-aux.c: Change include of aux.h to aux-coff.h.
5881597410b8Schristos
5882597410b8SchristosThu Feb  8 14:01:03 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5883597410b8Schristos
5884597410b8Schristos	* elf32-m68k.c (elf_m68k_relocate_section): For a R_68K_RELATIVE
5885597410b8Schristos	relocation put the addend both in the reloc entry and the data.
5886597410b8Schristos	(elf_m68k_finish_dynamic_symbol): Likewise.  Mask out marker in
5887597410b8Schristos	GOT offset value.
5888597410b8Schristos
5889597410b8Schristos	* elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, resolve
5890597410b8Schristos	a R_68K_PCxx reloc against a defined global symbol directly.
5891597410b8Schristos	(elf_m68k_check_relocs): Don't count such a reloc.
5892597410b8Schristos
5893597410b8Schristos	* elf32-m68k.c (elf_m68k_check_relocs): Don't record a symbol with
5894597410b8Schristos	a PLTxx reloc as dynamic.  Disallow PLTxxO reloc against a local
5895597410b8Schristos	symbol for now, otherwise always record the symbol as dynamic.
5896597410b8Schristos	(elf_m68k_adjust_dynamic_symbol): If a symbol with a PLTxx reloc
5897597410b8Schristos	is not referenced by a dynamic object, and we are not making a
5898597410b8Schristos	shared object, then don't make a PLT entry.  If we do make a PLT
5899597410b8Schristos	entry, make sure the symbol has been recorded as dynamic.
5900597410b8Schristos
5901597410b8SchristosWed Feb  7 13:56:06 1996  Ian Lance Taylor  <ian@cygnus.com>
5902597410b8Schristos
5903597410b8Schristos	* configure.host: When making a shared library, set HLDFLAGS to
5904597410b8Schristos	pass an appropriate -rpath option.  Use the make variable SONAME
5905597410b8Schristos	as the shared library soname, rather than computing it here.  On
5906597410b8Schristos	SunOS, build stamp-tshlink in place of $(SHLINK).
5907597410b8Schristos	* Makefile.in (SONAME): New variable.
5908597410b8Schristos	($(SHLINK)): Make a link to the transformed name, as well.
5909597410b8Schristos	(stamp-tshlink): New target.
5910597410b8Schristos	(install): Skip stamp-tshlink during install.
5911597410b8Schristos
5912597410b8SchristosWed Feb  7 13:37:39 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5913597410b8Schristos
5914597410b8Schristos	* elf32-ppc.c (ppc_elf_add_symbol_hook): Do not assume that the
5915597410b8Schristos	linker sections have been set up yet.
5916597410b8Schristos
5917597410b8Schristos	* elf.c (make_mapping): Add an additional argument to suppress
5918597410b8Schristos	making the first section include the program headers.
5919597410b8Schristos	(map_sections_to_segments): If the user used -Ttext such that the
5920597410b8Schristos	program headers are on a different page, do not set the flags
5921597410b8Schristos	saying that this section includes the program headers.
5922597410b8Schristos
5923597410b8SchristosTue Feb  6 14:04:49 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
5924597410b8Schristos
5925597410b8Schristos	* configure.in (*-*-netbsd*): Set COREFILE to netbsd-core.c.
5926597410b8Schristos	don't define TRAD_HEADER.
5927597410b8Schristos	* configure: Rebuild.
5928597410b8Schristos
5929597410b8Schristos	* netbsd-core.c: New file, support for NetBSD core files.
5930597410b8Schristos	* hosts/*nbsd.h: Removed.
5931597410b8Schristos
5932597410b8SchristosTue Feb  6 11:47:49 1996  Doug Evans  <dje@charmed.cygnus.com>
5933597410b8Schristos
5934597410b8Schristos	* reloc.c (BFD_RELOC_SPARC_[567]): New reloc types.
5935597410b8Schristos	(BFD_RELOC_SPARC_LO7 reloc type): Deleted.
5936597410b8Schristos	* libbfd.h, bfd-in2.h: Regenerated.
5937597410b8Schristos	* elf32-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Renamed from
5938597410b8Schristos	bfd_elf32_bfd_reloc_type_lookup.
5939597410b8Schristos	(reloc_type{,_names}): Deleted.
5940597410b8Schristos	(_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
5941597410b8Schristos	Add sparc64 relocs.
5942597410b8Schristos	(sparc_reloc_map): Add sparc64 relocs.
5943597410b8Schristos	(sparc_elf_notsupported_reloc): New static function.
5944597410b8Schristos	(sparc_elf_wdisp16_reloc): New static function.
5945597410b8Schristos	(elf32_sparc_check_relocs): Handle R_SPARC_WDISP{16,19}.
5946597410b8Schristos	(elf32_sparc_relocate_section): Likewise.
5947597410b8Schristos	(bfd_elf32_bfd_reloc_type_lookup): Define.
5948597410b8Schristos	* elf64-sparc.c (sparc64_elf_wdisp16_reloc): Deleted.
5949597410b8Schristos	(reloc_type{,_names}): Deleted.
5950597410b8Schristos	(elf_sparc_howto_table): Deleted.
5951597410b8Schristos	(sparc_reloc_map): Deleted.
5952597410b8Schristos	(_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
5953597410b8Schristos	(bfd_elf64_bfd_reloc_type_lookup): Change from function to #define.
5954597410b8Schristos
5955597410b8SchristosTue Feb  6 12:12:22 1996  Ian Lance Taylor  <ian@cygnus.com>
5956597410b8Schristos
5957597410b8Schristos	* configure.host: Make SHLIB_CFLAGS include $(PICFLAG) on a
5958597410b8Schristos	*-*-hpux* host.
5959597410b8Schristos
5960597410b8Schristos	* Makefile.in (program_transform_name): New variable.
5961597410b8Schristos	(install): Transform library name before installing it.
5962597410b8Schristos
5963597410b8SchristosMon Feb  5 10:38:27 1996  Ian Lance Taylor  <ian@cygnus.com>
5964597410b8Schristos
5965597410b8Schristos	* archures.c (bfd_mach_i960_hx): Define.
5966597410b8Schristos	* bfd-in2.h: Rebuild.
5967597410b8Schristos	* cpu-i960.c (scan_960_mach): Accept machine "hx".
5968597410b8Schristos	(MATRIX): Expand entries for HX.
5969597410b8Schristos	(arch_info_struct): Add i960:hx entry.
5970597410b8Schristos	* bout.c (b_out_set_arch_mach): Handle bfd_mach_i960_hx.
5971597410b8Schristos	* coffcode.h (coff_set_arch_mach_hook): Handle F_I960HX.
5972597410b8Schristos	(coff_set_flags): Handle bfd_mach_i960_hx.
5973597410b8Schristos
5974597410b8Schristos	Support for building as a shared library, based on patches from
5975597410b8Schristos	Alan Modra <alan@spri.levels.unisa.edu.au>:
5976597410b8Schristos	* configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
5977597410b8Schristos	New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
5978597410b8Schristos	SHLIB_CFLAGS, COMMON_SHLIB, PICLIST, SHLINK.
5979597410b8Schristos	* configure: Rebuild.
5980597410b8Schristos	* configure.host: If --enable-shared, adjust shared library stuff
5981597410b8Schristos	based on the host.  If the host is SunOS, and the linker supports
5982597410b8Schristos	-rpath, set HLDFLAGS to use it.
5983597410b8Schristos	* Makefile.in (ALLLIBS): New variable.
5984597410b8Schristos	(PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
5985597410b8Schristos	(COMMON_SHLIB, SHLINK): New variables.
5986597410b8Schristos	(.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
5987597410b8Schristos	(STAGESTUFF): Remove variable.
5988597410b8Schristos	(all): Depend upon $(ALLLIBS) and @PICLIST@ rather than
5989597410b8Schristos	$(TARGETLIB).
5990597410b8Schristos	(stamp-ofiles): New target, like old ofiles target, but build
5991597410b8Schristos	using a temporary file and move-if-change, and touch stamp-ofiles
5992597410b8Schristos	when done.
5993597410b8Schristos	(ofiles): Just depend upon stamp-ofiles.
5994597410b8Schristos	(stamp-piclist, piclist): New targets.
5995597410b8Schristos	($(SHLIB), $(SHLINK)): New targets.
5996597410b8Schristos	(targets.o, archures.o): Build twice if PICFLAG is set.
5997597410b8Schristos	(do_mostlyclean): Remove pic/*.o.
5998597410b8Schristos	(do_clean): Remove stamp-ofiles, $(SHLIB), $(SHLINK), piclist, and
5999597410b8Schristos	stamp-piclist.
6000597410b8Schristos	(do_distclean): Remove pic and stamp-picdir.
6001597410b8Schristos	(install): Install shared libraries.
6002597410b8Schristos	($(OFILES)): Depend upon stamp-picdir.
6003597410b8Schristos	(stamp-picdir): New target.
6004597410b8Schristos
6005597410b8Schristos	* libcoff-in.h: Add comment reminding people that libcoff.h is a
6006597410b8Schristos	generated file.
6007597410b8Schristos	* libcoff.h: Rebuild.
6008597410b8Schristos
6009597410b8Schristos	* elflink.h (elf_adjust_dynamic_symbol): Don't try to get the
6010597410b8Schristos	flavour of a section with no owner.
6011597410b8Schristos
6012597410b8Schristos	* elf32-mips.c (mips_elf_create_dynamic_sections): Clear
6013597410b8Schristos	ELF_LINK_NON_ELF flag.
6014597410b8Schristos	(mips_elf_create_got_section): Likewise.
6015597410b8Schristos
6016597410b8Schristos	* elf.c: Revert last change, since it breaks dynamic linking.
6017597410b8Schristos	* elf-bfd.h (struct elf_backend_data): Remove want_hdr_in_seg
6018597410b8Schristos	field.
6019597410b8Schristos	* elf32-mips.c (elf_backend_want_hdr_in_seg): Don't define.
6020597410b8Schristos	* elfxx-target.h (elf_backend_want_hdr_in_seg): Don't define.
6021597410b8Schristos	(elfNN_bed): Don't initialize want_hdr_in_seg field.
6022597410b8Schristos
6023597410b8SchristosSun Feb  4 20:45:13 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6024597410b8Schristos
6025597410b8Schristos	* elf.c (assign_file_positions_for_segments): If the backend does
6026597410b8Schristos	not want the elf header or the program headers in the address
6027597410b8Schristos	space, do not include them in the calculations.
6028597410b8Schristos
6029597410b8Schristos	* elf32-ppc.c (ppc_elf_additional_program_headers): New hook
6030597410b8Schristos	function to determine if we need additional program headers.
6031597410b8Schristos	(ppc_elf_modify_segment_map): Define as a NOP function for now.
6032597410b8Schristos	(ppc_elf_create_linker_section): .sdata2 is a read-only section.
6033597410b8Schristos
6034597410b8SchristosSat Feb  3 23:00:03 1996  Ian Lance Taylor  <ian@cygnus.com>
6035597410b8Schristos
6036597410b8Schristos	* coffcode.h: Move today's libcoff.h change into coffcode.h.
6037597410b8Schristos
6038597410b8SchristosSat Feb  3 15:43:44 1996  Fred Fish  <fnf@cygnus.com>
6039597410b8Schristos
6040597410b8Schristos	* libcoff.h (bfd_coff_link_add_one_symbol): Combine macro args
6041597410b8Schristos	back into one line.  Some compilers (sunos 4.1.3 for example)
6042597410b8Schristos	won't accept args split across more than one line.
6043597410b8Schristos
6044597410b8SchristosFri Feb  2 11:42:15 1996  Steve Chamberlain  <sac@slash.cygnus.com>
6045597410b8Schristos
6046597410b8Schristos	* aclocal.m4 (BFD_BINARY_FOPEN): Understand cygwin32.
6047597410b8Schristos	* configure: Regenerate.
6048597410b8Schristos
6049597410b8SchristosFri Feb  2 12:12:16 1996  Jeffrey A Law  (law@cygnus.com)
6050597410b8Schristos
6051597410b8Schristos	* elf32-hppa.c (elf32_hppa_backend_symbol_table_processing): Don't
6052597410b8Schristos	try to do arithmetic on a void *, cast it to a unsigned char * first.
6053597410b8Schristos
6054597410b8SchristosThu Feb  1 16:04:06 1996  Ian Lance Taylor  <ian@cygnus.com>
6055597410b8Schristos
6056597410b8Schristos	* elf-bfd.h (ELF_LINK_NON_ELF): Define.
6057597410b8Schristos	* elf.c (_bfd_elf_link_hash_newfunc): Set elf_link_hash_flags to
6058597410b8Schristos	ELF_LINK_NON_ELF.
6059597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Reset ELF_LINK_NON_ELF
6060597410b8Schristos	flag for a newly defined symbol.
6061597410b8Schristos	(NAME(bfd_elf,record_link_assignment)): Likewise.
6062597410b8Schristos	(elf_adjust_dynamic_symbol): If ELF_LINK_NON_ELF is set, try to
6063597410b8Schristos	set the DEF or REF_REGULAR flags correctly.
6064597410b8Schristos
6065597410b8Schristos	* Makefile.in (bfd-in2.h): Make bfd.h, not protos, in docdir.
6066597410b8Schristos	(libbfd.h, libcoff.h): Corresponding change.
6067597410b8Schristos
6068597410b8Schristos	* elf32-i386.c (elf_i386_check_relocs): Don't record a symbol with
6069597410b8Schristos	a PLT32 reloc as dynamic.
6070597410b8Schristos	(elf_i386_adjust_dynamic_symbol): If a symbol with a PLT32 reloc
6071597410b8Schristos	is not referenced by a dynamic object, and we are not making a
6072597410b8Schristos	shared object, then don't make a PLT entry.  If we do make a PLT
6073597410b8Schristos	entry, make sure the symbol has been recorded as dynamic.
6074597410b8Schristos
6075597410b8SchristosWed Jan 31 17:23:32 1996  Steve Chamberlain  <sac@slash.cygnus.com>
6076597410b8Schristos
6077597410b8Schristos	* coff-i386.c (coff_i386_reloc_type_lookup): Add BFD_RELOC_32_PCREL.
6078597410b8Schristos	* config.bfd (i[345]86-*-win32): Becomes i[345]86-*-cygwin32.
6079597410b8Schristos	(powerpcle-*-cygwin32): New.
6080597410b8Schristos	* peicode.h (add_data_entry): Get address from vma.
6081597410b8Schristos
6082597410b8SchristosWed Jan 31 16:23:57 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6083597410b8Schristos
6084597410b8Schristos	* elflink.c (_bfd_elf_create_linker_section): If the symbol
6085597410b8Schristos	attached to the section has already been created as an undefined
6086597410b8Schristos	symbol, treat it as if it hasn't been created yet.
6087597410b8Schristos
6088597410b8SchristosWed Jan 31 16:16:53 1996  Ian Lance Taylor  <ian@cygnus.com>
6089597410b8Schristos
6090597410b8Schristos	* elflink.h (elf_bfd_final_link): Don't output initial dummy
6091597410b8Schristos	symbol or section symbols if stripping all symbols and this is not
6092597410b8Schristos	a relocateable link.  Don't output the symbol string table if
6093597410b8Schristos	there are no symbols.
6094597410b8Schristos	(elf_link_flush_output_syms): Don't do anything if there are no
6095597410b8Schristos	symbols to flush.
6096597410b8Schristos
6097597410b8SchristosWed Jan 31 12:55:49 1996  Richard Henderson  <rth@tamu.edu>
6098597410b8Schristos
6099597410b8Schristos	* coff-aux.c: New file.
6100597410b8Schristos	* hosts/m68kaux.h: New file.
6101597410b8Schristos	* config.bfd (m68*-apple-aux*): New target.
6102597410b8Schristos	* configure.in (m68*-apple-aux*): New native host.
6103597410b8Schristos	(m68kaux_coff_vec): New vector.
6104597410b8Schristos	* configure: Rebuild.
6105597410b8Schristos	* targets.c (m68kaux_coff_vec): Declare.
6106597410b8Schristos	* coffcode.h (bfd_coff_backend_data): Add field
6107597410b8Schristos	_bfd_coff_link_add_one_symbol.
6108597410b8Schristos	(bfd_coff_link_add_one_symbol): Define.
6109597410b8Schristos	(compare_arelent_ptr): New static function if TARG_AUX.
6110597410b8Schristos	(coff_write_relocs): If TARG_AUX, sort the relocs.
6111597410b8Schristos	(coff_write_object_contents): Set A/UX aouthdr magic number.
6112597410b8Schristos	(coff_link_add_one_symbol): Define if not defined.
6113597410b8Schristos	(bfd_coff_std_swap_table): Initialize new field.
6114597410b8Schristos	* libcoff.h: Rebuild.
6115597410b8Schristos	* cofflink.c (coff_link_add_symbols): Call
6116597410b8Schristos	bfd_coff_link_add_one_symbol rather than
6117597410b8Schristos	_bfd_generic_link_add_one_symbol.
6118597410b8Schristos	* coff-m68k.c (COFF_PAGE_SIZE): Don't define if already defined.
6119597410b8Schristos	* coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
6120597410b8Schristos	* coff-mips.c (mips_ecoff_backend_data): Likewise.
6121597410b8Schristos	* Makefile.in: Rebuild dependencies.
6122597410b8Schristos	(BFD32_BACKENDS): Add coff-aux.o.
6123597410b8Schristos	(BFD32_BACKENDS_CFILES): Add coff-aux.c.
6124597410b8Schristos
6125597410b8SchristosWed Jan 31 11:37:46 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6126597410b8Schristos
6127597410b8Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Fix R_68K_GOT*
6128597410b8Schristos	relocation; ignore addend with R_68K_{GOT,PLT}*O relocation.
6129597410b8Schristos
6130597410b8SchristosTue Jan 30 12:09:04 1996  Ian Lance Taylor  <ian@cygnus.com>
6131597410b8Schristos
6132597410b8Schristos	* Makefile.in (do_maintainer_clean): Remove $(srcdir)/bfd-in2.h,
6133597410b8Schristos	$(srcdir)/libbfd.h and $(srcdir)/libcoff.h.
6134597410b8Schristos	(maintainer-clean): Warn about deleting special files.
6135597410b8Schristos	(bfd-in2.h, libbfd.h, libcoff.h): New targets.
6136597410b8Schristos
6137597410b8Schristos	* elf32-hppa.c (elf32_hppa_relocate_section): Handle indirect and
6138597410b8Schristos	warning symbols correctly.
6139597410b8Schristos	* elf32-i386.c (elf_i386_relocate_section): Likewise.
6140597410b8Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
6141597410b8Schristos	* elf32-mips.c (mips_elf_relocate_section): Likewise.
6142597410b8Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
6143597410b8Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
6144597410b8Schristos	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
6145597410b8Schristos
6146597410b8Schristos	* syms.c (_bfd_stab_section_find_nearest_line): Add casts to avoid
6147597410b8Schristos	warnings.
6148597410b8Schristos
6149597410b8SchristosMon Jan 29 14:27:24 1996  Kim Knuttila  <krk@cygnus.com>
6150597410b8Schristos
6151597410b8Schristos	* libcoff-in.h: aligned newly exported names with bfd naming
6152597410b8Schristos	conventions. Removed an erroneous define of POWERPC_LE_PE.
6153597410b8Schristos 	* libcoff.h: Rebuild.
6154597410b8Schristos	* cofflink.c, coff-ppc.c: the above function name changes
6155597410b8Schristos
6156597410b8SchristosMon Jan 29 13:06:28 1996  Ian Lance Taylor  <ian@cygnus.com>
6157597410b8Schristos
6158597410b8Schristos	From Basim Kadhim <kadhim@spock.cs.colorado.edu>:
6159597410b8Schristos	* ecoff.c (struct extsym_info): Define.
6160597410b8Schristos	(_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info
6161597410b8Schristos	to ecoff_link_write_external.
6162597410b8Schristos	(ecoff_link_write_external): Accept a struct extsym_info pointer.
6163597410b8Schristos	Strip symbols when appropriate.
6164597410b8Schristos
6165597410b8Schristos	Based on patches from Ronald F. Guilmette <rfg@monkeys.com>:
6166597410b8Schristos	* syms.c (BSF_OBJECT): Define.
6167597410b8Schristos	(bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT.
6168597410b8Schristos	* bfd-in2.h: Rebuild.
6169597410b8Schristos	* elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an
6170597410b8Schristos	STT_OBJECT symbol.
6171597410b8Schristos	* elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT
6172597410b8Schristos	is set.
6173597410b8Schristos
6174597410b8Schristos	* elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, when
6175597410b8Schristos	copying relocs into a shared object, treat a defined global symbol
6176597410b8Schristos	as a local symbol.
6177597410b8Schristos	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
6178597410b8Schristos	* elf32-mips.c (mips_elf_relocate_section): Likewise.
6179597410b8Schristos	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
6180597410b8Schristos
6181597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Only set weakdef to a
6182597410b8Schristos	real defined symbol, not to a weak defined symbol.
6183597410b8Schristos
6184597410b8SchristosMon Jan 29 11:34:36 1996  Kim Knuttila  <krk@cygnus.com>
6185597410b8Schristos
6186597410b8Schristos	* cofflink.c: removed the POWERPC_LE_PE hack, promoted some types
6187597410b8Schristos	and made a few static functions externs.
6188597410b8Schristos
6189597410b8Schristos	* coff-ppc.c (ppc_bfd_coff_final_link): new function, replaces the
6190597410b8Schristos	POWERPC_LE_PE hack in cofflink.
6191597410b8Schristos
6192597410b8Schristos	* libcoff-in.h: promoted the following from cofflink.c to allow
6193597410b8Schristos	_bfd_coff_final_link to be overridden -  STRING_SIZE_SIZE,
6194597410b8Schristos	coff_debug_merge_element, struct coff_debug_merge_type,
6195597410b8Schristos	coff_debug_merge_hash_entry, coff_debug_merge_hash_table,
6196597410b8Schristos	coff_debug_merge_hash_table_init,  coff_debug_merge_hash_table_free,
6197597410b8Schristos	coff_debug_merge_hash_lookup, coff_link_section_info,
6198597410b8Schristos	coff_final_link_info, coff_debug_merge_hash_newfunc,
6199597410b8Schristos	coff_write_global_sym, coff_link_input_bfd, coff_reloc_link_order.
6200597410b8Schristos
6201597410b8Schristos	* libcoff.h: re-gen'd
6202597410b8Schristos
6203597410b8SchristosFri Jan 26 18:33:35 1996  Ian Lance Taylor  <ian@cygnus.com>
6204597410b8Schristos
6205597410b8Schristos	* syms.c: Include "bfdlink.h".
6206597410b8Schristos	(struct stab_find_info): Define.
6207597410b8Schristos	(_bfd_stab_section_find_nearest_line): New function.
6208597410b8Schristos	* libbfd-in.h (_bfd_stab_section_find_nearest_line): Declare.
6209597410b8Schristos	* libbfd.h: Rebuild.
6210597410b8Schristos	* elf-bfd.h (struct elf_obj_tdata): Add line_info field.
6211597410b8Schristos	* elf.c (_bfd_elf_find_nearest_line): Try calling
6212597410b8Schristos	_bfd_stab_section_find_nearest_line before searching the ELF
6213597410b8Schristos	symbol table.  Find the closest STT_FUNC symbol, not the last one.
6214597410b8Schristos	* libcoff-in.h (coff_data_type): Add line_info field.
6215597410b8Schristos 	* libcoff.h: Rebuild.
6216597410b8Schristos	* coffgen.c (coff_find_nearest_line): Try calling
6217597410b8Schristos	_bfd_stab_section_find_nearest_line before searching the COFF
6218597410b8Schristos	symbol table.
6219597410b8Schristos	* Makefile.in: Rebuild dependencies.
6220597410b8Schristos
6221597410b8SchristosFri Jan 26 16:11:19 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6222597410b8Schristos
6223597410b8Schristos	* elf32-ppc.c (R_PPC_EMB_SDA21 relocations): Make relocation size
6224597410b8Schristos	4 bytes, so we get the correct value when updating the register
6225597410b8Schristos	field in little endian mode.
6226597410b8Schristos
6227597410b8SchristosThu Jan 25 12:14:16 1996  Ian Lance Taylor  <ian@cygnus.com>
6228597410b8Schristos
6229597410b8Schristos	* libcoff-in.h (struct xcoff_tdata): Remove toc_section and
6230597410b8Schristos	entry_section fields.  Add sntoc and snentry fields.
6231597410b8Schristos	* libcoff.h: Rebuild.
6232597410b8Schristos	* coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry,
6233597410b8Schristos	not toc_section and entry_section (the COFF file does not have any
6234597410b8Schristos	sections at this point).
6235597410b8Schristos	(coff_write_object_contents): Set o_snentry and o_sntoc from
6236597410b8Schristos	snentry and sntoc rather than entry_section and toc_section.
6237597410b8Schristos	* coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and
6238597410b8Schristos	snentry, not toc_section and entry_section.
6239597410b8Schristos	* xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set
6240597410b8Schristos	entry_section from hentry.
6241597410b8Schristos	(xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set,
6242597410b8Schristos	set snenty.
6243597410b8Schristos	(xcoff_link_input_bfd): Set sntoc, not toc_section.
6244597410b8Schristos	(xcoff_write_global_symbol): Get toc_section from sntoc, rather
6245597410b8Schristos	than using toc_section directly.
6246597410b8Schristos
6247597410b8Schristos	* archures.c: Add missing `.' in enum bfd_architecture.
6248597410b8Schristos	* bfd-in2.h: Rebuild.
6249597410b8Schristos
6250597410b8Schristos	* config.bfd (i[345]86-*-sco*elf*): Use bfd_elf32_i386_vec.  From
6251597410b8Schristos	Robert Lipe <robertl@arnet.com>.
6252597410b8Schristos
6253597410b8SchristosThu Jan 25 12:08:51 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6254597410b8Schristos
6255597410b8Schristos	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Add .rela.sdata{,2}
6256597410b8Schristos	to sections we allocate.  Use bfd_zalloc to allocate initialial
6257597410b8Schristos	sections, not bfd_alloc.
6258597410b8Schristos	(ppc_elf_check_relocs): Remove BFD_ASSERTs for !shared from
6259597410b8Schristos	SDA{,2}I16 relocations.
6260597410b8Schristos	(ppc_elf_add_symbol_hook): Use the value of -G nn to determine
6261597410b8Schristos	whether to put something in .sbss or not.
6262597410b8Schristos	(ppc_elf_relocate_section): Add support for more relocations.  Add
6263597410b8Schristos	in sec->output_offset where appropriate.  Make error messages
6264597410b8Schristos	include the symbol name.
6265597410b8Schristos
6266597410b8Schristos	* elflink.c (_bfd_elf_create_linker_section): Lookup symbol before
6267597410b8Schristos	trying to add it to the symbol table, so _GLOBAL_OFFSET_TABLE_
6268597410b8Schristos	doesn't get redefined messages if -shared.
6269597410b8Schristos
6270597410b8Schristos	* elflink.h (elf_create_pointer_linker_section) Only bump RELA
6271597410b8Schristos	section if the rel_section field has been set up.
6272597410b8Schristos
6273597410b8SchristosWed Jan 24 20:40:26 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6274597410b8Schristos
6275597410b8Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Fix typo in eabi
6276597410b8Schristos	relocations.
6277597410b8Schristos
6278597410b8SchristosWed Jan 24 10:38:34 1996  Doug Evans  <dje@charmed.cygnus.com>
6279597410b8Schristos
6280597410b8Schristos	* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking
6281597410b8Schristos	of flags, only flags used are controlled by mach number.  Bump up
6282597410b8Schristos	output file mach number to highest of input file mach numbers.
6283597410b8Schristos	(elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1.
6284597410b8Schristos	(elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa.
6285597410b8Schristos
6286597410b8Schristos	* config.bfd (sparc64-*-{sysv4*,solaris2*}): Comment out
6287597410b8Schristos	bfd_elf64_sparc_vec support.
6288597410b8Schristos
6289597410b8SchristosTue Jan 23 14:33:05 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6290597410b8Schristos
6291597410b8Schristos	* elf32-ppc.c (ppc_elf_copy_private_bfd_data): Don't complain if
6292597410b8Schristos	the embedded bit is set on some objects and not on others.  Just
6293597410b8Schristos	or it together.
6294597410b8Schristos	(ppc_elf_relocate_section): Implement R_PPC_EMB_{SDA21,RELSDA}
6295597410b8Schristos	relocations.
6296597410b8Schristos
6297597410b8SchristosTue Jan 23 14:22:45 1996  Ian Lance Taylor  <ian@cygnus.com>
6298597410b8Schristos
6299597410b8Schristos	* coffcode.h (coff_new_section_hook): Don't try to align the
6300597410b8Schristos	.stabstr section.
6301597410b8Schristos
6302597410b8Schristos	* coffcode.h (coff_set_section_contents): Fix the handling of the
6303597410b8Schristos	.lib section to work even if the entire section contents are
6304597410b8Schristos	written at once.  From Gvran Uddeborg <gvran@uddeborg.pp.se> and
6305597410b8Schristos	Robert Lipe <robertl@arnet.com>.
6306597410b8Schristos
6307597410b8SchristosMon Jan 22 18:45:51 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6308597410b8Schristos
6309597410b8Schristos	* elflink.h (elf_finish_pointer_linker_section): Don't allocate
6310597410b8Schristos	memory here for contents.
6311597410b8Schristos
6312597410b8Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Bump up _SDA_BASE_ and
6313597410b8Schristos	_SDA2_BASE_ by 32768.
6314597410b8Schristos	(ppc_elf_size_dynamic_sections): #if out PLT code which we haven't
6315597410b8Schristos	started using.  Allocate contents for .sdata and .sdata2 sections
6316597410b8Schristos	also.
6317597410b8Schristos	(ppc_elf_check_relocs): Use bfd_get_section_name in debug message,
6318597410b8Schristos	rather than _name.
6319597410b8Schristos	(ppc_elf_finish_dynamic_symbol): Remove code that attempted to
6320597410b8Schristos	size _SDA{,2}_BASE_.
6321597410b8Schristos	(ppc_elf_relocate_section): Change how sdata{,2} relocations are
6322597410b8Schristos	done.
6323597410b8Schristos
6324597410b8SchristosMon Jan 22 08:52:04 1996  Doug Evans  <dje@charmed.cygnus.com>
6325597410b8Schristos
6326597410b8Schristos	* elflink.h (elf_finish_pointer_linker_section): Fix typo.
6327597410b8Schristos
6328597410b8Schristos	* archures.c (bfd_mach_sparc_v9): Renamed from bfd_mach_sparc64.
6329597410b8Schristos	(bfd_mach_sparc_{v8plus,v8plusa}): Define.
6330597410b8Schristos	(bfd_mach_sparc_v9a): Define.
6331597410b8Schristos	(bfd_mach_sparc_v9_p): Define.
6332597410b8Schristos	* bfd-in2.h: Regenerated.
6333597410b8Schristos	* aoutx.h (aout,machine_type): bfd_mach_sparc64 renamed to
6334597410b8Schristos	bfd_mach_sparc_v9.
6335597410b8Schristos	* elf64-sparc.c (sparc64_elf_object_p): Likewise.
6336597410b8Schristos	* config.bfd (sparc64-*-sysv4*,sparc64-*-solaris2*): Set targ_defvec
6337597410b8Schristos	to bfd_elf32_sparc_vec.
6338597410b8Schristos	* cpu-sparc.c (arch_info_struct): Renamed from sparc_arch_info.
6339597410b8Schristos	Add v8plus{,a} support.
6340597410b8Schristos	Add v9a support.
6341597410b8Schristos	(sparc_compatible): New function.
6342597410b8Schristos	* elf32-sparc.h: #include "elf/sparc.h".
6343597410b8Schristos	(elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p,
6344597410b8Schristos	elf32_sparc_final_write_processing): New functions.
6345597410b8Schristos	(bfd_elf32_bfd_merge_private_bfd_data, elf_backend_object_p,
6346597410b8Schristos	elf_backend_final_write_processing): Define.
6347597410b8Schristos
6348597410b8SchristosMon Jan 22 11:21:51 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6349597410b8Schristos
6350597410b8Schristos	* elf-bfd.h (struct elf_link_hash_entry): Add
6351597410b8Schristos	linker_section_pointer field.
6352597410b8Schristos	(enum elf_linker_section_enum): Enumeration for new way of
6353597410b8Schristos	creating linker dynamic sections and symbols.
6354597410b8Schristos	(elf_linker_section{,_pointers}): New structures for creating
6355597410b8Schristos	dynamic sections and symbols.
6356597410b8Schristos	(elf_obj_tdata): Add linker_section_pointers and linker_section
6357597410b8Schristos	fields.
6358597410b8Schristos	(elf_local_ptr_offsets,elf_linker_section): New accessor macros.
6359597410b8Schristos	(_bfd_elf_create_linker_section): New declarations.
6360597410b8Schristos	(_bfd_elf_find_pointer_linker_section): Ditto.
6361597410b8Schristos	(bfd_elf{32,64}_{create,finish}_pointer_linker_section): Ditto.
6362597410b8Schristos	(_bfd_elf_make_linker_section_rela): Ditto.
6363597410b8Schristos
6364597410b8Schristos	* elf.c (_bfd_elf_link_hash_newfunc): Initialize new fields.
6365597410b8Schristos
6366597410b8Schristos	* elf32-ppc.c (ppc_elf_create_dynamic_sections): Delete.
6367597410b8Schristos	(ppc_elf_create_linker_section): New function to create the
6368597410b8Schristos	sections .got, .sdata, and .sdata2.
6369597410b8Schristos	(ppc_elf_size_dynamic_sections): Zap .rela.{sdata,sdata2} if
6370597410b8Schristos	needed.
6371597410b8Schristos	(ppc_elf_check_relocs): Support more of the eabi relocations.
6372597410b8Schristos	(ppc_elf_relocate_section): Ditto.
6373597410b8Schristos	(ppc_elf_finish_dynamic_symbols): Adjust _SDA{,2}_BASE_ by 32768
6374597410b8Schristos	if the .sdata{,2} + .sbss{,2} section size is > 32k.
6375597410b8Schristos
6376597410b8Schristos	* elflink.h (elf_create_pointer_linker_section): New function to
6377597410b8Schristos	create initialized pointers in dynamic linker sections.
6378597410b8Schristos	(elf_finish_pointer_linker_section): Actually intialize the
6379597410b8Schristos	pointers created above.
6380597410b8Schristos
6381597410b8Schristos	* elfcode.h (bfd_elf{32,64}_create_pointer_linker_section): New
6382597410b8Schristos	macros to provide both 32 and 64 bit versions of
6383597410b8Schristos	elf_create_pointer_linker_section.
6384597410b8Schristos	(bfd_elf{32,64}_finish_pointer_linker_section): New macros to
6385597410b8Schristos	provide both 32 and 64 bit versions of
6386597410b8Schristos	elf_finish_pointer_linker_section.
6387597410b8Schristos
6388597410b8Schristos	* elflink.c (_bfd_elf_create_linker_section): New function to
6389597410b8Schristos	create a linker section.
6390597410b8Schristos	(_bfd_elf_find_pointer_linker_section): Find a unique pointer to a
6391597410b8Schristos	given address in the linker pointer offsets created for a given
6392597410b8Schristos	symbol.
6393597410b8Schristos	(_bfd_elf_make_linker_section_rela): Make a RELA section
6394597410b8Schristos	corresponding to the generated linker section.
6395597410b8Schristos
6396597410b8SchristosSat Jan 20 08:36:10 1996  Doug Evans  <dje@canuck.cygnus.com>
6397597410b8Schristos
6398597410b8Schristos	* elf32-sparc.c (ELF_MACHINE_ALT1): Define.
6399597410b8Schristos
6400597410b8SchristosThu Jan 18 18:25:34 1996  Kim Knuttila  <krk@cygnus.com>
6401597410b8Schristos
6402597410b8Schristos	* coff-ppc.c (coff_ppc_relocate_section): changed TOCDEFN relocs.
6403597410b8Schristos	(coff_ppc_relocate_section): Handle special values for gcc built dlls.
6404597410b8Schristos	(dump_toc): fix diagnosing code to identify out-of-toc-bounds entries.
6405597410b8Schristos	Also begin the toc at 4 as an eye catcher ('31313131' marks the first
6406597410b8Schristos	toc entry in an objdump) for now.
6407597410b8Schristos	(ppc_do_last, ppc_get_last): New function - needed to save processing
6408597410b8Schristos	the toc owner to the end.
6409597410b8Schristos	(ppc_coff_swap_sym_in_hook): Removed an incorrect hack for doing the
6410597410b8Schristos	toc owner last.
6411597410b8Schristos
6412597410b8Schristos	* cofflink.c (_bfd_coff_final_link): Added a new hack to keep the
6413597410b8Schristos	toc owner from being done till last. Must define POWERPC_LE_PC
6414597410b8Schristos	to enable it.
6415597410b8Schristos
6416597410b8Schristos	* coffcode.h (coff_set_alignment_hook): alignment setting for .stab
6417597410b8Schristos
6418597410b8Schristos	* peicode.h (coff_swap_scnhdr_out): set section flags for stab/str
6419597410b8Schristos	to INFO.
6420597410b8Schristos	(coff_swap_aouthdr_out): Removed a non-working hack for computing the
6421597410b8Schristos	SizeOfImage for PowerPC. Ignore the size of the .junk section.
6422597410b8Schristos
6423597410b8SchristosThu Jan 18 17:42:12 1996  Ian Lance Taylor  <ian@cygnus.com>
6424597410b8Schristos
6425597410b8Schristos	* elfcore.h: Include <signal.h> before <sys/procfs.h>.
6426597410b8Schristos
6427597410b8SchristosWed Jan 17 12:40:14 1996  Ian Lance Taylor  <ian@cygnus.com>
6428597410b8Schristos
6429597410b8Schristos	* cpu-powerpc.c (arch_info_struct): Change last entry to not point
6430597410b8Schristos	back to first.
6431597410b8Schristos	(bfd_powerpc_arch): Point at first entry in arch_info_struct.
6432597410b8Schristos
6433597410b8SchristosTue Jan 16 15:10:49 1996  Ian Lance Taylor  <ian@cygnus.com>
6434597410b8Schristos
6435597410b8Schristos	* elf.c (assign_file_positions_for_segments): Don't increment file
6436597410b8Schristos	offset for a segment which contains no loadable sections.
6437597410b8Schristos
6438597410b8SchristosMon Jan 15 17:46:27 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6439597410b8Schristos
6440597410b8Schristos	* reloc.c: Add new PowerPC relocations.
6441597410b8Schristos	* {bfd-in2,libbfd}.h: Regenerate.
6442597410b8Schristos
6443597410b8Schristos	* elf32-ppc.c (ppc_elf_howto_raw): Add more PPC relocations.
6444597410b8Schristos	(ppc_elf_reloc_type_lookup): Lookup new relocations.
6445597410b8Schristos
6446597410b8SchristosMon Jan 15 14:29:44 1996  Ian Lance Taylor  <ian@cygnus.com>
6447597410b8Schristos
6448597410b8Schristos	* aoutx.h (howto_table_ext): Fix RELOC_BASE10 and RELOC_BASE22
6449597410b8Schristos	entries.
6450597410b8Schristos
6451597410b8Schristos	* sunos.c (sunos_scan_ext_relocs): Don't fail assert if
6452597410b8Schristos        info->shared.
6453597410b8Schristos
6454597410b8Schristos	* coffgen.c (coff_find_nearest_line): Don't try to cache
6455597410b8Schristos	information in sections that are not owned by a BFD.  From Richard
6456597410b8Schristos	Henderson <richard@atheist.tamu.edu>.
6457597410b8Schristos
6458597410b8Schristos	* elf32-mips.c: Numerous changes to dynamic linking code, mostly
6459597410b8Schristos	from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
6460597410b8Schristos	* elflink.h (elf_link_output_extsym): Remove special check for
6461597410b8Schristos	_rld_new_interface.
6462597410b8Schristos
6463597410b8Schristos	* ecoffswap.h: Add prototypes for static functions.
6464597410b8Schristos
6465597410b8SchristosSun Jan 14 21:36:08 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6466597410b8Schristos
6467597410b8Schristos	* elf32-ppc.c (ppc_elf_{unsupported,std}_reloc): Remove functions.
6468597410b8Schristos	(ppc_elf_howto_raw): Remove ppc_elf_{unsupported,std}_reloc
6469597410b8Schristos	references.
6470597410b8Schristos	(ppc_elf_relocate_section):  No longer allow .sdata/.sbss sections
6471597410b8Schristos	to satisfy a TOC16 relocation. 	Rewrite unsupported relocation
6472597410b8Schristos	support.  Begin support for R_PPC_SDA{2,}REL.
6473597410b8Schristos
6474597410b8SchristosSat Jan 13 09:36:52 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6475597410b8Schristos
6476597410b8Schristos	* elf32-ppc.c (ppc_elf_create_dynamic_sections): New function to
6477597410b8Schristos	create the .got and .got.neg sections.
6478597410b8Schristos	(ppc_elf_size_dynamic_sections): Call it.
6479597410b8Schristos	(ppc_elf_check_relocs): Call it.
6480597410b8Schristos	(ppc_elf_size_dynamic_sections): Support .got.neg, just like .got.
6481597410b8Schristos	(ppc_elf_check_relocs): Add error messages for relocations we
6482597410b8Schristos	don't yet support.  Do not include R_PPC_SDAREL16 like a GOT
6483597410b8Schristos	relocation.
6484597410b8Schristos
6485597410b8SchristosFri Jan 12 15:27:59 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6486597410b8Schristos
6487597410b8Schristos	* elf32-ppc.c (ppc_elf_fake_sections): Define, and handle the new
6488597410b8Schristos	section flags for V.4 and eabi.
6489597410b8Schristos
6490597410b8SchristosFri Jan 12 13:59:16 1996  Ian Lance Taylor  <ian@cygnus.com>
6491597410b8Schristos
6492597410b8Schristos	* elf.c (assign_file_positions_for_segments): If a segment
6493597410b8Schristos	contains no sections, don't mark it as readable.
6494597410b8Schristos
6495597410b8Schristos	* elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare.
6496597410b8Schristos	* elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare.
6497597410b8Schristos
6498597410b8Schristos	* elf.c (_bfd_elf_print_private_bfd_data): Dump contents of
6499597410b8Schristos	dynamic section, if there is one.
6500597410b8Schristos	* elf-bfd.h (struct elf_size_info): Add swap_dyn_in field.
6501597410b8Schristos	(bfd_elf32_swap_dyn_in): Change type of second parameter to PTR.
6502597410b8Schristos	(bfd_elf64_swap_dyn_in): Likewise.
6503597410b8Schristos	* elfcode.h (elf_swap_dyn_in): Change type of second parameter to
6504597410b8Schristos	PTR.
6505597410b8Schristos	(NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field.
6506597410b8Schristos
6507597410b8Schristos	* elf32-i386.c (elf_i386_size_dynamic_sections): Don't create a
6508597410b8Schristos	DT_TEXTREL entry because of .rel.plt.  From Martin Pirker
6509597410b8Schristos	<pirker@eiunix.tuwien.ac.at>.
6510597410b8Schristos
6511597410b8SchristosThu Jan 11 17:06:14 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6512597410b8Schristos
6513597410b8Schristos	* section.c (SEC_{EXCLUDE,SORT_ENTRIES}): New section flags for
6514597410b8Schristos	PowerPC V.4 and eabi.
6515597410b8Schristos 	* bfd-in2.h: Regenerate.
6516597410b8Schristos	* libfd.h: Regenerate.
6517597410b8Schristos
6518597410b8Schristos	* elfxx-target.h (TARGET_{BIG,LITTLE}_SYM): Add new flags.
6519597410b8Schristos
6520597410b8Schristos	* elf32-ppc.c (ppc_elf_section_from_shdr): Support SHT_ORDERED
6521597410b8Schristos	section type and SHF_EXCLUDE section flag, turning them into the
6522597410b8Schristos	appropriate bfd section flag.
6523597410b8Schristos
6524597410b8SchristosThu Jan 11 11:23:30 1996  Ian Lance Taylor  <ian@cygnus.com>
6525597410b8Schristos
6526597410b8Schristos	* xcofflink.c (xcoff_link_add_symbols): Create the special
6527597410b8Schristos	sections if we see a DYNAMIC object, in case that is the only
6528597410b8Schristos	XCOFF input object we see.
6529597410b8Schristos
6530597410b8Schristos	* elf32-mips.c: Extensive changes for a start at dynamic linking
6531597410b8Schristos	support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
6532597410b8Schristos
6533597410b8Schristos	* elf-bfd.h (struct elf_backend_data): Add type_change_ok field.
6534597410b8Schristos	(struct elf_backend_data): Remove
6535597410b8Schristos	elf_backend_create_program_headers field.  Add
6536597410b8Schristos	elf_backend_additional_program_headers and
6537597410b8Schristos	elf_backend_modify_segment_map fields.
6538597410b8Schristos	* elfxx-target.h (elf_backend_type_change_ok): Define if not
6539597410b8Schristos	defined.
6540597410b8Schristos	(elf_backend_additional_program_headers): Likewise.
6541597410b8Schristos	(elf_backend_modify_segment_map): Likewise.
6542597410b8Schristos	(elf_backend_create_program_headers): Don't define.
6543597410b8Schristos	(elfNN_bed): Change to account for field changes.
6544597410b8Schristos	* elf.c (assign_file_positions_for_segments): Call new
6545597410b8Schristos	modify_segment_map backend function.  Don't call old
6546597410b8Schristos	create_program_headers backend function.
6547597410b8Schristos	(get_program_header_size): Call additional_program_headers rather
6548597410b8Schristos	than create_program_headers.
6549597410b8Schristos	* elflink.h (elf_link_add_object_symbols): Initialize
6550597410b8Schristos	type_change_ok from new backend field.
6551597410b8Schristos	(elf_link_output_extsym): Don't warn if _rld_new_interface is
6552597410b8Schristos	defined.
6553597410b8Schristos	(elf_reloc_link_order): Treat a reloc against a defined symbol as
6554597410b8Schristos	a reloc against the appropriate section.
6555597410b8Schristos
6556597410b8Schristos	* elf-bfd.h (struct bfd_elf_section_data): Add tdata field.
6557597410b8Schristos	(struct elf_obj_tdata): Rename ppc_flags_init field to flags_init.
6558597410b8Schristos	(elf_flags_init): Rename from elf_ppc_flags_init.
6559597410b8Schristos	* elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not
6560597410b8Schristos	elf_ppc_flags_init.
6561597410b8Schristos	(ppc_elf_copy_private_bfd_data): Likewise.
6562597410b8Schristos	(ppc_elf_merge_private_bfd_data): Likewise.
6563597410b8Schristos
6564597410b8Schristos	* elf32-m68k.c (howto_table): Change src_mask to 0 for all
6565597410b8Schristos	relocation entries.
6566597410b8Schristos
6567597410b8SchristosTue Jan  9 15:22:53 1996  David Mosberger-Tang  <davidm@azstarnet.com>
6568597410b8Schristos
6569597410b8Schristos	* coff-alpha.c (alpha_relocate_section): During final link, allow
6570597410b8Schristos 	output .lita section to be bigger than 64k by adjusting gp value
6571597410b8Schristos 	on a per-input section basis.
6572597410b8Schristos	* libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning
6573597410b8Schristos	field.
6574597410b8Schristos	(struct ecoff_section_tdata): Add gp field.
6575597410b8Schristos
6576597410b8SchristosTue Jan  9 12:00:36 1996  Ian Lance Taylor  <ian@cygnus.com>
6577597410b8Schristos
6578597410b8Schristos	Handle Alpha ECOFF changes in OSF/1 3.2.
6579597410b8Schristos	* libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos
6580597410b8Schristos	field.
6581597410b8Schristos	* coff-alpha.c: Include "aout/ar.h".
6582597410b8Schristos	(alpha_ecoff_get_relocated_section_contents): Don't require an
6583597410b8Schristos	ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1
6584597410b8Schristos	3.2 doesn't generate one.
6585597410b8Schristos	(alpha_relocate_section): Likewise.
6586597410b8Schristos	(alpha_ecoff_slurp_armap): Define.
6587597410b8Schristos	(alpha_ecoff_slurp_extended_name_table): Define.
6588597410b8Schristos	(alpha_ecoff_construct_extended_name_table): Define.
6589597410b8Schristos	(alpha_ecoff_truncate_arname): Define.
6590597410b8Schristos	(alpha_ecoff_write_armap): Define.
6591597410b8Schristos	(alpha_ecoff_generic_stat_arch_elt): Define.
6592597410b8Schristos	(alpha_ecoff_update_armap_timestamp): Define.
6593597410b8Schristos	(ARFZMAG): Define.
6594597410b8Schristos	(alpha_ecoff_read_ar_hdr): New static function.
6595597410b8Schristos	(alpha_ecoff_get_elt_at_filepos): New static function.
6596597410b8Schristos	(alpha_ecoff_openr_next_archived_file): New static function.
6597597410b8Schristos	(alpha_ecoff_get_elt_at_index): New static function.
6598597410b8Schristos	(alpha_ecoff_backend_data): Initialize get_elt_at_filepos field.
6599597410b8Schristos	(ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from
6600597410b8Schristos	_bfd_ecoff to alpha_ecoff.
6601597410b8Schristos	* ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos
6602597410b8Schristos	field from backend structure, rather than always calling
6603597410b8Schristos	_bfd_get_elt_at_filepos.
6604597410b8Schristos	* coff-mips.c (mips_ecoff_backend_data): Initialize
6605597410b8Schristos	get_elt_at_filepos field.
6606597410b8Schristos	* archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied
6607597410b8Schristos	from _bfd_generic_read_ar_hdr with minor changes.
6608597410b8Schristos	(_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag.
6609597410b8Schristos	* libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare.
6610597410b8Schristos	* libbfd.h: Rebuild.
6611597410b8Schristos
6612597410b8Schristos	* bfd-in.h (BFD_IN_MEMORY): Define.
6613597410b8Schristos	* libbfd-in.h (struct bfd_in_memory): Define.
6614597410b8Schristos	* libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag.
6615597410b8Schristos	(bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file.
6616597410b8Schristos	(bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set.
6617597410b8Schristos	(bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag.
6618597410b8Schristos	* bfd.c (struct _bfd): Change iostream field from char * to PTR.
6619597410b8Schristos	(bfd_get_size): Handle BFD_IN_MEMORY flag.
6620597410b8Schristos	* cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files.
6621597410b8Schristos	(bfd_open_file): Cast to PTR, not char *, when setting iostream.
6622597410b8Schristos	(bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set.
6623597410b8Schristos	* opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting
6624597410b8Schristos	iostream.
6625597410b8Schristos	(bfd_openstreamr): Likewise.
6626597410b8Schristos	* aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if
6627597410b8Schristos	BFD_IN_MEMORY is not set.
6628597410b8Schristos	* riscix.c (riscix_some_aout_object_p): Likewise.
6629597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
6630597410b8Schristos
6631597410b8Schristos	* targets.c (bfd_target): Add _bfd_get_elt_at_index field.
6632597410b8Schristos	(BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index.
6633597410b8Schristos	(bfd_get_elt_at_index): Define.
6634597410b8Schristos	* archive.c (_bfd_generic_get_elt_at_index): Rename from
6635597410b8Schristos	bfd_get_elt_at_index.  Change index parameter from int to
6636597410b8Schristos	symindex.
6637597410b8Schristos	* libbfd-in.h (_bfd_generic_get_elt_at_index): Declare.
6638597410b8Schristos	(_bfd_noarchive_get_elt_at_index): Define.
6639597410b8Schristos	(_bfd_archive_bsd_get_elt_at_index): Define.
6640597410b8Schristos	(_bfd_archive_coff_get_elt_at_index): Define.
6641597410b8Schristos	* bfd-in2.h, libbfd.h: Rebuild.
6642597410b8Schristos	* aout-target.h (MY_get_elt_at_index): Define if not defined.
6643597410b8Schristos	* coff-rs6000.c (xcoff_get_elt_at_index): Define.
6644597410b8Schristos	* ieee.c (ieee_get_elt_at_index): Define.
6645597410b8Schristos	* libecoff.h (_bfd_ecoff_get_elt_at_index): Define.
6646597410b8Schristos	* oasys.c (oasys_get_elt_at_index): Define.
6647597410b8Schristos	* som.c (som_get_elt_at_index): Define.
6648597410b8Schristos
6649597410b8Schristos	* ecoff.c (_bfd_ecoff_find_nearest_line): Don't restrict line
6650597410b8Schristos	numbers to the .text section.
6651597410b8Schristos
6652597410b8SchristosMon Jan  8 17:00:57 1996  Ian Lance Taylor  <ian@cygnus.com>
6653597410b8Schristos
6654597410b8Schristos	* ieee.c (ieee_write_debug_part): Change return type to boolean.
6655597410b8Schristos	If there is a SEC_DEBUGGING section, get the contents of the debug
6656597410b8Schristos	information part from it.
6657597410b8Schristos	(ieee_set_section_contents): Store the contents of a SEC_DEBUGGING
6658597410b8Schristos	section in memory.
6659597410b8Schristos	(ieee_write_object_contents): Check ieee_write_debug_part return.
6660597410b8Schristos
6661597410b8SchristosThu Jan  4 17:12:37 1996  Fred Fish  <fnf@cygnus.com>
6662597410b8Schristos
6663597410b8Schristos	* config.bfd (i[345]86-*-freebsd*): Add target.
6664597410b8Schristos	* configure.in (i386freebsd_vec): Add vec.
6665597410b8Schristos	* configure: Regenerate.
6666597410b8Schristos	* Makefile.in (BFD32_BACKENDS): Add i386freebsd.o.
6667597410b8Schristos	(BFD32_BACKENDS_CFILES): Add i386freebsd.c.
6668597410b8Schristos	Rebuild dependencies..
6669597410b8Schristos	* freebsd.h: New file.
6670597410b8Schristos	* i386freebsd.c: New file.
6671597410b8Schristos	* targets.c (i386freebsd_vec): Declare.
6672597410b8Schristos	(bfd_target_vector): Add i386freebsd_vec.
6673597410b8Schristos	* i386linux.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
6674597410b8Schristos	* i386netbsd.c (SEGMENT_SIZE):  Define as TARGET_PAGE_SIZE
6675597410b8Schristos
6676597410b8SchristosThu Jan  4 16:27:46 1996  Ian Lance Taylor  <ian@cygnus.com>
6677597410b8Schristos
6678597410b8Schristos	* ieee.c (ieee_slurp_debug): New static function.
6679597410b8Schristos	(ieee_object_p): Call it.
6680597410b8Schristos	(ieee_slurp_section_data): Skip debugging sections.
6681597410b8Schristos	(ieee_get_reloc_upper_bound): Likewise.
6682597410b8Schristos	(ieee_get_section_contents): Likewise.
6683597410b8Schristos	(ieee_canonicalize_reloc): Likewise.
6684597410b8Schristos	(ieee_write_section_part): Likewise.
6685597410b8Schristos	(ieee_write_debug_part): Likewise.
6686597410b8Schristos	(ieee_write_data_part): Likewise.
6687597410b8Schristos	(init_for_output): Likewise.
6688597410b8Schristos
6689597410b8SchristosWed Jan  3 19:42:47 1996  Michael Meissner  <meissner@wogglebug.tiac.net>
6690597410b8Schristos
6691597410b8Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Make @GOT relocations
6692597410b8Schristos	work.
6693597410b8Schristos	(ppc_elf_howto_raw): Just use bfd_elf_generic_reloc for all howto
6694597410b8Schristos	relocs, since ppc_elf_relocate_section handles the linker case.
6695597410b8Schristos	(ppc_elf_{addr16_ha,got16,toc16,brtaken}_reloc): Delete, no longer
6696597410b8Schristos	used.
6697597410b8Schristos	(ppc_elf_{addr16_ha,got16,toc16,brtaken}_inner): Merge these into
6698597410b8Schristos	ppc_elf_relocate_section since that is now the only caller.
6699597410b8Schristos	(ppc_elf_relocate_section): Ditto.
6700597410b8Schristos
6701597410b8SchristosWed Jan  3 15:11:30 1996  Ian Lance Taylor  <ian@cygnus.com>
6702597410b8Schristos
6703597410b8Schristos	* coffcode.h (coff_write_object_contents): If we don't know the
6704597410b8Schristos	section of the entry point for an XCOFF executable, always set the
6705597410b8Schristos	entry address to -1.
6706597410b8Schristos
6707597410b8SchristosTue Jan  2 14:17:15 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
6708597410b8Schristos
6709597410b8Schristos	* elf.c (bfd_section_from_shdr): Add support for note sections.
6710597410b8Schristos
6711597410b8SchristosTue Jan  2 13:10:25 1996  Ian Lance Taylor  <ian@cygnus.com>
6712597410b8Schristos
6713597410b8Schristos	* bfd-in.h (struct _symbol_info): Add stab_type field.
6714597410b8Schristos	* bfd-in2.h: Rebuild.
6715597410b8Schristos	* aoutx.h (NAME(aout,get_symbol_info)): Set stab_type.
6716597410b8Schristos
6717597410b8Schristos	* elf32-ppc.c: Remove trailing newline from calls to
6718597410b8Schristos        _bfd_error_handler.
6719597410b8Schristos	(ppc_elf_merge_private_bfd_data): Only warn about endianness
6720597410b8Schristos	difference if target endianness is known.
6721597410b8Schristos
6722597410b8SchristosFor older changes see ChangeLog-9495
6723597410b8Schristos
6724*b23b2582SchristosCopyright (C) 1996-1997 Free Software Foundation, Inc.
6725a2e2270fSchristos
6726a2e2270fSchristosCopying and distribution of this file, with or without modification,
6727a2e2270fSchristosare permitted in any medium without royalty provided the copyright
6728a2e2270fSchristosnotice and this notice are preserved.
6729a2e2270fSchristos
6730597410b8SchristosLocal Variables:
6731597410b8Schristosmode: change-log
6732597410b8Schristosleft-margin: 8
6733597410b8Schristosfill-column: 74
6734597410b8Schristosversion-control: never
6735597410b8SchristosEnd:
6736