aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
blob: 98a8252dcaefd0af38acaf451acf9aff59fb250d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
Fri May 24 18:56:52 1991  Steve Chamberlain  (steve at cygint.cygnus.com)

	* i386coff.c: created.
	* coffcode.h: added support for 386. 
	* Makefile.in: added support for 386. 
	* ../include/i386coff.h: created

Wed May 22 07:26:38 1991  Steve Chamberlain  (steve at cygint.cygnus.com)

	* libbfd.c: Changed #ifdef __GNUC__ to #ifdef HOST_64_BIT, Added
	DEFUNS 


Tue May 21 08:58:58 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
	(bothner)
	* opncls.c: Changed obstack_chunk_alloc use xmalloc

Mon May 20 17:12:17 1991  Steve Chamberlain  (steve at cygint.cygnus.com)

	* everything: Removed sysdep.h from bfd.h and put back into files
	from which it was split out. Now 64 bit version is built with a
	-DHOST_64_BIT="long long" on the compile line.


Fri May 17 19:35:26 1991  Steve Chamberlain  (steve at cygint.cygnus.com)

	Changed all the [get|put][name] routines to use  [get|put]_[size
	in bytes].  

	Put in support for 64 bit work. Now two versions of bfd may be
	generated, according to the state of TARGET_64_BIT, one which is
	32 bit only, and one which is 64/32 bits. 
	Created new back end 'demo64' to test 64 bit functionality.

	Renamed some files to work on DOS.

	* archive.c: lint * bfd.c: prototypes and lint. * ecoff.c: added
	64bit transfer 	* icoff.c: added 64bit transfer * ieee.c: name
	chage, 64 bit transfer. * liba.out.h: Split out common code from
	sunos and newsos into liba.out. Name changes and prototype mods. *
	libbfd.c: lint and prototypes, extra 64bit swaps. * libbfd.h:
	prototypes for new functions. * libcoff.h: lint * libieee.h: make
	work on DOS * liboasys.h: make work on DOS * m88k-bcs.c: Name
	change and 64bit stuff.* newsos3.c: common code removed, new jump
	table. * oasys.c: Name change * opncls.c: Portability fixes *
	srec.c: Name changes * sunos.c: Removed comon code. * targets.c:
	Added demo * aout32, aout64.c include  aoutx.h * bout.c: used to
	be called b.out.c * coffcode.h: used to be called coff-code.h, now
	64bit ized. * demo64.c: 64 bit a.out back end


	


Thu May 16 16:02:07 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
	from bothner
 	* libieee.h: Make ieee_data and ieee_ar_data macros usable
	on LHS of assignment, even when using old compilers.
	* liboasys.h: Ditto for oasys_data and oasys_ar_data.
	* m68kcoff.c: Add enum-to-int casts to accomodate old compilers.
	* newsos3.c: Fix definitions of SEGMENT_SIZE and TEXT_START_ADDR.
	* opncls.c: Define S_IXUSR, S_IXGRP, S_IXOTH if undefined.
	* targets.c: Add declaration of newsos3_vec.


Mon May 13 10:03:29 1991  Steve Chamberlain  (steve at cygint.cygnus.com)

	* aout.c: fixxed some of the problems with filepos calculation.
	(swap_ext_reloc): fixed problem with creation of relocs.
	(aout_set_section_contents): fixed filepos problem

	* coff-code.h: (swap_filehdr_in, swap_filehdr_out) add.
	(swap_filehdr) delete. Changed all the usage of bfd_h_put_x.
	(swap_aouthdr_in, swap_aouthdr_out) add. (swap_aouthdr) delete.
	(coff_real_object_p) cleaned up, added MIPS. (coff_object_p)
	cleaned up. (coff_write_object_contents) cleaned up. 

	* ecoff.c: Totally different. Now supports ecoff fully.

	* icoff.c: fixed problems in relocation callout.

	* libcoff.h: (struct icofdata) removed hdr structure from tdata.

	* m68kcoff.c: updated target vector.

	* sunos.c: (choose_reloc_size) added: (sunos4_callback) calls
	choose_reloc_size. (sunos4_write_object_contents) now calls
	choose_reloc_size so outputs relocs correctly, also calculates the
	size of the sections correctly.



