Commit Graph

81 Commits

Author SHA1 Message Date
Steve Chamberlain 6ea296a6fd *** empty log message *** 1991-11-13 17:10:23 +00:00
John Gilmore 5685fb5005 Just use #undef, not #define foo foo 1991-11-12 15:22:22 +00:00
Steve Chamberlain 080f6324d6 Mon Nov 11 20:30:18 1991 Steve Chamberlain (sac at cygnus.com)
* Makefile.in: standardize on MINUS_G to disable debugging
	* coff-m88k.c: create coff armaps instead of bsd ones.
	* opncls.c (bfd_close_all_done), (bfd_close): Mask out random bits
	when calling chmod.
1991-11-12 04:32:57 +00:00
Fred Fish 4807bcf9a3 Additions to support ELF formatted core files. 1991-11-12 03:12:26 +00:00
Per Bothner ff7ce1700b * aoutx.h (NAME(aout,find_nearest_line)): Handle the case
of two N_SO stabs, one for directory, and one for filename.

	* bfd-in.h (print_vma):  Factor out duplicate definition.

	Exit a little more gracefully when malloc returns NULL.
	* libbfd.c: New function bfd_xmalloc (malloc wrapper).
	* opncls.c, syms.c, bout.c, aoutx.h:  Replace malloc by bfd_xmalloc.
	* libbfd.h: Rre-generated due to libbfd.c update.
1991-11-12 02:46:26 +00:00
Fred Fish f135f137a9 Document use of elf_big_vec as DEFAULT_VECTOR. 1991-11-09 21:51:52 +00:00
Fred Fish a6c1d73165 Don't try to create a bfd section for the first ELF section header table
entry, since it is just a placeholder with no name.
1991-11-09 21:48:15 +00:00
John Gilmore 285dbe1917 * coff-rs6000.c, config/mh-rs6000: Make it work on archive and
core files, when compiling native.
* hosts/h-rs6000.h:  Define FASCIST_FDOPEN for bfd_fdopenr.
1991-11-09 11:13:02 +00:00
Steve Chamberlain 85e0c72139 Thu Nov 7 11:03:55 1991 Steve Chamberlain (sac at rtl.cygnus.com)
* coffcode.h: Defined new macros [PUT|GET]LINENO_LNNO for
	manipulation of lnno fields in lineno structs in a coff-<f>.h
	independent way. Override it in coff-<f>.h to your favourite
	number if you don't have a 16bit lnno field. (coff_swap_lineno_in)
	(coff_swap_lineno_out): modified to use the new macros.
1991-11-07 19:06:38 +00:00
Steve Chamberlain 522e0ead63 Sat Nov 2 14:26:03 1991 Steve Chamberlain (steve at cygnus.com)
* Makefile.in: Added ctor.c
	* archures.c (bfd_default_arch_struct) added
	bfd_default_reloc_type_lookup.
	* coffcode.h: removed a load of #if 0ed code.
	(coff_compute_file_section_positions): now works out the section
	alignment and size correctly in all cases.
	(coff_get_symtab): looks for contructor symbols and calls the
	right function when they're found. (coff_canonicalize_reloc):
	knows when a section is full of contructors and does the right
	thing.
	* cpu-m88k.c: Added default_reloc_type lookup to the architecture
	description.
	* libbfd-in.h: (bfd_default_reloc_type_lookup) defun  added.
	* libcoff.h: removed #if 0ed code
	* reloc.c: (bfd_reloc_code_real_type) added BFD_RELOC_CTOR for
	arch independent contructtor relocation type.
	(bfd_reloc_type_lookup): removed the comment "this will go away"
	since it won't. (bfd_howto_32): stolen from 88k, this is a 32bit
	reloc which is used when BFD_RELOC_CTOR falls through to give a
	default 32bit reloc for contructors.
	(bfd_default_reloc_type_lookup): added.
	* aoutf1.h: fixed SEGMENT_SIZE typo.
