8358 Commits

Author SHA1 Message Date
b60f658495 * configure.in: Recognize mips* for all mips targets.
(mips*el-*-elf*, mips*-*-elf*): New targets; use idt and idtl.
1993-12-06 18:34:07 +00:00
e03c0cc670 Added Irix 5 support.
* configure.in (mips-sgi-irix5*): New host and target.  Use irix5
	for both.
	* config/mips/irix5.mh, config/mips/irix5.mt,
	config/mips/xm-irix5.h, config/mips/nm-irix5.h,
	config/mips/tm-irix5.h, irix5-nat.c: New files for Irix 5 support.
	* mdebugread.c: New file, split out of mipsread.c.  Added
	elfmdebug_build_psymtabs routine.  Added some checks on external
	symbols.  Changed code to keep ecoff_debug_info and
	ecoff_debug_swap structs in the psymtab and in global pointers
	rather than retrieving them from the bfd.  Also changed to keep
	the pending list with the psymtab rather than the objfile (each
	psymtab for a single objfile points to the same pending list).
	* mipsread.c: Bulk of file moved into mdebugread.c, leaving just
	the sym_fns.
	* Makefile.in (SFILES): Added mdebugread.c.
	(OBS): Added mdebugread.o.
	(mdebugread.o): New target.
	* symfile.h: Declare mdebug_build_psymtabs and
	elfmdebug_build_psymtabs.
	* elfread.c (struct elfinfo): Added mdebugsect field.
	(elf_locate_sections): Remember location of .mdebug section.
	(elf_symfile_read): Call elfmdebug_build_psymtabs on .mdebug
	section.
	* infrun.c (AT_FUNCTION_START): Set to 0 if not already defined.
	(wait_for_inferior): Use AT_FUNCTION_START if it is defined to see
	if PC is at the start of a function.
	* mips-tdep.c (read_next_frame_reg): Use SIGFRAME_REG_SIZE, and
	give it a default definition.
	(mips_skip_prologue): Skip instructions which initialize $gp
	register.
	(in_sigtramp): New procedure, moved in from mipsread.c.
	* config/mips/tm-mips.h: Declare in_sigtramp.
1993-12-06 17:31:05 +00:00
a17535c780 * serial.h (serial_fdopen): Make parameter const to match
function definition.
1993-12-06 17:18:06 +00:00
a2f1e2e5f8 New files for Irix 5 support. 1993-12-06 17:12:23 +00:00
eb91665b4c * config/obj-som.c (obj_som_version): Pass version string to
SOM BFD backend.
        (obj_som_copyright): New function.  Much like obj_som_version.

        * config/tc-hppa.c (obj_copyright): Define as appropriate for
        SOM and ELF.
        (pa_copyright): Just a stub now.
1993-12-06 08:55:06 +00:00
f6c2300b0a * som.c (som_begin_writing): Flesh out code for handling simple
auxiliary headers.
        (bfd_som_attach_aux_hdr): New function.

        * som.h (struct somdata): Add fields for attaching version and
        copyright headers.  Add accessor macros.
1993-12-06 08:53:53 +00:00
42ecb40985 * config/obj-som.c (obj_read_begin_hook): Delete unused function.
* config/obj-som.h (obj_read_begin_hook): Provide dummy definition.
        (TARGET_SYMBOL_FIELDS): Delete.  SOM isn't making use of them.