Fri May 10 16:58:53 1991  John Gilmore  (gnu at cygint.cygnus.com)

	Merge Per Bothner's changes to modularize BFD a.out a bit.

	* libbfd.h, libbfd.c (bfd_generic_get_section_contents):  Add.
	* ieee.c:  Cast enums to int before comparing them, for brain-
	dead compilers.
	* coff-code.h:  Remove coff_get_section_contents, and use the
	generic one instead.

	* aout.c:  Derive new module from sunos.c, containing generic
	support code for all kinds of a.out files.

	* sunos.c: Remove all code that goes in aout.c.  Split out
	machine dependent followup in sunos4_object_p into
	sunos4_callback.  Use JUMP_TABLE(aout) for the transver vector,
	and redefine only the names we CHANGE, not all the names.  Drop
	the little-endian vector, and rename the vector as sunos4 rather
	than generic.

	* b.out.c:  Use aout.c routines for most of the work.  Slight
	changes for the new regime.  Remove close_and_cleanup and
	get_section_contents in favor of generics.  New transfer vector
	regime.

	* newsos.c:  New support for Sony NEWS, another a.out format.

	* ecoff.c:  Remove close_and_cleanup.  New tvec regime.
	* icoff.c, m88k-bcs.c:  Add write_contents to tvec.
	* ieee.c, oasys.c:  Remove close_and_cleanup, add write_contents
	to tvec. 
	* opncls.c (bfd_close):  Call format-dependent write_contents
	routine, if writing, before calling target-dependent
	close_and_cleanup routine (which is now always generic, I think).
	* srec.c:  Use bfd_alloc instead of malloc.  Remove
	close_and_cleanup and move code from it to
	srec_write_object_contents.  Add write_contents to tvec.
	* targets.c:  Remove a.out little vector, replace a.out big
	vector with SunOS vector.  FIXME:  Need Vax support again now.

	* libbfd.h:  Add write_contents format-dependent-vector to the
	bfd_target vector.  Supply a generic close_and_cleanup routine.
	* liba.out.h:  Handle the new aout.c split.  Add prototypes for
	all routines defined in aout.c.  Rename "sunos" things to "aout"
	things.  Add a few fields where needed for various formats.
	* Makefile.in:  Add aout.c and newsos.c.

	* archive.c, ieee.c, oasys.c:  Lint.

Fri May 10 12:34:48 1991  Steve Chamberlain  (steve at cygint.cygnus.com)

	* ../include/bfd.h
	changed forward declaration struct stat; to reduce warnings. Changed
	comment on bfd_h_<x>_x.

	* ../include/m68kcoff.h, ../include/intel-coff.h,
	../include/m88k-bcs.h
	Now there are two incarnations of relocs, linenos and syments. One for
	internal digestion, and one full of char arrays for I/O. The original
	names have gone to detect errors.

	* Makefile.in, m68kcoff.c, targets.c
	Test new structure code with a 68k coff implementaion

	* coff-code.h, icoff.c, coffswap.c, libcoff.h 
	Fixed all the places where there were problems with the size and
	alignments of structures on disk and structures in memory. #ifed out
	all the code in coffswap.c, since it should be done using the target
	swap routines now.

Thu May  9 11:00:45 1991  Steve Chamberlain  (steve at cygint.cygnus.com)

	* ieee.c (do_one, ieee_slurp_section_data): now supports the load
	multiple reloc command.

	* sunos.c (sunos4_set_section_contents): Made it so that sections
	are always padded to their alignment size.

Sat May  4 15:49:43 1991  John Gilmore  (gnu at cygint.cygnus.com)

	* archive.c, bfd.c, coff-code.h, opncls.c, sunos.c, trad-core.c:
	Clean up types and such (saber C problems).
	* ecoff.c:  Clean up types and such.  Remove routines that are
	not used.  Fix up reading and swapping of shorts from files.

   Notes on bfd-0.5.2-patch1a, from Per Bothner:

	* a.out.vax.c: Remove two bogus "static" from prototypes.

	* ecoff.c: Got rid of lots of non-working junk (that had
	been copied directly from coff-code.h).
	Updated to be consistent with updates to icoff.c and coff-code.h.

	* libbfd.h: Added definitions for S_IXUSR, S_IXGRP, and S_IXOTH
	if they're missing (as they are in (BDS-4.3-based) NewsOS-3).

	* sunos.c (n_txtoff): (Re-)Add support for sony. This is a kludge,
	but until the target_vector is automatically generated,
	it's as good as any. Note that the text offset is the only
	difference between NewsOS and SunOs (including magic numbers).
	(Most of the sunos_* routines should to renamed bsd_*
	and move to a bsd.c file. Then (and when the target_vector
	is automatically generated) it might make sense to create
	a separate Sony target.)

	* sysdep.h: Don't declare fread and fwrite. Causes trouble
	on some systems, and doesn't help on others.
	Similarly, only define X_OK if not already defined.

	* trad-core.c: Don't include sys/stat.h - at least
	on NewsOS 3, it has already been included.