1991-11-04 00:35:19 +00:00
Per Bothner e18e24af07 * bfd-in.h (bfd_print_symbol_type_hopw enum): Add new option
bfd_print_symbol_nm, for use by nm.
	* aoutx.h (NAME(aout,print_symbol)):  Add code for new
	bfd_print_symbol_nm option, to print in nm format.
	* coffcode.h (coff_print_symbol), ieee.c (ieee_print_symbol)
	oasys.c (oasys_print_symbol):  Provide stub implementations
	for bfd_print_symbol_nm.
	* syms.c:  New function bfd_decode_symclass, used by nm printer.
	New function bfd_stab_name to look up string name of stab code.
1991-11-03 22:47:50 +00:00
John Gilmore 6d7c88c3d0 * coff-rs6000.c: Change name to "aixcoff-rs6000", to avoid
matching prefix "coff".
* coffcode.h (coff_swap_aux_in, coff_swap_aux_out):  Handle
rs/6000 csect records.
1991-11-01 02:24:43 +00:00
Steve Chamberlain da6745fd68 * coff-m88k.c, targets.c: change name of m88k_bcs to m88kbcs 1991-10-28 01:18:01 +00:00
Steve Chamberlain 01dd1b2b47 Sun Oct 27 16:56:58 1991 Steve Chamberlain (steve at cygnus.com)
* configure.in: add motorola delta88 cases
	* libbfd.h, libbfd-in.h, archive.c, ieee.c, elf.c, srec.c: fix
	write_armap prototype
	* libbfd.c: add doc on bfd_write_bigendian_4byte_int
