Commit Graph

641 Commits

Author SHA1 Message Date
Ken Raeburn
6668a0624d subsegs.c: fix EMIT_SECTION_SYMBOLS handling 1994-08-26 21:49:10 +00:00
Ian Lance Taylor
20ae2fb832 * config/tc-mips.h (LOCAL_LABEL): Define as 0, for compatibility
with native MIPS assembler.
	* configure.in (mips-*-irix*): Don't set emulation.
	* config/te-irix.h: Remove.
With these changes, gas works with mips-tfile.
1994-08-24 23:46:53 +00:00
Ian Lance Taylor
fd4f335ccf * ecoff.c (ecoff_symbol_new_hook): Don't add a new file if we
haven't seen any input files yet.
	* config/tc-alpha.c (md_begin): Just call symbol_create, rather
	than calling symbol_new and then removing the symbol from the
	list.
With these changes, Alpha gas will work with mips-tfile.
1994-08-24 22:10:14 +00:00
Ian Lance Taylor
a2a1a548c7 gcc lint.
* as.c (main): Move a inside the #if 0 block which uses it.
	* ecoff.c (current_stabs_filename): Make const.
	* frags.h (frag_align_pattern): Declare.
	* gasp.c (new_file): Cast isp to long, and use %ld to print it.
	* config/tc-alpha.h (md_operand): Add cast to void.
	(alpha_do_align): Declare argument types.
	(tc_get_register): Declare.
	(alpha_frob_ecoff_data): Declare.
	* config/tc-alpha.c: Include <ctype.h>.
	(s_mask): Don't declare; does not exist.
	(line_comment_chars): Remove /* from descriptive comment.
	(tc_get_register): Remove unused local reg.
	(tc_gen_reloc): Don't bother to compare unsigned to zero.
	(s_base): Correct warning to actually print register number.
	(md_begin): Remove unused locals retval, lose, and i.
	(alpha_fix_adjustable): Move default case inside switch to avoid
	warning.
	(load_symbol_address): Remove unused locals reloc_addr, p, sym,
	and addend.
	(emit_byte_manip_r): Declare types for all arguments.
	(emit_extract_r, emit_insert_r, emit_mask_r): Likewise.
	(emit_sign_extend, emit_bis_r, s_proc): Likewise.
	(alpha_ip): Use sprint_value to print offsetT value.  Remove
	unused local size.  Remove unused label get_macro.
	(alpha_do_align): Make fill const.
	(md_apply_fix): Remove unused label check_zov.
1994-08-24 21:48:18 +00:00
Ian Lance Taylor
904b6037e8 * configure.in: Recognize i586 as a synonym for i[34]86. 1994-08-24 16:48:38 +00:00
Jeff Law
f3b7067941 * gas/config/tc-hppa.c (pa_comm): Set sy_frag for the common
symbol to the zero address frag.
1994-08-16 18:28:12 +00:00
Jeff Law
2cffb4f411 * config/tc-hppa.c (pa_comm): Set sy_resolved for the common
symbol.
1994-08-16 07:54:06 +00:00
Ian Lance Taylor
101fbf7ed7 * config/tc-mips.c (md_begin): Drop "el" from the end of
TARGET_CPU.  Check for mips64orion.
1994-08-12 21:55:42 +00:00
Stu Grossman
a1dafd5511 * configure.in: Recognize ppc-*-netware.
* config/te-ppcnw.h:  New file to support Power-PC/Netware
	configurations.  Currently, it just enables the use of backslash
	escapes in string directives.
1994-08-10 02:47:48 +00:00
Ian Lance Taylor
8e4796369a * config/tc-ppc.c (ppc_stabx): Call expression directly, rather
than via pseudo_set.  If expression is a symbol, move stab symbol
	to just after symbol from expression.
1994-08-09 20:06:58 +00:00
Ian Lance Taylor
c9a89891b5 * ecoff.c (ecoff_build_procs): Don't force adr of first fdr to be
zero.  Undoes change of June 4, 1993.
1994-08-09 18:11:30 +00:00
Ian Lance Taylor
55933a587a * config/tc-mips.c (md_parse_option): Accept -mcpu=4400, 4600, and
orion.
1994-08-09 15:18:26 +00:00
Jeff Law
1503edcce9 * gas/config/tc-hppa.c (md_pseudo_table): Delete redundant
upper-case versions of the pseudo-ops.
1994-08-08 18:10:36 +00:00
Ian Lance Taylor
2cd14ddcae * config/tc-sparc.c (md_apply_fix): If we are going to generate a
non PC relative reloc, don't put the addend in the object file.
1994-08-08 17:46:00 +00:00
Steve Chamberlain
6670b7f3e4 Sat Aug 6 01:15:02 1994 Steve Chamberlain (sac@jonny.cygnus.com)
* as.h: If FOPEN_WB is not defined, do the right thing in a go32
	environment.

Mon Jul 11 11:34:52 1994  Steve Chamberlain  (sac@jonny.cygnus.com)

	* config/tc-h8300.c (pint): New function for handling varying
	size of int pseudo op.
	* doc/as.texinfo: Fix typo describing .h8300h pseduop.
1994-08-06 08:23:09 +00:00
Jeff Law
fbf718862a * config/tc-hppa.c (create_new_space): Initialize sd_subspaces
field in the space chain.
1994-08-01 20:12:41 +00:00
Jeff Law
363d615082 * config/tc-hppa.c (tc_gen_reloc): Cast return value from
hppa_gen_reloc_type.
1994-08-01 08:46:08 +00:00
Ken Raeburn
5e0a90a8d7 * tc-sparc.c (sparc_ip): Check more carefully for conflicting architectures.
(md_parse_option) [NO_V9]: Complain if v9 was selected.
(md_show_usage): Derive architecture list in usage message from
architecture_pname array.
(cypress): Macro deleted.
(op_hash): Don't initialize.
(s_common): Use bfd_und_section_ptr instead of bfd_und_section.
(BSR): New function.
(sparc_ip): Use it for right-shift operations of 32 bits or more.
(sparc_ip): Implement new operand type 'x'.
1994-07-28 23:36:16 +00:00
Ken Raeburn
10db66ecfd I80960XL support (sanitized), misc cleanup:
* config/tc-i960.h (TC_COFF_SET_MACHINE): New macro.  Calls tc_headers_hook.

* config/tc-i960.c (targ_has_iclass): Use I_CX | I_CX2 where I_CX was used
previously.
(tc_headers_hook): If I_CX2 is found, set flags to F_I960CA.

* config/tc-i960.c (po_hash): Declaration deleted.
(next_object_file_charP): Ditto.
(regnames, aregs, coj): Now const.
(parse_memop): Static array def_scale now const.
(md_begin): Cast away const when passing hash routines addresses of values in
regnames or aregs.
(md_longopts): Added "link-relax" and "no-relax" hyphenated forms.  Continue to
accept one-word forms.
(struct tabentry, arch_tab): Moved to top level from inside md_parse_option.
Now const.
(md_show_usage): Use arch_tab to generate usage message.  Print hyphenated
forms of relax options.

* config/tc-i960.h (DEFINE_I960_AOUT, TC_S_IS_*, TC_S_*_SYSPROC,
TC_S_FORCE_TO_*): Moved from here...
* config/tc-i960.c: ... to here.  Changed DEFINE_I960_AOUT stuff to test
OBJ_AOUT and OBJ_BOUT directly.

* config/tc-i960.h (CTRL, COBR, COJ, REG, MEM*, FBRA, CALLJ, M1-M3, REG_OPC,
R_*, SFR, LIT, FP, OP, R, RS, RL, RSL, F, {R,F}{,L}{2,4}, M, SFR_OK, LIT_OK,
FP_OK, REG_ALIGN, MEMOP, I_*): Macros deleted.

* config/tc-i960.c (ARCH_XL): Define.
(arch_tab): Include XL.
(targ_has_sfr, targ_has_iclass): Handle XL.
(tc_headers_hook): Set flags to F_I960XL for i960XL.
1994-07-27 00:58:19 +00:00
Ken Raeburn
39792caf99 Some bits of COFF cleanup, and i960-coff support:
* config/obj-coff.h: Moved common includes and TARGET_FORMAT definitions
together.
(WORKING_DOT_WORD, WARN_SIGNED_OVERFLOW_WORD, OBJ_COFF_OMIT_OPTIONAL_HEADER,
BFD_HEADERS, BFD) [!BFD_ASSEMBLER]: Moved these definitions to the start of the
file, before the includes.
(SYMBOLS_NEED_BACKPOINTERS, OBJ_COFF_MAX_AUXENTRIES): Always define these.
(S_GET_ZEROES): Deleted.
(S_SET_ZEROES): Moved to obj-coff.c.

* config/obj-coff.c (obj_coff_* psuedo-op fns): Deleted forward declarations.
(obj_pseudo_table): Moved to one version end of file, conditionalized
internally.
(stack typedef, stack_init, stack_delete, stack_push, stack_pop, tag_hash,
tag_init, tag_insert, tag_find, tag_find_or_make): Moved to one combined
version at top of file, unconditional.  Deleted forward declarations.
(s_get_name): Moved one copy of declarations to start of file.
(def_symbol_in_progress): Ditto.  Don't initialize.
(S_SET_ZEROES): Moved here from obj-coff.h.
(write_object_file): If TC_COFF_SET_MACHINE is defined, call it on the file
headers.

* config/obj-coff.c (seg_info_off_by_4): Now const and static.
(SEG_INFO_FROM_SEG_NUMBER): Unused macro deleted.
(previous_file_symbol, def_symbol_in_progress, symbol_externP,
symbol_extern_lastP, last_functionP) [!BFD_ASSEMBLER]: Don't bother explicitly
initializing to zero value.

* config/obj-coff.c (fixup_segment) [TC_I960]: Use SF_GET_BALNAME and
SF_GET_CALLNAME instead of the TC_S_IS_ versions.
1994-07-27 00:37:46 +00:00
Ken Raeburn
462ab71d9b deleted atof-ns32k.c, no longer used 1994-07-14 21:58:13 +00:00
Ken Raeburn
259e35d4e9 updated ns532 support from Ian Dall 1994-07-14 18:58:06 +00:00
Ken Raeburn
3b6d6f715f * config/obj-aout.c (obj_aout_frob_symbol): Use bfd_ind_section_ptr and
bfd_und_section_ptr.

* subsegs.c (subseg_set_rest): Compare segT values directly, without casting to
int first.
1994-07-14 18:40:36 +00:00
Ian Lance Taylor
4ac7a9e49f * config/tc-m68k.c (m68k_ip): Change rp to be a const pointer.
(md_parse_option): Clear cpu field of current_architecture before
	setting a new cpu type.  Clear no_68881 for m68881 or m68882.
	Clear no_68851 for m68851.
1994-07-13 18:58:11 +00:00
Ken Raeburn
3c498933ab Updated some copyrights, cleaned up some header-file comments, and:
* symbols.c (symbol_create): New function, most of the guts of the old
symbol_new function.
(symbol_new): Now just checks symbol_table_frozen, calls symbol_create, and
enters the symbol into the symbol table.
* subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true, and the
symbol table is frozen, call symbol_create instead of symbol_new.
* symbols.h (symbol_create, symbol_table_frozen): Declare.

* symbols.c (symbol_clear_list_pointers): Always a function now.
* struc-symbol.h (symbol_clear_list_pointers): Deleted macro version.

* symbols.c (debug_verify_symchain): New macro, defined to be
verify_symbol_chain or a cast to void, depending on DEBUG_SYMS.
(many functions): Invoke debug_verify_symchain unconditionally.
1994-07-13 01:48:15 +00:00
Ken Raeburn
6b510a40ae config/ho-sysv.h (realloc): Declare. 1994-07-13 01:28:47 +00:00
Kung Hsu
a85cd2890c Modified Files:
read.c ecoff.h ecoff.c ChangeLog

        * read.c (read_a_source_file): ditto.
        * ecoff.h: change calling interface of
        ecoff_generate_asm_line_stab.
        * ecoff.c (add_file): record of filename to handle case of include
        files, also change default built-in type from int to void for
        asm file.
        * ecoff.c (ecoff_generate_asm_line_stab): handle case of include
        files.
1994-07-12 19:17:35 +00:00
Ian Lance Taylor
51d8e5aeba * config/tc-mips.c (macro): In case M_LA_AB, SVR4_PIC, large
constant, and case ldd_std, set mips_optimize to 2 temporarily to
	avoid inserting an unexpected nop instruction.
1994-07-11 21:24:08 +00:00
Ian Lance Taylor
64d527f761 * ecoff.c (ecoff_build_lineno): Handle count correctly for last
line number.
1994-07-09 04:11:19 +00:00
Steve Chamberlain
6f15d409d0 * (process_pseudo_op): Pass right are do do_aif.
(get_any_string): New arg 'pretend_quote'.
	(get_and_process, do_formals, macro_expand, do_sdata,
	process_pseudo_op): Use new arg.
1994-07-08 22:34:11 +00:00
Kung Hsu
daad3bbf95 Modified Files:
read.c read.h ecoff.c ecoff.h ChangeLog

        * read.c (read_a_source_file): generate line stabs for asm file.
        * read.h: add extern generate_asm_line_stab.
        * ecoff.h : add prototype for ecoff_generate_asm_line_stab().
        * ecoff.c (add_file): if there's no filename provided, set switch
        to generate line stabs for .s file.
        * ecoff.c (add_procedure): add stabs symbol for .ent directive.
        * ecoff.c (generate_ecoff_stab): creates an artificial stabs.
        * ecoff.c (generate_asm_line_stab): generate a artifitial label
        for each line and generate a stabn for the line.
1994-07-08 19:38:18 +00:00
Steve Chamberlain
13d9fd33a4 * gasp.c (get_any_string): Cope with getting a string with an
alternate base specifier.
	(do_aif, do_aelse): Only enable output if expression is true and previous
	level was on.
	(chartype_init):  Add BASEBIT chartype.
	(process_pseudo_op):  Notice nesteed AIFs.
1994-07-08 00:13:14 +00:00
Jeff Law
8fd04cbacc * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions for
symbols in DLT relative relocs.
	(tc_gen_reloc): Zero out the addend field for DLT relative relocs.
1994-07-07 17:35:27 +00:00
Ian Lance Taylor
8882a587d9 * config/tc-ppc.c (ppc_tc): If not OBJ_COFF, force TOC entry to
align to a four byte boundary.
1994-07-06 05:14:48 +00:00
Ken Raeburn
10f67315f9 some internals doc updates 1994-07-05 21:00:22 +00:00
Ken Raeburn
4174e05265 handle 32-bit addends in exprs on alpha 1994-07-05 20:51:39 +00:00
Ian Lance Taylor
bcb62abf05 * config/obj-elf.h (S_GET_ALIGN, S_SET_ALIGN): Define.
* config/obj-elf.c (obj_elf_common): Set alignment of common
	symbol.
	* config/tc-sparc.c (s_common): If OBJ_ELF, set alignment of
	common symbol.
1994-07-05 18:06:33 +00:00
Jeff Law
655f3ef4af * config/tc-hppa.c (is_complex): New macro.
(cons_fix_new_hppa): "Handle" complex expressions.
1994-07-05 00:37:14 +00:00
Ken Raeburn
04f0c2e34b Some updates for const-ness added to BFD structures. 1994-06-30 19:09:58 +00:00
Ian Lance Taylor
f255457995 * config/tc-mips.c (macro): For M_LI_SS, decide how to handle it
based on contents of imm_expr and offset_expr, rather than
	mips_pic.  For M_LI_DD, decide how to handle it based on segment
	name of offset_expr, rather than mips_pic.
	(mips_ip): If g_switch_value < 4, use immediate values for 'l'.
	If g_switch_value < 8, use .rdata rather than .lit for 'L'.
1994-06-30 18:47:29 +00:00
Stan Shebs
6f0b87c329 * as.c (show_usage): Break long string into shorter ones.
(parse_args): Add -v, prints version id and continues.
	* config/tc-mips.c (md_show_usage): Break long string.
1994-06-30 00:55:33 +00:00
Stan Shebs
f488a4d631 * as.c (main) [HOST_SPECIAL_INIT]: New hook, for host-specific
initialization.
1994-06-26 23:36:46 +00:00
Jeff Law
1f12ae43c7 * config/tc-hppa.h (obj_frob_symbol): Define for OBJ_ELF.
More gas/bfd lossage exposed by the new linker code.
1994-06-22 06:32:54 +00:00
Ian Lance Taylor
dff770c8d6 * subsegs.c (abs_seg_info, und_seg_info): Define if BFD_ASSEMBLER.
(subseg_change): Store seg_info for bfd_abs_section_ptr in
	abs_seg_info, and store seg_info for bfd_und_section_ptr in
	und_seg_info.
	(subseg_get): Likewise.  Also, don't set output_section if it is
	already set.
	(seg_info): Define as function.
	* subsegs.h (seg_info): Declare as function rather than defining
	as macro.
	* write.c (relax_and_size_seg): Call seg_info rather than
	bfd_get_section_userdata.
1994-06-21 16:45:09 +00:00
Ken Raeburn
639c820dae handle target ppc-*-elf*, for zoo. 1994-06-20 20:36:56 +00:00
Ken Raeburn
e0b36f18e7 expr.c (operand): If "0f" is followed by '\0', don't do eol checks. 1994-06-20 20:34:35 +00:00
Ian Lance Taylor
256816cae7 * ecoff.c (ecoff_build_aux): Call swap_tir_out and swap_rndx_out
via backend pointer, not directly.
1994-06-20 19:25:41 +00:00
Ian Lance Taylor
de442a3c57 * Makefile.in (config-stamp): Make sure there is at least one
element in the for loop.
1994-06-17 22:08:59 +00:00
Jeff Law
239f16dda0 * config/tc-hppa.c: Misc trivial changes to make gcc -Wall happy. 1994-06-17 18:09:16 +00:00
Jeff Law
0e68b3bca1 * config/tc-hppa.h (elf_hppa_final_processing): Declare. 1994-06-17 17:13:13 +00:00