Commit graph

8350 commits

Author SHA1 Message Date
Jeff Law
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
Jeff Law
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
Jeff Law
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
Jeff Law
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
Jeff Law
7b624bf25c * config/tc-hppa.c (evaluate_absolute): Support e_rrsel and
e_rlsel field selectors.
1993-12-06 01:07:03 +00:00
Jeff Law
e2767a0115 * objdump.c (dump_relocs): Avoid dereferencing a NULL sym_ptr_ptr
in a relocation.
1993-12-05 09:32:06 +00:00
Jeff Law
4861ac76c7 * elf32-hppa.c: (elf_hppa_howto_table): PLABEL and DLT
relocations are not pc-relative.
1993-12-05 03:46:12 +00:00
Jeff Law
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
John Gilmore
ba6c26e314 Fix a few typos. 1993-12-04 03:13:48 +00:00
Ian Lance Taylor
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
Stu Grossman
47dddec52c * config/mips/irix4.mh: Enable ser-tcp.o. 1993-12-03 22:22:05 +00:00
Jeff Law
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
Jeff Law
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
Rob Savoye
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
Rob Savoye
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
Ken Raeburn
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
Ken Raeburn
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
Ian Lance Taylor
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
Ken Raeburn
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
Ian Lance Taylor
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
Ian Lance Taylor
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
Ian Lance Taylor
616d31f397 * configure.in (mips*-sgi-irix5*): New target; use mh-irix5. 1993-12-02 19:37:34 +00:00
Ian Lance Taylor
aab15bdb50 New file for Irix 5 host support. 1993-12-02 19:35:47 +00:00
Ian Lance Taylor
82d76658fb New file for Alpha NetWare. External structure information. 1993-12-02 19:13:59 +00:00
Jeff Law
0a8ae18f38 * Makefile (clean): Depend on clean-here. 1993-12-02 07:37:51 +00:00
Jeff Law
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
Jeff Law
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
Ian Lance Taylor
68eaffda25 Various entries. 1993-12-02 02:22:59 +00:00
Ian Lance Taylor
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
Ian Lance Taylor
f7912fb476 * nlmswap.h: Declare functions. 1993-12-02 02:19:25 +00:00
Ian Lance Taylor
1bbabdad48 New files for preliminary Alpha NetWare support. 1993-12-02 01:46:53 +00:00
Ian Lance Taylor
3fa2ae535b Remove unused declaration from nlmconv.c. Add ChangeLog entry for
Sean's change.
1993-12-02 01:05:45 +00:00
Ian Lance Taylor
a30f59a465 Restore changes clobbered by Sean's check in. 1993-12-02 01:03:03 +00:00
Jason Merrill
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
Ian Lance Taylor
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
Jason Merrill
a0bd8e187b Fix gnatsishness 1993-12-01 23:20:23 +00:00
Ken Raeburn
9a048e4868 changes so far 1993-12-01 23:00:57 +00:00
Ken Raeburn
2713382f20 include fopen-bin.h 1993-12-01 22:53:14 +00:00
Ken Raeburn
848ace961e various 1993-12-01 22:37:57 +00:00
Ken Raeburn
6a6676fbcc handle sparccoff_vec 1993-12-01 22:27:03 +00:00
Ken Raeburn
5984f609d0 declare sparccoff_vec 1993-12-01 22:26:33 +00:00
Ken Raeburn
fff9ad371a handle sparc*-*-coff* 1993-12-01 22:26:06 +00:00
Ken Raeburn
d05ac46bc6 * configure.in: Group targets by CPU. Merge some m68k target entries with
different CPU specs that use the same ld_target values.

* configure.in: Add sparc*-*-coff.
* config/coff-sparc.mt, emulparams/coff_sparc.sh: New files.
* Makefile.in (ALL_EMULATIONS): Add em_coff_sparc.o.
(em_coff_sparc.c): Add dependencies and build rules.
1993-12-01 22:14:05 +00:00
Ken Raeburn
9acba7e204 New file for bare sparc-coff support. 1993-12-01 22:12:20 +00:00
Ian Lance Taylor
2f555d79cd Various entries. Added entries for NetWare changes made by Sean a
couple of weeks ago.
1993-12-01 20:06:43 +00:00
Ian Lance Taylor
074c4a12b1 Added copyright notice and comments. 1993-12-01 20:01:08 +00:00
Ian Lance Taylor
e92512bb28 * hosts/alphaosf.h (uint64_typeLOW, uint64_typeHIGH): Cast results
to unsigned long.
1993-12-01 19:51:19 +00:00
Ian Lance Taylor
5dac2dd5a4 * config.bfd: Don't set target64 here, as the setting is ignored.
* configure.in (ecoffalpha_little_vec): Set target64.
1993-12-01 19:47:15 +00:00
Ian Lance Taylor
4aed7f2496 * bfd-in.h (uint64_typeLOW, uint64_typeHIGH): Fully parenthesize
for clarity.
	(fprintf_vma, sprintf_vma): Use %lx, not %x.
	* bfd-in2.h: Rebuilt.
1993-12-01 19:41:16 +00:00
Ian Lance Taylor
4032d3f09e * config/tc-mips.c (macro): From wilson@cygnus.com: for M_L_DAB,
set coproc before doing goto ld.
1993-12-01 19:26:45 +00:00