1991-10-28 01:08:51 +00:00
John Gilmore 156e38523a * Rename COFF-related files in `coff-ARCH.c' form.
coff-a29k.c, coff-i386.c, coff-i960.c, coff-m68k.c, coff-m88k.c,
coff-mips.c, coff-rs6000.c to be exact.
1991-10-25 10:17:52 +00:00
John Gilmore cc97dfbba7 RS/6000 support 1991-10-25 07:16:59 +00:00
John Gilmore cbdc790909 RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and John Gilmore. 1991-10-25 07:06:02 +00:00
John Gilmore ae9cce45ff Updates to h-vaxult.h from David Taylor. 1991-10-25 02:21:52 +00:00
Fred Fish e0796d2213 Add partial support for ELF format corefiles. Still needs code to extract
register values from corefiles and make them available to bfd clients.
1991-10-24 10:26:26 +00:00
Fred Fish 7b71de814a In config/t-m68k-elf, set DEFAULT_VECTOR to elf_big_vec. 1991-10-24 09:16:41 +00:00
Fred Fish dcc23cb9aa Document changes to some bfd config files. 1991-10-24 09:06:06 +00:00
Steve Chamberlain 33a782f1d2 * coffcode.h (coff_compute_section_file_positions): make it pad
section size out if there are alignment restrictions so that the
	image will be ok on a system where section positions are worked
	out by accumulating sizes rather than from the section headers.
1991-10-21 23:58:49 +00:00
Steve Chamberlain f58809fd41 * targets.c (proto write_armap). Changed orl_count to unsigned.
* opncls.c (bfd_close_all_done). Added so that generative
	programs like gas can close a bfd without causing bfd confusion.
	* libbfd.h (changed becuase of protos)
	* amdcoff.c: messed with the way that jmp displacements are
	calcualated. This may not yet be totally correct.
	* archive.c (coff_write_armap): rewrote the way that ranlibs are
	written out.
	* coffcode.h (fixup_symbol_value): now doesn't core dump if a non
	abs symbol has no section (like a register symbol).
	(coff_write_symbol) now zeros auxent before filling it up to help
	with sensitive applications.
	* libbfd.c (bfd_write_bigendian_4byte_int): added.
1991-10-21 16:42:54 +00:00
Per Bothner 314f3eeda3 * archive.c (bsd_write_argmap): The size of the ranlib structures
should not include teh size field itself.
	* aoutx.h, libaout.h (NAME(aout, sizeof_headers)):  Use
	adata(abfd)->exec_bytes_size field instead of constant macro,
	because aoutx.h compiles to a simple .o file shared by
	all 32-bits a.out targets.
1991-10-16 19:50:08 +00:00
John Gilmore 282effc79f Allow i386-sco-sysv.
Updates from my internet testing for gdb-4.2.
1991-10-16 18:59:59 +00:00
John Gilmore 7b02b4ed6f * hosts/h-amix.h (free): Fix prototype.
* aoutx.h:  Don't use NULL as an integer, for braindead systems
that declare it as (void *)0.  (From Peter Schauer.)
1991-10-15 23:41:17 +00:00
Per Bothner fd671dc421 * aoutx.h (NAME(aout,set_section_contents)): Try to handle the
various kinds of alignments for the various kinds of
	magic numbers.
1991-10-15 00:24:03 +00:00
John Gilmore f02be00a6d * Makefile.in: Avoid Sun Make VPATH bugs.
* targets.c:  Declare trad_core vectors extern.
1991-10-12 05:45:57 +00:00
Per Bothner 71fa3b0161 * coffcode.h: Moved ALIGN macro to libbfd.h. Removed i960_align.
* libbfd.h: Moved ALIGN macro here.
	* bout.c (b_out_callback): Replace i960_align by align_power.

	* libaout.h (struct aoutdata):  Added fields page_size,
	segment_size and exec_bytes_size.  These help generic code
	(in aoutx.h and libaout.h) to figure out where to align
	the various segments in a demand paged file.
	* libaout.h (WRITE_HEADER):  Use new (struct aoutdata) fields
	to decide if the exec header counts in a_text (text segment size).
	Also, assume D_PAGED flag is set; don't set it here.
	* bout.c (b_out_callback): Add initialization of
	adata fields page_size, segment_size, and exec_bytes_size.
	* host-aout.c (NAME(host_aout, callback) and
	NAME(host_aout,mkobject): Ditto.
	* i386aout.c (aout386_callback) and new aout386_mkobject): Ditto.
	* newos3.c (newsos3_callback) and new newsos_mkobject): Ditto.
	* aoutf1.c (sunos4_callback) and new sunos_mkobject): Ditto.
	* aoutx.h (NAME(aout,some_aout_object_p)): Don't subtract
	EXEC_BYTES_SIZE from the a_test size; this is only appropriate
	for some systems (mainly sunos), so do it in the callback instead.
	Same routine: Add stuff to the THIS_IS_ONLY_DOCUMENTATION comment.
	* aoutx.h (NAME(aout,set_section_contents): Change the way
	filepos and size of sections are carried out to support
	older styles of demand paged executables.
1991-10-11 20:45:29 +00:00
Steve Chamberlain 0d74098420 * bfd-in.h: Added more macros to COFF_SWAP_TABLE.
* bfd.c: Added macros to enable gas to swap coff records.
	* coffcode.h: Make the coff_swap_*_out routines return the number
	of bytes swapped, and cleaned up their prototypes.
	* configure.in: Added ebmon/coff support
	* ecoff.c: Changed null definitions of coff_swap_*_out to conform
	to new prototypes
	* targets.c: Added new entry points for coff swapping
1991-10-11 19:39:29 +00:00
John Gilmore 23d44ec958 Remove refs to ../include/sysdep.h. 1991-10-11 12:48:25 +00:00
John Gilmore 5b2765bf13 Restructure configuration scheme for bfd, binutils, ld.
* include/sys/h-*.h:  Move to bfd/hosts/h-*.h.
* configure.in:  Revise to symlink sysdep.h to hosts/h-xxx.h.
Change some config names to match other dirs.
* *.c:  Include bfd.h before sysdep.h, so ansidecl and PROTO()
get defined first.
* Makefile.in:  Use -I. to get sysdep.h.
* trad-core.c:  Don't disable the whole file if SUN4_SYS.
* config/:  Rename some config files to match up h-*.h names.
Remove all the HOST_SYS definitions from the config files.
* hosts/h-amix.h, h-i386v.h:  Define POSIX_UTIME, not USG.
* hosts/h-hp9000.h:  Remove USG comment.
* hosts/h-rs6000.h:  Include <stdlib.h> for malloc.
* hosts/h-news.h, h-sparc-64.h:  New config files that had
previously been kludged in the <sysdep.h> file.
1991-10-11 10:43:34 +00:00
John Gilmore 6a46902732 * Makefile.in: Rename XDEPFILES.
* trad-core.c:  Document how to use it nowadays.
* i386aout.c, newsos3.c:  Clean up.
* i386coff.c:  Allow 386 coff files to be used as core files too
(for reading core files from embedded systems).
1991-10-11 04:51:42 +00:00
Roland Pesch 92c78ee6ea * reloc.c, section.c, syms.c, targets.c: correct info-node
structure in *doc* comments.
1991-10-08 19:20:35 +00:00
John Gilmore 9e2dad8ed4 * bfd.c: Remove strerror() to libiberty.
* elf.c:  Remove elf_set_section_contents, use generic one.  Lint.
* libbfd-in.h, libbfd.c:  Add bfd_generic_set_section_contents.
* libbfd.c (bfd_generic_{get,set}_section_contents):  Check that
last byte of transfer, not first byte, is within the section.

* host-aout.c:  Remove `BSD' archive support.  Lint.