1993-12-06 07:19:13 +00:00
9934dce825 Unsnarl xref for h8 config (while making sure it still works for "all" config) 1993-12-06 07:14:16 +00:00
744069b8ab * som.c (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Add protected
definitions for old versions of HPUX which fail to define them.
        (som_hppa_howto_talbe): Add R_DLT_REL, R_AUX_UNWIND, and R_SEC_STMT
        now that they're safe.  Delete bogus R_STATEMENT relocations.
1993-12-06 06:55:48 +00:00
017a52d7a9 * som.c (som_hppa_howto_table): Add missing R_END_TRY. Delete
extra R_DATA_OVERRIDE.
        (hppa_som_gen_reloc_type): Generate a relocation for the rounding
        mode selector if needed.
        (som_write_fixups): Handle requests for a change in the default
        rounding mode.  Rounding modes do not consume input bytes, but
        are just markers much like R_ENTRY and R_EXIT.
1993-12-06 03:33:06 +00:00
9fad66b50b * gas/hppa/reloc/roundmode.s: New test.
* gas/hppa/reloc/reloc.exp: Run it.  Fix typo in last change.
1993-12-06 03:26:33 +00:00
4165dcc239 * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle relocation
expansion due to rounding mode selectors.  Handle R_[RDSN]_MODE
        relocations for selecting the current rounding mode.
1993-12-06 03:24:49 +00:00
7b624bf25c * config/tc-hppa.c (evaluate_absolute): Support e_rrsel and
e_rlsel field selectors.
1993-12-06 01:07:03 +00:00
e2767a0115 * objdump.c (dump_relocs): Avoid dereferencing a NULL sym_ptr_ptr
in a relocation.
1993-12-05 09:32:06 +00:00
4861ac76c7 * elf32-hppa.c: (elf_hppa_howto_table): PLABEL and DLT
relocations are not pc-relative.
1993-12-05 03:46:12 +00:00
48eb5281b5 Fri Dec 3 09:55:17 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
* hppa_stubs.h: (BLE_N_XXX_0_31):  New instruction used in
        linker stub code.
        (COPY_2_31):  Likewise.
1993-12-05 03:41:25 +00:00
ba6c26e314 Fix a few typos. 1993-12-04 03:13:48 +00:00
ecb2d88791 * config/solaris2.mh (HDEFINES): Remove -Dconst=
* hosts/solaris.h: If not __GNUC__, define const as empty.
1993-12-03 23:42:59 +00:00
47dddec52c * config/mips/irix4.mh: Enable ser-tcp.o. 1993-12-03 22:22:05 +00:00
585635c706 Fri Dec 3 09:47:30 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
* tc-hppa.c: (tc_gen_reloc): Addend for a plabel relocation should
        be either 0 or 2 (no static link or static link required).  Always
        assume no static link.
1993-12-03 19:20:30 +00:00
753dcbbd0b * config/tc-hppa.c (md_apply_fix): Delete old wrapper function.
(md_apply_fix_1): Rename to md_apply_fix.  Fix argument decls.
	Fix comments in various places.  Always return a value.
	Avoid dereferencing a NULL fx_addsy.
	(hppa_force_relocation): Avoid dereferencing a NULL fx_addsy.
1993-12-03 18:57:28 +00:00
00d8666550 * config/unix.exp: Add global before seeing if the variables for
nm, objdump, and size exist.
1993-12-03 04:07:15 +00:00
2031a59499 * Makefile.in: Remove some stuff from the site.exp file.
* config/unix.exp: Add global before seeing if the variables for
        nm, objdump, and size exist.
1993-12-03 04:06:44 +00:00
9919256d50 Deleted RCS crap, since it frequently seems to wind up being the only
thing "changed", and somehow cvs thinks the file has really been modified.
1993-12-03 03:12:35 +00:00
bfbfba45ba Lots of changes for:
- sparc[lite]-coff as well as sparc-lynx
 - producing coff (including debug info) under BFD_ASSEMBLER option
 - cleanup of cpu-specific code in non-cpu-specific files
   (especially write.c)
 - providing common code to avoid duplication in cpu-specific files
   (specifically, md_number_to_chars)
 - stylistic changes & misc cleanup

================

* config/tc-sparc.c (tc_gen_reloc): Make adjustment to addend be dependent on
howto fields, not on format flavour.

* struc-symbol.h (struct symbol): New fields sy_obj and sy_tc, defined as types
OBJ_SYMFIELD_TYPE and TC_SYMFIELD_TYPE, if those macros are defined.
* config/obj-coff.h (TC_SYMFIELD_TYPE, OBJ_SYMFIELD_TYPE): Define.
(TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): Don't define.
(sy_tc, sy_obj): Define so that the fields look like they used to, until all
references get changed.

* write.c (fixup_segment): Lots of variables no longer register.  Reordered
some code for easier reading.
* config/obj-coff.c (obj_coff_dim): dim_index no longer register.  Deleted
superfluous return statement.
(obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_type, obj_coff_val,
tag_init, tag_insert): Deleted superfluous return statement.
(align, obj_coff_section): Deleted debugging printfs.
* config/tc-i386.c (md_assemble): Discard some register decls.  Use assignment
rather than memcpy to copy template.
(op_hash, reg_hash, prefix_hash): Default C initialization of statics is
sufficient.
* config/tc-sparc.c (print_insn): Array Reloc is now const, and points to
const.

* config/obj-coff.h (TARGET_FORMAT): Only use coff-sparc-lynx if TE_LYNX; use
coff-sparc otherwise.
[USE_NATIVE_HEADERS]: Delete this code; it isn't used.

* write.c (fixup_segment): Call TC_VALIDATE_FIX, if defined, before processing
a fixup.  Call TC_ADJUST_RELOC_COUNT just before returning.  Remove some
i960-coff-specific code.
(TC_ADJUST_RELOC_COUNT): Default to doing nothing.
* config/tc-i960.h (TC_ADJUST_RELOC_COUNT) [OBJ_COFF]: Define.
(i960_validate_fix): Declare.
(TC_VALIDATE_FIX): Define.
* config/tc-i960.c (i960_validate_fix): New function.

* write.c (number_to_chars_littleendian): New function.  Write out bytes in
little endian order, doing size and range checking.
(number_to_chars_bigendian): New function, similar.
* write.h: Declare them.
* config/tc-*.c (md_number_to_chars): Use them.
* config/tc-vax.c (md_apply_fix): Ditto.
* config/tc-i386.c (md_apply_fix): Ditto.

* config/obj-coff.c: Rearranged code for handling line number data.
(line_fsym): Renamed from function_lineoff in BFD_ASSEMBLER case, since the
usage is different from non-BFD_ASSEMBLER case.
(in_function, clear_function, set_function): New macros, to combine some of the
functionality implemented in differnet ways in BFD_ASSEMBLER and non-... code.
Used in other functions that used to check function_lineoff &c.
(obj_emit_lineno): Split into two copies, one for BFD_ASSEMBLER, one for not.
Non-BFD_ASSEMBLER version now has temporary variable to contain char* pointer
pointed to by char** argument.  Always follow CROSS_COMPILE code; easier to
read that way.
(obj_coff_ln): Don't call add_lineno or c_line_new if appline is set.
(obj_coff_endef) [BFD_ASSEMBLER]: Don't do anything special for ".bf", it's
been done elsewhere.
(coff_frob_symbol): If ilne number data is pending, call add_linesym to flush it.
(coff_frob_file): Don't do that here.
* config/obj-coff.h (coff_frob_file): Declare.
(obj_frob_file): Define, to call it.

* config/tc-sparc.h (md_create_short_jump, md_create_long_jump,
md_estimate_size_before_relax: Define them as macros calling as_fatal.
* config/tc-sparc.c: Don't define them as functions.
1993-12-03 03:10:08 +00:00
4919d3ab70 * ecoff.c: Added various casts for 32/64 bit cross targeting.
(ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo
	section so that the linker ignores it.
	* ecofflink.c: Added various casts for 32/64 bit cross targeting.
	(ecoff_add_bytes): Changed need argument to size_t.
	(bfd_ecoff_debug_link_other): Check return value of
	ecoff_add_string.
1993-12-02 23:27:15 +00:00
c82bea8499 Since newlib claims not to support the alpha, don't try to configure newlib
for an alpha target.
1993-12-02 22:19:44 +00:00
800748cdfc * libnlm.h (struct nlm_obj_tdata): New field backend_data.
(nlm_backend_data, nlm_alpha_backend_data): New accessor macros.
	(struct nlm_backend_data): New field no_uninitialized_data.
	(nlm_no_uninitialized_data): New accessor macro.
	* nlmcode.h (nlm_compute_section_file_positions): Handle
	no_uninitialized_data.
	(nlm_external_reloc_compare): Sort relocs by address for a
	particular symbol, to make the sort more stable.
	(nlm_write_object_contents): Cast the arguments to qsort.  Get the
	value of a debugging symbol the same way we get the value of a
	normal symbol.
	* nlm32-alpha.c: Various changes.  Write out GP and .lita relocs.
	Set no_uninitialized_data to true.
	* nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c
	(nlm32_sparc_backend): Set no_uninitialized_data field false.
	* nlmswap.h (nlm_swap_fixed_header_out): Zero out destination
	before filling it in.
1993-12-02 20:52:25 +00:00
04b9315f60 * configure.in: Don't build ld for Irix 5. Don't build gas,
libg++ or libio for any Alpha target.
1993-12-02 19:41:14 +00:00
616d31f397 * configure.in (mips*-sgi-irix5*): New target; use mh-irix5. 1993-12-02 19:37:34 +00:00
aab15bdb50 New file for Irix 5 host support. 1993-12-02 19:35:47 +00:00
82d76658fb New file for Alpha NetWare. External structure information. 1993-12-02 19:13:59 +00:00
0a8ae18f38 * Makefile (clean): Depend on clean-here. 1993-12-02 07:37:51 +00:00
af5ede6e65 * gdb.disasm/hppa.exp (all_fpu_memory_tests): Test FP quadword
stores.
        * gdb.disasm/hppa.s (fpu_memory_indexing_tests): Add FP quadword
        stores.
        (fpu_short_memory_tests): Likewise.
1993-12-02 05:55:34 +00:00
a7f6a456c8 * som.c (som_section_type, som_decode_symcalss): New functions.
(som_get_symbol_info): Use them.
        (som_slurp_symbol_table): Set the section of common and undefined
        symbols correctly.
1993-12-02 05:48:46 +00:00
68eaffda25 Various entries. 1993-12-02 02:22:59 +00:00
cdbfad1cd7 * libnlm.h (struct nlm_backend_data): New fields
optional_prefix_size, nlm_backend_object_p, nlm_write_prefix,
	nlm_set_public_section, nlm_get_public_offset.  Removed unused
	nlm_write_reloc field.  Changed nlm_write_import to remove
	unnecessary symbol argument.  Renamed nlm_write_externals to
	nlm_write_external, and changed cound argument from bfd_vma to
	bfd_size_type.
	(nlm_optional_prefix_size, nlm_backend_object_p_func,
	nlm_write_prefix_func, nlm_set_public_section_func,
	nlm_get_public_offset_func): New accessor macros.
	(nlm_write_reloc_func): Removed.
	(nlm_write_external_func): Adjusted for field renaming.
	* nlm32-i386.c (nlm_i386_write_import): Renamed from
	nlm_i386_write_reloc.  Removed old nlm_i386_write_import which
	just called old nlm_i386_write_reloc.
	(nlm_i386_write_external): Renamed from nlm_i386_write_externals.
	Declared.  Changed second argument from bfd_vma to bfd_size_type.
	(nlm32_i386_backend): Adjusted for changes to fields and names.
	* nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused,
	ifdeffed out code.
	(nlm_sparc_write_import): Removed second argument.
	(nlm_sparc_write_external): Renamed from
	nlm_sparc_write_externals.  Changed second argument from bfd_vma
	to bfd_size_type.
	(nlm32_sparc_backend): Adjusted for changes to fields and names.
	* nlmcode.h: Removed some unused code.
	(nlm_object_p): Don't destroy tdata pointer.  Call
	backend_object_p function if it exists.
	(nlm_slurp_symbol_table): Removed unused variable rcount.  Call
	set_public_section_func if it exists instead of checking
	NLM_HIBIT.
	(nlm_compute_section_file_positions): Account for
	optional_prefix_size.
	(nlm_write_object_contents): Account for optional_prefix_size.
	Removed useless variable write_reloc_func.  Changed declaration
	and call of write_import_func.  Call write_prefix_func if it
	exists.  Removed unused variables len and temp.  Call
	get_public_offset_func if it exists rather than setting NLM_HIBIT.
1993-12-02 02:22:35 +00:00
f7912fb476 * nlmswap.h: Declare functions. 1993-12-02 02:19:25 +00:00
1bbabdad48 New files for preliminary Alpha NetWare support. 1993-12-02 01:46:53 +00:00
3fa2ae535b Remove unused declaration from nlmconv.c. Add ChangeLog entry for
Sean's change.
1993-12-02 01:05:45 +00:00
a30f59a465 Restore changes clobbered by Sean's check in. 1993-12-02 01:03:03 +00:00
d8aa61eb11 Wed Dec 1 17:00:33 1993 Jason Merrill (jason@deneb.cygnus.com)
* Makefile.in (GZIPPROG): Renamed from GZIP, which gzip uses for
	default arguments -- so it tried to compress itself.
1993-12-02 01:01:53 +00:00
8e964b071d * ldgram.y (OPTION_Oval): New token.
(command_line_option): Accept and ignore it.
	* ldlex.l (<COMMAND>): Handle -On where n is a number.
1993-12-02 00:25:48 +00:00
a0bd8e187b Fix gnatsishness 1993-12-01 23:20:23 +00:00
9a048e4868 changes so far 1993-12-01 23:00:57 +00:00
2713382f20 include fopen-bin.h 1993-12-01 22:53:14 +00:00
848ace961e various 1993-12-01 22:37:57 +00:00
6a6676fbcc handle sparccoff_vec 1993-12-01 22:27:03 +00:00
5984f609d0 declare sparccoff_vec 1993-12-01 22:26:33 +00:00
fff9ad371a handle sparc*-*-coff* 1993-12-01 22:26:06 +00:00