Tue Mar  5 01:47:57 1991  John Gilmore  (gnu at cygint.cygnus.com)

	* coff-code.h (bfd_coff_swap_sym, bfd_coff_swap_aux,
	bfd_coff_swap_lineno):  Export the routines that byte-swap COFF
	symbol tables if necessary when reading them in, so gdb can use
	them.  Add "bfd_coff_" to the names so they won't conflict with
	names in calling programs.  FIXME-soon:  if coff-code.h is
	included in two BFD modules, this will cause duplicate
	definitions; the routines should be exported to a separate,
	common, module (probably along with a mess of other ones).

Sat Mar  2 12:11:26 1991  John Gilmore  (gnu at cygint.cygnus.com)

	Improve modtime support.

	* bfd.h:  Add boolean mtime_set, and declare bfd_get_mtime.
	Remove #define for bfd_get_mtime.  Remove gratuitous comment.
	* bfd.c (bfd_get_mtime):  New fn, caches mtime, gets if not cached.
	BUG:  archive members still do not get correct mod times.

	Improve floating point support for core files.

	* sunos.c (struct core):  Change void *fpa_dummy to double fp_stuff.
	(sunos4_core_file_p):  Create a second registers section in the
	core file, called ".reg2", for the float registers.

Thu Feb 14 15:49:06 1991  Gumby Vinayak Wallace  (gumby at cygint.cygnus.com)

	* many changes to improve archive handling; found a logic flaw in
	  bfd_check_format which only just happened to work by cooncidence.

Thu Feb 14 07:53:16 1991  Steve Chamberlain  (steve at cygint.cygnus.com)

	* bfd.c (bfd_perform_relocation): fixed to use output_offsets
	correctly.
	
	* bfd.h: changed type of udata in asymbol to void *, like it
	should be. Added bfd_reloc_dangerous enum member.

	* coff-code.h: Fixed it so that internally generated symbols get
	their values relocated correctly in all cases. Removed calls to
	xmalloc.

	* icoff.c: Not understanding the destination symbol of a reloc is
	not a failure any more, just 'dangerous'. This allows linking of
	b.out and coff images.

	* sunos.c: Cleaned up the way that ZMAGIC section sizes are
	calculated.


Tue Feb 12 13:25:46 1991  Steve Chamberlain  (steve at cygint.cygnus.com)

	* sunos.c (translate_to_native_sym_flags): fixed
	sym_pointer->n_value so that symbols on the way out get their
	section relative values calculated correctly.

	* coff-code.h (mangle_symbols): fixed problem where tags were not
	being relocated for structs, enums, unions. Also various lints.

Mon Feb 11 19:52:26 1991  Gumby Vinayak Wallace  (gumby at cygint.cygnus.com)

	* archive.c (get_elt_at_filepos): system_call_error returned
	  incorrectly.

Sun Feb 10 23:18:40 1991  Gumby Vinayak Wallace  (gumby at cygint.cygnus.com)

	* Resolve the use of no_error and system_call_error.
	  The bfd library itself now will never set bfd_error to
	  no_error.

	  The code still needs to be combed to make sure all the error
	  codes are correct.  I suspect they are not always set correctly.

	* The names of all the messages have _ prepended because the sun
	  bundled compiler can't distinguish from a macro which takes an
	  argument and the same identifier in a non-macro context.

	* The reason for the above being that entry points which used to
	  be trampoline functions are now just macros which expand to a
	  direct call through the bfd's xfer vector.

	* (../include/intel-coff.h) F_AR32WR: fix this constant.  Why
	  must gas have its own version of everything (the gas version
	  had the correct value)