* archures.c: Rename `struct bfd_arch_info_struct' to `struct
bfd_arch_info'.  Rename `typedef bfd_arch_info_struct_type' to
`bfd_arch_info_type'.  All uses changed.
* reloc.c:  Rename `bfd_reloc_status_enum_type' to
`bfd_reloc_status_type'.  Rename `bfd_reloc_code_enum_real_type'
to `bfd_reloc_code_real_type'.  (This seems to be a misnomer,
it needs a better name.)  All uses changed.
* targets.c:  Rename `enum target_flavour_enum' to `enum
target_flavour', and remove the `_enum' from all of the enum
values themselves.  All uses changed.

* configure.in, config/h-i386mach:  i386 mach host.
* config/t-i386-aout:  Use host-aout.c.

* trad-core.c:  Give it its own xvec's to make it independent
of other file formats.
* ecoff.c, host-aout.c:  Remove refs to trad-core.
* config/t-dec3100, t-hp300bsd, t-tahoe, t-vax:  Define TRAD_CORE.
* targets.c:  #ifdef TRAD_CORE, include it in the vector.
1991-10-05 05:18:08 +00:00
Steve Chamberlain d997da5f3e *** empty log message *** 1991-10-05 00:42:03 +00:00
John Gilmore f004165ea5 * bfd-in.h: enum boolean => enum bfd_boolean for SVR4. Gumby's
prediction is vindicated!