Tue Feb  5 11:46:53 1991  Steve Chamberlain  (steve at cygint.cygnus.com)

	* b.out.c: Added patches supplied by chrisb@mipon2.intel.com to
	properly support i960 architecture and output correct reloc stuff.

	* bfd.h: added prototype for bfd_printable_arch_mach, added
	BFD_FAIL

	* coff-code.h: Applied patches from chrisb to support i960
	architecture, zero relocs and swap them correcly and conditionally
	compiled the timestamp.

	* sunos.c: Made the default section alignment 2^3 so that doubles
	are done properly. Fixed the same reloc bug that was in b.out.c

	* sysdep.h: Now compiles on a Posix box

Wed Jan 30 21:36:26 1991  John Gilmore  (gnu at cygint.cygnus.com)

	* icoff.c:  Fix comment on big-endian version.
	* coff-code.h:  Make HAS_RELOC really work (it's backwards from
	F_RELFLG).  Set F_AR32WR in output files if little endian
	architecture.

Tue Jan 29 20:56:10 PST 1991 steve@cygnus.com
	
	* archures.c fixed =/== typo
	
	* sunos.c added architecture stuff for output. Fixed
	bug where files where vma(data) != size(text) 
	were processed wrong.

	* coff-code.h added a lint cast

	* (../include/a.out.sun4.h) fixed it so zmagic
	worked

Mon Jan 28 19:15:29 PST 1991 steve@cygnus.com

	* archive.c removed loads of includes, and fixed bug where string
	table didn't have a null at the end.

	* bfd.c fixed includes, added symbols argument to 
	canonicalize_reloc entry point.

	* libbfd.c fixed includes and added some lint patches.
	
	* targets.c added both sorts of intel coff.

	* b.out.c fixed included, changed was the canonical
	relocs were done.

	* icoff.c added support for callj and big and little
	enidian tables.

	* opncls.c added chmod+xing for files with EXEC_P set.

	* sunos.c fixed includes. Changed default section
	alignement to words. Fixed relocation stuff to work with
	new scheme

	* bfd.h various new types added, prototype for new
	reloc calls, changed bfd->iostream to a void *
	to including files don't need stdio.h.

	* libcoff.h added conversion table to tie relocs to
	canonical symbols
		
	* sysdep.h created

	* coff-code.h fixed includes. Added code to support
	big and little endian formats. Various lints. Better
	processing of symbols. Changed reloc stuff to new
	order

	* libbfd.h fixed includes


Mon Jan 21 11:53:51 PST 1991 steve@cygnus.com
	
	* bfd.h	changed name of alignment entry in sec_struct to
	alignment_power, because of conflicting uses within bfd.
	Now it should be obvious that it's a 2**n alignment
	specifier. Removed start_pad, end_alignment, block, minsize,
	output_file_alignment, subsection_alignment and original_vma fields.
	Added align_power() macro. Fixed bfd_section_alignment
	acessor macros. Added bfd_symbol_same_target macro.

	* b.out.c (b_out_write_object_contents) fixed to use
	new alignment member. Fixed (callj_callback) to use section
	relative symbols properly.

	* sunos.c (sunos4_object_p) fixed to use new alignment_power.
	Fixed (translate_from_native_sym_flags) to correctly make	
	symbols section relative.

	* bfd.c (bfd_errmsg) fixed various enum cast problems. 
	(bfd_make_section) took out initialization of obsolete members.
	(bfd_print_symbol_vandf) added

	* opncls.c (bfd_create) created.

	* coff-code.h (coff_new_section_hook) took away refs
	to obsolete members. (make_a_section_from_file) added
	conversion between alignment types. (coff_symbol_from)
	added. (coff_count_linenumbers) only counts linenumbers
	if symbol is of coff-type. (coff_mangle_symbols) only
	heavily mangles symbols if symbol is coff-type.
	(coff_write_symbols) various lints. (coff_write_object_contents)
	various lints and modification for alignment conversion.
	(coff_slurp_relocs) fixed for use with new asection shape.