* bfd-in.h, libbfd-in.h, doc/Makefile, doc/tolibbfd, doc/intobfd:
Remove refs to howto.c, since Steve forgot.
1991-10-04 02:49:06 +00:00
Steve Chamberlain a55612c73e * elf.c: took the abort out of set_arch_mach so that objdump -i will
still work. Now allows any architecture/machine to be set.
1991-10-03 14:51:20 +00:00
John Gilmore 3f85ebce78 * Makefile.in, configure.in, targets.c, elf.c: Add preliminary
ELF support good enough for GDB.
* configure.in, config/h-amix, config/t-m68k-elf:  Handle
m68k-cbm-svr4 host and target.
1991-10-01 19:46:47 +00:00
Steve Chamberlain 30d2c06f1d *** empty log message *** 1991-10-01 18:29:28 +00:00
John Gilmore 995ee059a1 Avoid depending on number of initializers. 1991-10-01 13:37:14 +00:00
John Gilmore 2ccc238359 Vax Ultrix changes from David Taylor <taylor@think.com>. 1991-10-01 12:08:20 +00:00
Steve Chamberlain e738d5d264 added:
* amdcoff.c: (a29k_reloc) fix error message.
1991-10-01 03:56:32 +00:00
Steve Chamberlain 4e6f9223b1 Mon Sep 30 15:13:46 1991 Steve Chamberlain (steve at cygnus.com)
* cpu-a29k.c, cpu-i386.c, cpu-m68k.c, cpu-mips.c, cpu-vax.c,
	cpu-h8300.c, cpu-i960.c, cpu-m88k.c, cpu-sparc.c: added. These
	files will eventually contain processor specific bits for bfd,
	like strange relocation information and dis/assembly.  So far only
	the H8 has been even partially done.  This work also ties in with
	the change in handling architectures.

	* aout-f1.h: (choose_reloc_size) now calls bfd_get_arch to
	discover the architecture of the bfd. (sunos4_callback) calls the
	function bfd_set_arch_mach rather than stuffing stuff directly
	into the bfd. (sunos4_write_object_contents), changed names of
	accessor functions.

	* aoutx.h: (set_arch_mach) now calls bfd_default_set_arch_mach to
	setup the environment.

	* archive.c: (bfd_slurp_coff_armap) coff archives always have the
	headers in big endian format, regardless of the endianess of the
	host or target.

	* archures.c: totally changed. Now an architecture is represented
	with a pointer to an info structure rather than an enumerated type
	and a long. The old info is available as two elements in the
	structure.  Future enhancements to architecure support will
	involve pointers to methods being placed into the info structure.

	* bfd.c: changed the definition of the bfd structure for the new
	architecture stuff.

	* bout.c: (b_out_set_arch_mach) changed to use the new
	architecture mechanism.

	* coffcode.h: (coff_set_arch_mach, coff_set_flags) changed to use
	the new architecture mechanism.

	* configure.in: added h8 stuff.

	* ieee.c: too many changes to note.  Now ieee files written with
	bfd gas and ld can be read by gld and ieee only linkers and
	simulators.

	* libbfd.c, libbfd.h: changed prototype of bfd_write.

	* newsos3.c: (newos3_callback) now calls bfd_set_arch_mach rather
	than fixing the structure directly.

	* oasys.c: (oasys_object_p) now calls bfd_default_set_arch_mach rather
	than fixing the structure directly.

	* opncls.c: (new_bfd) makes sure that bfd_init has been called
	before opening a bfd.

	* srec.c: (srec_set_arch_mach) now calls bfd_default_set_arch_mach
	rather than fixing the structure directly.

	* targets.c: (target_vector) now by defining SELECT_VECS (perhaps
	in the t/hmake file) a user can select which backends they want
	linked with bfd without changing the source.

	* init.c: new, looks after initializing modules.

	* howto.c: for future use, will allow an application to work out
	what cookie to use as a handle on a relcoatio howto.
1991-10-01 03:43:43 +00:00
John Gilmore 387cbb2bff * srec.c: Better error checking, partly from Peter Schauer.
(srec_object_p):  Avoid assuming any file that starts with 'S' is
an S-record file!  (Check for 3 uppercase-hex digits after it.)
(ISHEX):  Define new macro for checking supposedly hex characters.
(pass_over):  Treat as EOF any S-record line that:
    *  doesn't have hex in either size character
    *  produces a size larger than 0x7F
    *  has an unrecognized type number
1991-09-30 20:50:18 +00:00
John Gilmore fb3be09b66 Lint (saber actually). 1991-09-26 22:28:46 +00:00
Per Bothner ac0167e878 * libaout.h (WRITE_HEADERS): Set header's a_text field always.
* newsos3.c: Fixed two types: newos3 -> newsos3.
1991-09-26 18:40:30 +00:00
Per Bothner d0a27c3b8e Fix bfd_perform_relocation to handle pc-relative relocs better. 1991-09-26 18:26:28 +00:00
Roland Pesch b5493bc4c8 Thu Sep 12 14:07:22 1991 Roland H. Pesch (pesch at cygint.cygnus.com)
* Makefile.in: $(MAKE) for make, $(docdir) for doc
	* doc/Makefile: redundant dependencies for Sun-make VPATH bug
1991-09-12 21:08:51 +00:00
John Gilmore f053b34fe8 * aoutf1.h (sunos4_core_file_p): Release the right storage in error case.
(sunos4_core_file_matches_executable_p):  Fix header comparison.
* aoutx.h:  Avoid shifts of 32 bits, undefined in C.  Lint.
* bout.c, icoff.c, ieee.c, libbfd.c, oasys.c:  gcc -O -W lint.
1991-09-11 04:49:53 +00:00