Sat Jan 19 16:10:42 PST 1991 steve@cygnus.com

	* archive.c lots of lint

	* b.out.c added callj relocation support, upgrated reloc howto.
	Fixed so that asymbol and reloc records are output 
	correctly.

	* bfd.c lots of lint, support for new bfd entry point
	bfd_print_symbol.

	* bfd.h changed definition of asymbol to contain pointer to
	owning bfd, removed target dependencies.

	* cache.c took out print statements, put in BFD_ASSERT calls.

	* coff-code.h various lints, corrected linenumber output
	functionality. Added support for new style asymbols and
	bfd_print_symbol. Fixed so that asymbol and
	reloc records are handled correctly. Added timestamp.

	* icoff.c Added support for new howto shape.
	
	* liba.out.h Added support for new asymbol shape

	* libbfd.c various lints

	* libbfd.h various lints

	* libcoff.h added support for new asymbol shape.

	* sunos.c  various lints. Added support for new asymbol shape
	and bfd_print_symbol.

Wed Jan 16 21:38:09 PST 1991 steve@cygnus.com

	* b.out.c removed prototype of sunos4_ennativate_symtab, lots of
	pointer lint. Added support for callj relocation. Fixed bug where
	the last 32 bytes of the text section were overwritten by data. Fixed bug
	where archives of b.out didn't work due bfd_slurp_extended_name_table
	returning false.

	* sunos.c added support for n_other field. Braced the howto table so
	that it won't be affected by any lengthing of the howto struct typedef.
	Various lints

	* bfd.h added support for n_other field, added special_function 	
	reloc type, modified bfd_perform_relocation prototype. Added bfd_h_get_x
	macros.

	* bfd.c upgraded bfd_perform_relocation, various lints.

Wed Jan 16 01:55:53 1991  John Gilmore  (gnu at rtl)

	* ChangeLog:  Started ChangeLog for BFD.
	* ToDo:  Create file for suggestions.

	* Makefile:  Support easy loading into Saber C.
	Add dependencies for icoff.o and bcs88kcoff.o.
	Rename coff.c to coff-code.h.  Change callers.

	* bfd.c (bfd_check_format):  Allow the check_format routines
	to return the desired target vector, rather than just a Boolean.
	bfd.h (bfd_check_format):  Change function pointer return type.
	archive.c (bfd_generic_archive_p):  change callee.
	b.out.c (b_out_little_object_p, b_out_big_object_p,
	b_out_real_object_p):  change callee.
	libbfd.c (_bfd_dummy_target):  Dummy routine replacing bfd_false
	in check_format transfer vectors that need a filler.
	libbfd.h (bfd_generic_archive_p, _bfd_dummy_target):  Fix decls.
	bcs88kcoff.c:  change callee.
	coff-code.h (coff_real_object_p, coff_big_object_p):  change callee.
	icoff.c:  change callee.
	sunos.c (sunos4_object_p, sunos4_core_file_p):  change callee.

	* libbfd.c (zalloc):  It should actually zero the storage!
	This was commented out for some reason.

	* libbfd.h:  Add malloc, xmalloc, memcpy, and fatal decls.
	This is so callers can avoid <stdlib.h> which doesn't exist
	on older systems.

	* bfd.c (map_over_sections):  Add debugging code, since I
	noticed the section count for sunos core files was bad, but only
	GDB had detected the problem.
	(bfd_set_section_lineno_size, bfd_set_section_linenos,
	bfd_get_section_linenos):  Remove obsolete functions.
	(bfd_apply_relocations):  Use longs, not ints, for the math.

	* bfd.h:  Declare enum boolean and struct bfd_target as well
	as typedefs for them.  Remove obsolete
	bfd_get_section_lineno_size.

	* cache.c:  Make the "fdopen" support work.  Keep better track
	of how many files are open.  Centralize the opening of files
	and be sure bfd_open[rw] actually try to open the file.  Evade
	linked list initialization problems.

	* b.out.c, coff-code.h, opncls.c, sunos.c:  lint.

	* coff-code.h (coff_slurp_symbol_table):  Null-terminate symtab names.

	* cplus-dem.c:  Delete file, since it is not part of BFD.

	* opncls.c (bfd_openr):  Eliminate misplaced #if 0 code.
	(bfd_openr, bfd_openw):  Actually open the file, give error now.
	
	* sunos.c (sunos4_core_file_p):  Set section count.
	(sunos4_set_section_linenos, stab_names, fprint_name):  Eliminiate
	obsolete definitions.
	(_write_symbol_table):  Initialize <idx> counter.
	(foop):  Eliminate debugging code.